【技术实现步骤摘要】
IC设计数据的比较与合并相关申请本申请是于2013年9月25日提交的美国专利申请14/036,734的继续申请,并且要求其优先权。在此通过引用的方式将上面的申请的全部示教并入本文。
技术介绍
随着任何数据随时间而发展,潜在地由工作于单独的副本上的多个人生成了数据的多个版本(例如,数据文件、数据库、数据存储)。在各种时刻,期望比较数据的不同版本,并且潜在地将由不同的编辑工作做出的改变合并到数据的每一个版本中。对于以一个或多个“文本”文件形式的数据(例如,简单的文本文档),已经开发了许多工具,它们使用各种算法用于识别做出了什么改变,并且用于提供接口以组合这些改变。所有这些算法一般都通过识别相同的或不同的文件“区域”来进行操作。这些“区域”一般采取文件的一行或多行的形式。一旦识别出差异,合并通常涉及从“结果”文件简单地增加和/或删除行,以更好地匹配源文件。在集成电路(IC)设计环境中,IC数据通常不采取简单的“文本”文件的形式,而是代替为以“数据库”的形式,例如,一个或多个二进制文件、数据存储、数据库或者其它类型的IC数据。IC数据可以包括具有各种不同“属性”的(非常)大量的各种类型的“对象”。从其本质而言,与“文本”文件截然不同的是,IC设计通常是是三维的,其具有多个层(例如,金属1、金属2和金属3),这进一步增加了需要被存储的“对象”的数量。用户一般通过使用图形设计工具来与这样的IC数据进行交互。因此,需要用于管理用于IC的这样的复杂数据的方法,所述方法超出了标准文本文件数据管理。
技术实现思路
非常有挑战的是,将用于对文本文件进行比较以及合并的现有的解决方案应用到数 ...
【技术保护点】
一种用于管理集成电路(IC)设计信息的计算机实现的方法,所述计算机实现的方法包括:呈现第一数据存储中主体IC设计信息的第一版本;呈现第二数据存储中所述主体IC设计信息的第二版本;将所述第一数据存储划分为多个分区,每一个分区保留了呈现所述第一版本的主体IC设计信息的部分的相应的对象;将所述第二数据存储划分为与所述第一数据存储的多个分区相对应的分区,所述第二数据存储的每一个分区保留了呈现所述第二版本的主体IC设计信息的部分的相应的对象;对于每一个分区,根据所述对象的方面将关键字分配给所述分区中的每一个对象,使得对关键字的所述分配引起:(a)将同一关键字分配给(i)所述第一数据存储的分区中的主体对象以及(ii)所述第二数据存储的相对应的分区中的对象,所述对象是与所述第一数据存储中的主体对象相对应的对象,并且引起(b)将相应的关键字分配给没有被分配关键字的每一个对象;对于每一个给定的分区,通过基于所述第一数据存储的分区中的对象的关键字和所述第二数据存储的相对应的分区中的对象的关键字,来执行第一比较,从而确定是否添加、删除或修改了所述分区的对象;对于所述第一数据存储中的每一个给定的对象,以及在所 ...
【技术特征摘要】
2013.09.25 US 14/036,7341.一种用于管理集成电路IC设计信息的计算机实现的方法,所述计算机实现的方法包括:呈现第一数据存储中主体IC设计信息的第一版本;呈现第二数据存储中所述主体IC设计信息的第二版本;将所述第一数据存储划分为多个分区,每一个分区保留了呈现所述第一版本的主体IC设计信息的部分的相应的对象;将所述第二数据存储划分为与所述第一数据存储的多个分区相对应的分区,所述第二数据存储的每一个分区保留了呈现所述第二版本的主体IC设计信息的部分的相应的对象;对于每一个分区,将关键字分配给所述分区中的每一个对象,使得对关键字的所述分配引起:(a)将同一关键字分配给所述第一数据存储的分区中的主体对象以及所述第二数据存储的相对应的分区中的对象,所述对象是与所述第一数据存储中的主体对象相对应的对象,并且引起(b)将相应的关键字分配给没有被分配关键字的每一个对象;对于每一个给定的分区,通过基于所述第一数据存储的分区中的对象的关键字和所述第二数据存储的相对应的分区中的对象的关键字,来执行第一比较,从而确定是否添加、删除或修改了所述分区的对象;对于所述第一数据存储中的每一个给定的对象,以及在所述第二数据存储中共享所述同一关键字的其相对应的对象,执行确定了一个或多个对象差异的第二比较;基于所述第一比较和第二比较的结果,来呈现所述第一数据存储中的主体IC设计信息的第一版本和所述第二数据存储中的主体IC设计信息的第二版本之间的一个或多个差异;使终端用户能够选择所述一个或多个差异中的至少一个的差异集;并且使所述终端用户能够将所选择的差异集应用于所述第二数据存储中的主体IC设计信息的第二版本。2.根据权利要求1所述的计算机实现的方法,其中,以文本格式将所述一个或多个差异呈现给终端用户。3.根据权利要求1所述的计算机实现的方法,其中,通过在图形表示上突出显示每一个差异来将所述一个或多个差异呈现给终端用户。4.根据权利要求1所述的计算机实现的方法,其中,将关键字分配给每一个对象包括基于所述对象的位置信息和属性信息的任何组合来分配所述关键字。5.根据权利要求1所述的计算机实现的方法,进一步包括:呈现祖先数据存储中的主体IC设计信息的祖先版本,所述第一版本和第二版本来自所述祖先版本;将所述祖先数据存储划分为与所述第一数据存储和所述第二数据存储的多个分区相对应的分区,所述祖先数据存储的每一个分区保留了呈现所述祖先版本的IC设计信息的部分的相应的对象;对于所述祖先数据存储中的每一个分区,将关键字分配给每一个对象,使得对于所述祖先数据存储的每一个分区:(1)将同一关键字分配给所述祖先数据存储的分区中给定的对象,以及在所述第一数据存储和所述第二数据存储的相对应的分区中的相对应的对象,所述相对应的对象与所述祖先数据存储中的给定的对象相对应,并且(2)将相应的关键字分配给所述祖先数据存储的分区中剩余的对象;对于每一个给定的分区,通过基于所述第一数据存储和第二数据存储的分区中的对象的关键字和所述祖先数据存储的相对应的分区中的对象的关键字来执行第三比较,从而确定是否添加、删除或修改了所述分区的对象;对于所述第一数据存储和第二数据存储中的每一个给定的对象,以及所述祖先数据存储中共享所述同一关键字的其相对应的对象,执行确定了一个或多个相应的对象差异的第四比较;基于所述第三比较和第四比较的结果,呈现所述祖先数据存储中的主体IC设计信息的祖先版本与所述第一数据存储中的主体IC设计信息的第一版本和所述第二数据存储中的主体IC设计信息的第二版本中的至少一个之间的至少一个差异;使终端用户能够选择所述至少一个差异中的至少一个的相应的差异集;并且使所述终端用户能够将所选择的相应的差异集应用于所述第二数据存储中的主体IC设计信息的第二版本。6.一种用于管理集成电路IC设计信息的计算机实现的系统,所述计算机实现的系统包括:数据模块,其被配置为呈现第一数据存储中的主体IC设计信息的第一版本;所述数据模块进一步被配置为呈现第二数据存储中的所述主体IC设计信息的第二版本;划分模块,其被配置为将所述第一数据存储划分为多个分区,每一个分区保留了呈现所述第一版本的主体IC设计信息的部分的相应的对象;所述划分模块进一步被配置为将所述第二数据存储划分为与所述第一数据存储的多个分区相对应的分区,所述第二数据存储的每一个分区保留了呈现所述第二版本的主体IC设计信息的部分的相应的对象;控制模块,其被配置为对于每一个分区,将关键字分配给所述分区中的每一个对象,使得通过所述控制模块对关键字的分配引起:(a)通过所述控制模块将同一关键字分配给所述第一数据存储中的分区中的主体对象,以及所述第二数据存储中的相对应的分区中的对象,所述对象是与所述第一数据存储中的主体对象相对应的对象,并且引起(b)通过所述控制模块将相应的关键字分配给没有由所述控制模块分配关键字的每一个对象;所述控制模块进一步被配置为,对于每一个给定的分区,通过基于所述第一数据存储中的分区中的对象的关键字以及所述第二数据存储中的相对应的分区中的对象的关键字来执行第一比较,从而确定是否添加、删除或修改了所述分区的对象;所述控制模块进一步被配置为对于所述第一数据存储中的每一个给定的对象,以及在所述第二数据存储中共享所述同一关键字的其相对应的对象,执行第二比较,所述第二比较确定一个或多个对象差异;显示模块,其被配置为基于所述第一比较和第二比较的结果,来呈现所述第一数据存储中的主体IC设计信息的第一版本和所述第二数据存储中的主体IC设计信息的第二版本之间的一个或多个差异;所述控制模块进一步被配置为使终端用户能够选择所述一个或多个差异中的至少一个的差异集;并且所述控制模块进一步被配置为使所述终端用户能够将所选择的差异集应用于所述第二数据存储中的主体IC设计信息的第二版本。7.根据权利要求6所述的计算机实现的系统,其中,所述显示模块进一步被配置为以文本格式将所述一个或多个差异呈现给终端用户。8.根据权利要求6所述的计算机实现的系统,其中,所述显示模块进一步被配置为通过在图形表示上突出显示每一个差异来将所述一个或多个...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。