CN100587695C - 使用主机数据集来复制和同步多个数据集的方法 - Google Patents
使用主机数据集来复制和同步多个数据集的方法 Download PDFInfo
- Publication number
- CN100587695C CN100587695C CN200710146563A CN200710146563A CN100587695C CN 100587695 C CN100587695 C CN 100587695C CN 200710146563 A CN200710146563 A CN 200710146563A CN 200710146563 A CN200710146563 A CN 200710146563A CN 100587695 C CN100587695 C CN 100587695C
- Authority
- CN
- China
- Prior art keywords
- data set
- clone
- data
- design
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
设计数据管理使用公共数据集的一个副本及多个实例,同时继续使用现有设计数据库和现有CAD工具。在允许最少量的用户干预来创建和维护公共数据集时,设计数据管理采用将公共数据集复制到一个或多个“克隆”数据集。本方法提供使用主机数据集复制和同步一个或多个数据集,包括提供主机数据集和至少一个克隆数据集的数据设计管理,及将主机物理设计数据集复制到一个或多个物理实例以允许定制所述一个或多个物理实例。主机数据集描述以下项中的至少一项:设计组件、电路宏和电路实体,并包括逻辑数据集和物理设计数据集。这允许通过公共数据集与克隆数据集之间的自动同步,将所有现有的通常针对公共数据集执行的验证过程同样应用于所述克隆数据集。
Description
技术领域
本发明一般地涉及改进的管理计算机和数字***的集成电路的设计数据的方法,具体地说,涉及管理与一个逻辑实体的许多唯一物理副本相关联的设计数据。
背景技术
随着集成电路的复杂性和性能的增加,定制集成电路的特定构建块或宏的各个物理副本(称为“实例”)的需要变得更为普遍。这些宏可以和缓冲器或IO束(io book)一样简单,或和整体微处理器核心一样复杂,以及处于两者之间。存在许多驱动定制需求的设计要求,包括但不限于:定时、功率、物理形状因数、物理定向和电路性能。
在先前几代的数字和计算机设计中,这几乎不是问题,因为保守的设计方法可以容易地适应围绕所有实例的物理限制和要求。将宏的多个完全相同的副本放置在集成电路上的简单方法足以满足设计要求。
随着技术和设计的发展,这变得更加困难。例如,如今微处理器的时钟速度通常不仅需要用于宏,而且需要用于每个宏的每个实例的定制定时断言和解决方案。另一个需要定制的例子是实例副本的不同物理定向。较早的CMOS技术适合CMOS FET门的各种定向。但是,在当前的CMOS技术中,通常要求FET门跨整个集成电路芯片在一个方向上对齐。所以对于要求FET平行对齐的技术,诸如将实例的一个副本旋转90度的简单芯片底板元件布置操作将要求门在原始方向的副本的全新物理设计。同样,在芯片底板元件布置中,可用空间可能需要实例的各个副本具有不同的纵横比。再次,它要求创建唯一的物理实例。另一个例子是调整IO束电阻,其中在功能上所有IO束都完全相同,但是将物理上不同的电阻值置于束中以匹配导线的阻抗。所有这些情况都要求定制物理实例。
描述特定宏的数据通常在设计数据管理器(DDM)的控制下存储在数据库中,设计数据管理器同步并提供数据的联锁和可计量性。此数据可以包括块的逻辑描述(由使用VHDL、Verilog等的工具创建)、定时规则、审计状态、物理实施方式,以及其他与特定块关联的数据集。计算机辅助设计(CAD)工具使用所述数据来制作集成电路芯片。所述数据集还提供了与设计的历史、有效性和真实性有关的信息。
对于复制了多次并且其中所有物理副本都完全相同的宏的情况,数据管理是简单的,因为所有副本都可以引用同一主机数据集。但是,在上述情况中,其中已定制了副本的物理实施方式,则描述该物理实施方式的唯一数据集必须保存在数据库中。不幸的是,许多CAD工具和IC设计方法要求设计实体的一致命名并且不支持在设计实体间共享数据集。这些限制要求每个唯一物理副本的所有数据集的完整副本,尽管许多数据集可能是完全相同的。例如,逻辑(VHDL)描述对于所有IO束可以是相同的,但是可能有数百个具有不同电阻值的物理束,产生了对设计数据库中数以百计的完全相同表项的需要。
在历史上,普通的穷举法是生成每个正在使用的定制副本的所有数据集的副本。该方法很简单并适合现有的方法和数据管理。但是,必须在所有副本间复制所有逻辑更新。对于一个或两个逻辑唯一的块的一个或两个副本,这些方法可以工作而不需要太多额外开销。但是,对于穷举法来说,维护数百甚至数千副本的需要变得困难和难以控制。
另一个方法是有选择地复制所需的数据集(物理设计数据),同时保留公共的数据集的单个副本(诸如VHDL数据集的逻辑数据集)。该方法是合乎需要的,因为它使得可以容易地管理、维护和验证公共数据。但是,如前所述,大多数CAD工具和设计方法实施设计实体的一致命名并阻止选择性的方法。
需要一种方法,其允许维护具有多个实例的数据集的单个副本并允许描述这些实例的唯一特性的唯一数据集在现有设计数据库框架中与现有CAD工具一起工作。
发明内容
本发明允许使用公共数据集的一个副本以及多个实例,同时继续利用现有的设计数据库和现有的CAD工具。具体地说,本方法旨在通过使用用于将所述公共数据集复制到一个或多个克隆数据集中的方法来允许最少量的用户介入以创建和维护公共数据集。本文说明的用于使用主机数据集复制和同步一个或多个数据集的方法包括:提供主机数据集和至少一个克隆数据集的数据设计管理,以及将主机物理设计数据集复制到一个或多个物理实例以使能定制所述一个或多个物理实例。所述主机数据集描述了以下项中的至少一个:设计组件、电路宏和电路实体,并包括逻辑数据集和物理设计数据集。可以将逻辑数据集复制到逻辑克隆数据集的一个或多个实例中。这允许通过公共数据集与克隆数据集之间的自动同步,将所有现有的通常针对公共数据集执行的验证过程同样应用于所述克隆数据集。通过这种方式,没有损害任何质量保证操作。
本发明试图实现这些目标的方式是通过应用可以通常应用到任何本质为分级或平面的设计结构的公开的方法步骤。另外,本发明遵循在大多数普通设计环境中提出的要求代表特定设计实体的数据集的一致命名的规则。
在此公开了方法步骤,其通常包括将一个或多个设计元素定义为要在复制或克隆过程中使用的主机。此外,也定义了克隆后的数据集的命名,以及所需克隆的数量。一般地说,本发明允许任何数据类型作为主机参与,并且还提供了使用起源(pedigree)信息来标记得到的克隆数据集以便确保主机-克隆关系的正确数据管理的方法。
在定义主机和克隆体时,存在多个方法来启动克隆过程,该过程或是通过显式用户交互,或是通过使用在设计数据管理工具的完全控制下运行的自动化库过程。初始地,所述方法创建克隆体,但是这些方法还可用于执行对克隆体的重复更新,因为已在设计过程中更改了主机。
本发明的关键方面是将物理设计元件与逻辑设计元件分离,由此允许物理和电路设计团队定制设计元件(例如,电路、宏、单元等)的多个实例,而无需维护对相应逻辑数据集的设计更改。例如,如果需要接口控制器的三个副本,每个副本都具有不同的物理属性,则可以将原始数据集定义为主机,并可以创建两个克隆体。逻辑和验证工程师只需构建、模拟并重复控制器的主机逻辑描述(即,VHDL或Verilog描述),同时物理设计团队可以独立地更改和定制主机和克隆物理数据集。本发明的数据管理方面确保了为两个克隆体自动维护主机的逻辑描述,与主机多少次需要逻辑修改无关。
由于正确的数据管理是首要的,所以本发明还采用通过使用起源信息和材料跟踪清单来确保主机和克隆数据集之间的正确同步的方法。此外,它利用大多数常规和大型ASIC方法中的布尔等价步骤来证明克隆的逻辑数据集与定制的物理设计数据集之间的功能等价性。
通过本发明的技术可以实现其他特性和优点。在本文中详细说明了本发明的其他实施例和方面并将它们视为要求保护的发明的一部分。为了更好地理解本发明的优点和特性,将参考说明书和附图。
附图说明
在说明书结尾处的权利要求中具体指出和明确要求保护被视为本发明的主题。从以下结合附图的详细说明中,本发明的上述及其他目标、特性和优点都是显而易见的,这些附图是:
图1示出了旨在使用本发明的典型物理设计拓扑;
图2说明了用于处理物理设计方法中的副本宏的最常见的方法;
图3示出了本发明的方法步骤;
图4A使用实例来教导主机/克隆表的使用;
图4B示出了对来自图4A的同一实例的VHDL克隆;
图5示出了使用本发明的典型设计过程;以及
图6示出了使用自动化的库过程来执行克隆过程。
详细的说明通过实例的方式参考附图解释了本发明的优选实施例以及优点和特性。
具体实施方式
现在转到更详细的附图,将看到图1示出了包括多个下文称为宏的物理实体的典型物理设计结构。这些宏定义了通常具有绝对尺寸、纵横比和布线层的硬物理边界的任意逻辑结构,并且它们充当参与底板元件布置操作的设计层次中的最低级别对象。在图1中,有3个唯一的称为宏_1(10)、宏_2(11)和宏_3(12)的宏,它们例示了三个唯一的逻辑设计结构。宏中的逻辑结构的复杂性是完全任意的,因此所述宏之一可以代表与输入/输出块同样简单的事物,而另一个宏可以描述复杂实体,例如存储器控制器。这些宏中的每个宏不仅是唯一的行为块,而且每个宏在设计中被实例化为唯一实例并给予名称实例_1、实例_2和实例_3。
还包括在图1中的是宏_1(10)的两个其他实例,称为实例_4(13)和实例_5(14)。不同于实例_2和实例_3(它们都是唯一实体),实例_4和实例_5是实例_1的完全相同的副本。本领域的技术人员可以理解,如何将这些副本实例共同用于诸如存储设备(阵列)的元件,其中若干低级构建块的副本必须逻辑地结合在一起以创建更大的功能块。副本实例的另一个常见用法是缓冲芯片拓扑中的网(nets)。副本实例是一种重用通用的构建块以实现多个逻辑功能的非常有效的方式。
副本实例的一个关键方面是相同的数据集用于每个实例。参考图1,宏_1(10、13和14)的3个实例都使用相同的逻辑描述(例如,VHDL)、布图、布线压缩(contracts)和定时断言。
图1中示出的另一个实例是实例_5(14)的方向,其相对于宏_1的其他实例旋转90度以实现不同的纵横比。在更早并更简单的技术中,物理地旋转单个布图是可能的。但是,在当今的复杂方法中,这通常是不可行的,并且需要具有不同纵横比的实例的情况通常转化为需要每个实例具有定制的数据集。
图2示出了如今行业中用于解决多个副本宏的物理设计难题的最常见的解决方案。通过将宏_1用作需要复制的设计组件的实例,该图示出了宏_1的三个实例(或副本)的三个数据集。MAC_1A数据集(20)包括一条描述功能行为的VHDL、描述基础门的物理布置和布线拓扑的布图文件,以及列举所有定时断言、反馈和限制的定时文件。尽管图2的例子仅示出了数据集中的3个文件,但是本领域的技术人员将理解数据集如何与设计方法紧密相关,并且其能够容易地扩展以包括许多其他文件,例如,边界压缩、引脚列表、文档、门级别网表、技术规则等。
第二实例MAC_1B(21)包括同一数据集,但是在通常的行业解决方案中,这些文件中的一些文件将不同于它们的MAC_1A对应物,而其他文件将是完全相同的副本。例如,如果MAC_1B的物理难题围绕物理方向或纵横比,则所述布图将不同于MAC_1A布图,但是定时文件可以是完全相同的。同样,如果MAC_1C(22)要求唯一的定时解决方案,则它可以使用定制的定时文件,而布图可以保持完全相同。在其他情况下,实例可能要求定制布图和定时文件两者。在任何情况下,几乎总是保持恒定的一个文件是功能描述,它由图2中的VHDL表示。最常见的解决这些限制的方法是设计团队从“主机”数据集的物理副本开始,然后定制必需的文件。在这个例子中,宏_1数据集将用作创建MAC_1A、MAC_1B和MAC_1C数据集的基准主机。
不幸的是,现今的物理设计工具和过程(例如,Cadence DesignFramework)所常见的一个特征是要求所有包括数据集的文件使用同一个宏或“单元”名称。因此,尽管MAC_1B和MAC_1A功能完全相同,但是工具禁止将MAC_1A VHDL包括到MAC_1B物理设计数据集中。此过程限制经常通过简单地将MAC_1A VHDL复制为MAC_1B和MAC_1C来解决。由于它们功能完全相同,可知只要MAC_1A在功能上得到验证,则MAC_1B和MAC_1C在概念上连带得到验证。对于具有少量副本宏的小型设计,手动跟踪VHDL验证并确保VHDL的所有副本完全相同是可行的。但是,随着在复杂功能上使用副本宏的需求增加,可能会产生许多问题。
第一个问题源于其中必须从基础宏产生大量副本的情况。这种情况的一个例子是将BR电阻器包括在本发明的优选实施例中。BR电阻器由多晶硅制造并提供了对其允许误差的高度控制。它们在数据传输电路(例如,驱动器和接收器)中很普遍。BR电阻器的每个例化都要求唯一的物理属性,但是它们都引用一条相对简单和不变的VHDL。极少数的BR电阻器副本给予基本资源以手动复制和管理VHDL的所有物理副本。此外,由于大多数前端验证方法力求将各条VHDL都包括在验证模型中,这为模拟模型构建增加了大量不必要的开销并潜在地降低了整体模拟性能。
在复杂设计(例如,本发明的优选实施例)中出现的第二个问题是将副本宏用于复杂I.P.结构(例如,源同步接口宏)的要求。源同步接口在美国专利6,470,458中被进一步说明并用于通过分发总线时钟连同数据位来提供非常高速和高带宽的互连。基础功能宏不是微不足道的并要求通过验证过程的基本迭代。即使对于少量的副本宏,为了将各种副本VHDL文件与主VHDL同步而对设计迭代进行的手动管理在最佳情况下是冗长的,在最差情况下是易于出错的。
本发明寻求通过使用一种方法来解决这些问题,通过该方法,将一个或多个与第一设计组件相关并指定为“主机”的数据集自动复制到一个或多个相应的克隆数据集,其中在图3中说明了所述步骤。步骤1(30)包括标识哪个设计组件将用作主机设计组件。这还包括标识将要复制的一个或多个数据集。本发明允许复制多个数据集,虽然大部分例子通过使用复制VHDL来教导本发明。其他用于复制的可能数据集的例子是备选的高级或门级别描述,例如ADA、Verilog或基于文本的网表。除了功能或逻辑数据集,本发明还提供了以无数可能的格式(包括HTML、XML或无格式的ASCII文本)复制设计文档。由于任何基于文本的文件都可以参与该方法,所以它还可以应用于数据集(例如,定时断言、引脚列表和试验台)以便验证。
图4A示出了本发明的复制将成为主机的名为INV(40)的组件的示例用法。在该例子中,本发明将自动将请求的数据集复制到名为INV_H(41)、INV_V(42)和INV_F(43)的三个克隆体。这种例子的实际情况是需要反相器的三个变型,其中INV_H(41)具有水平方向,INV_V(42)具有垂直方向,而INV_F(43)是高功率高速度的变体。主机/克隆表(44)包含指示将如何复制主机的信息。优选的实施例使用配置为三列表的数据结构,其中第一列表示主机,第二列列出了应被复制的数据集,第三列列举了所有克隆体的标识。在图4A的例子中,所述表的第一项记录将INV(40)声明为主机并指示本发明创建三个克隆体INV_H、INV_V和INV_F。在这种情况下,仅复制VHDL数据集。
应指出的是,主机/克隆表(44)包含其他旨在示出本发明的许多特性的记录。例如,每个主机可以具有要复制的数据集的唯一列表。可以存在任何数量的数据类型,并且优选实施例利用逗号分隔列表来定义它们。最后一项记录还显示了其他变型,其中使用*来指示应复制IORESIS主机的所有可用数据集。
就克隆体而言,优选实施例允许列举每个克隆体的名称。克隆体的数量可从名称列表中推断。对于例如IORESIS的情况(其要求创建1000个克隆体),优选实施例允许使用诸如[1∶1000]的快捷方式来自动复制使用名称IORESIS1、IORESIS2等的副本。尽管图4A示出了数个定义克隆体的例子,本领域的技术人员将容易地理解如何使用具有各种格式的多个数据结构来实现所述表。还可以看到,列举克隆体和数据集的本方法可以容易地扩展以允许使用模式匹配语义的其他快捷方式,例如那些出现在常见编程函数(如sed、awk、Perl等)中的快捷方式。
返回图3的方法步骤,步骤2(31)是自动化的克隆过程。在最简单的情况下,例如,为主机复制简单的文本文件,该步骤主要包括通过将克隆名称用作新文件名来生成源数据集的物理副本。但是,在更复杂的情况下(例如VHDL),若干其他修改是必要的。图4B显示了INV_H(41)的一条样例VHDL,其中已更新了实体部分(46)以在实体声明语句中使用INV_H代替INV。同样,体系结构部分(47)在体系结构声明中包含类似的修改。没有这些修改,得出的克隆VHDL将无法作为INV_H正确注册到典型的VHDL编译器。
其他修改(其应用于每个创建的克隆文件而无论数据类型为何)是在图4B顶部示出的起源信息(45)。优选实施例示出了使用例如VHDL的基于文本的文件,这允许将起源信息直接嵌入所述文件。本发明允许该部分位于文件中的任何位置,并根据目标数据集将其***为依附于正确语法的注释。在这种情况下,显示主机数据集的准确版本和文件名称的信息被实现为VHDL注释。在优选实施例中,起源信息还包括指示何时创建克隆体的时间戳。虽然未显示,但是还可以将类似的起源信息嵌入筒单ASCII文本文件、HTML、XML或任何其他基于文本的文件。
一旦创建了克隆文件,图3的步骤3(32)就涉及将新创建的克隆体检入数据管理库中。本发明的优选实施例使用通过参考美国专利6,654,747和5,966,707而更详细说明的IBM设计数据管理器。虽然本实施例构想了使用IBM设计数据管理器,但是应向本领域的技术人员指出的是,本发明可以使用任何行业标准设计管理***,所述***提供基本版本控制功能连同用于存放和查询数据集的机制,以及用于定义策略或自动化的脚本编写的规定。该步骤是本发明中的主要组件,因为它为即将到来的数据管理(DM)审计步骤提供了关键链接。
本发明的另一个重要方面是作为迭代监视器的步骤4(33)。该步骤使用在每次将数据集检入设计库时执行的自动化库过程。每次在库中出现主机/克隆表(44)中声明的任何主机的新版本时,将唤起迭代监视器。迭代监视器将自动执行步骤2(31)中的算法以根据主机/克隆表(44)中的信息来创建一组新的克隆体。此外,新创建的克隆体被自动检入设计库。尽管为了教导本发明,图3将迭代监视器示为分离步骤,但是应向本领域的技术人员指出,该步骤是步骤2和3的组合并可以嵌入实际实施方式中。例如,在本发明的优选实施例中,由迭代监视器通过简单地在步骤1结束时对主机执行两步骤的检出/检入过程来初始地创建克隆体。检出/检入用作触发机制以使迭代监视器在无需用户干涉的情况下开始执行步骤2(31)和步骤3(32)。
图3中最后的步骤是步骤5(34),数据管理审计。该步骤承担向数据管理工具查询与在特定级别或版本的所有克隆体有关的版本信息。对于每个克隆体(包括根据主机/克隆表中的定义的每个克隆体的所有必要数据集)的每个迭代,本发明提取每个克隆体中的起源信息。然后它向数据管理器查询同一级别(或版本)的每个主机数据集的版本标识符并比较两个实体。如果版本不同,则已违反了主机/克隆关系且必须在流片之前进行纠正。未能执行此操作会带来在不代表用于体系结构和功能验证的设计迭代上执行物理设计验证的风险。作为附加的检查,优选实施例还进行克隆数据集对主机的文件比较以确保所有内容都完全相同。
图5示出了展示本发明相对于现有技术的优点的优选实施例的设计流程。在此例子中,宏ABC包括标识为主机的VHDL数据集(50)。克隆过程(51)(其包括优选实施例的迭代监视器)用于创建两条克隆的VHDL,表示为ABC_1 VHDL(52)和ABC_2 VHDL(53)。物理设计团队可以自由地通过合成或手动PD过程(54)来处理每一条VHDL。这里的关键方面是能够独立处理所有三个克隆体,由此提供完全定制以满足任何物理设计难题。物理设计团队将所有三个克隆体视为分离设计组件。合成/手动PD过程(54)的输出是主机ABC(55)和克隆体ABC_1(56)及ABC_2(57)的物理设计数据集。
本发明的另一个重要特性是只有主机ABC VHDL(50)参与功能验证模型(58)。这通过实例化ABC的传统副本实例来完成,如行业标准符号ABC(0:2)所表示的。功能验证模型假定设计使用该宏的三个完全相同的副本。这对于功能模型是有效的假定,只要DM审计步骤(34)证实每个克隆体源于主机。图5中最后的步骤包括在每个克隆VHDL及其关联的PD数据之间运行布尔等价检查,以确保物理设计团队实现了匹配的逻辑实施例。
本发明构想了其他方面以进一步尝试提高生产力并降低手动设计错误。这需要使用库过程,以便每次主机通过设计数据管理器(DDM)迭代时,自动将克隆过程应用到所有适当的主机。这使设计团队免于跟踪设计更改并手动执行图3中列出的方法步骤。尽管本发明通常允许图3的克隆方法整体作为手动过程来执行,但是优选实施例在库过程管理器的控制下执行所有必要的步骤。尽管市场上存在许多能够运行自动化过程(有时也称为脚本或策略)的设计数据管理***,但是本实施例使用IBM的DDM库过程管理器,其在美国专利6,654,747、6,088,693、5,920,873、5,812,130中参考说明并且其详细说明不在本申请的范围内。
图6说明了克隆库过程(下文中称为LP克隆)。本发明将所述方法步骤有形地包含为在库过程管理器的控制下执行的应用程序。IBM DDM中的库过程管理器允许库管理员定义多个自动化的步骤以针对库中所需的数据集执行。IBM DDM LP管理器包括允许管理员在各种数据管理操作(例如,检出、检入、升级、删除等)期间触发所述自动化库过程的极大灵活性。这允许设计团队通过在将数据集检入库时、在将数据集升级到特定级别(或版本)时(或它们的任意组合)触发克隆过程来找到它们的特定物理设计方法的最佳匹配。
LP克隆过程始于图6的步骤1(60),其中应用定位主机/克隆表并将其读取到内部数据结构中。这主要是为了效率而执行此操作,并且本领域的技术人员可以理解备选实施例如何与即将到来的步骤交互以执行该步骤,如果性能不是问题的话。步骤2(61)建立成员循环。在优选实施例中,LP管理器与设计数据管理***交互以获取进行当前DM操作的所有数据集的列表。例如,如果设计者检入四个设计组件,则DDM将创建所述四个组件的列表,其中包括所有指示其名称、文件类型、源库级别、目标库级别、时间戳信息等的必要信息。该列表称为成员列表,LP管理器使其对应用库过程可用。步骤2建立循环来处理该列表中的每个成员。
步骤3(62)检查成员列表中的每个成员,以根据从步骤1创建的内部数据结构来查看它是否是主机组件。此外,它还检查以查看所操作的数据集是否是主机/克隆表中为该特定主机定义的目标数据集之一。如果两个条件都不满足,则控制返回步骤2(61)中的成员列表循环的顶部,并处理下一个成员。如果两个条件都满足,则处理以步骤4(63)中的克隆过程继续。该步骤包括图3的必要组件。在本发明的优选实施例中,步骤4(63)实际上实现为前述的自动化克隆过程(31)。应用程序以能够由用户作为独立方法步骤来手动调用的方式编写,以便遵循图3的处理流程,或者可以如步骤4(63)那样将其嵌入自动化库过程。这为设计团队提供了最大可能的灵活性,因为同一应用程序可以由设计人员独自运行(如果他们希望在其自己的专用工作空间中创建克隆体),也可在设计数据管理***的控制下运行。
接下来,步骤5将输出文件(64)安装到DDM中。对于该步骤,优选实施倒利用在IBM DDM库过程管理器中提供的安装特性。该步骤的详细行为通过参考引用的数据管理专利来说明,但是,一般来说,该步骤负责将新建的克隆文件集成到DDM中,如同它们由用户手动检入库中那样。高级步骤承担:
■如果文件是没有先前版本历史的全新数据集,则向DMM注册该文件
■检查可能存在于文件中的任何锁的状态
■检入文件的当前版本(如果它恰好处于检出状态)
■检入新文件并获取新的(唯一)版本号
■根据DDM的文件结构将文件物理地存放在正确的位置空间
最后,LP克隆过程在步骤6以设置LP结果(65)结束。本优选实施例中的DDM的LP管理器为应用程序提供了记录结果的能力,所述结果的范围从简单的成功/失败返回代码一直到描述处理步骤成果的文本注释。这些伪过程结果还可以包括有关处理的其他信息,例如,在LP执行期间收集的统计数据、时间戳信息或其他形式的元数据。此信息保存在DDM数据库中并与安装的数据集的特定版本相关联。用户可以作为质量控制方法来查询这些结果,以确保在流片之前在设计组件上成功执行所需的库过程。
本发明还构想了备选实施例以允许不是基于文本的文件作为主机数据集来参与。例如,设计组件可以包括多个数据集,其中它们之一是以专有文件格式(例如,Adobe PDF或Microsoft Word)描述的设计文档。这些文件格式无法被容易地操纵,由此妨碍了直接将起源信息嵌入如图4B中示出的复制数据集。为了适合这种类型的数据集,优选实施例采用使用IBM设计数据管理器的标记方案,其中LP克隆过程设置每个已复制的克隆数据集的伪过程结果,所述结果包括从其产生克隆体的主机数据集的版本标识符和时间戳信息。在此备选实施例中,与从文件中提取起源数据相比,图3的DM审计步骤(34)将只是从设计数据管理器查询克隆体的伪过程。在两种情况下,结果是相同的;提取与用于创建被审计的克隆体的主机有关的起源信息。
虽然上述公开示出了本发明的若干示例性实施例,但是对本领域的技术人员将显而易见的是,可以在此做出各种更改和修改而不偏离如所附权利要求限定的本发明的范围。此外,尽管本发明的元素可以以单数说明或要求保护,但是由于一表示至少一个,所以构想了复数,除非明确声明了对单数的限制。
Claims (13)
1.一种使用主机数据集来复制和同步一个或多个数据集的方法,所述方法包括以下多个步骤:
提供对主机数据集和至少一个克隆数据集的管理,以及
将主机物理设计数据集复制到一个或多个物理实例中以允许定制所述一个或多个物理实例,其中所述多个步骤包括:
标识一个或多个设计组件以用作所述主机数据集;
对于所述主机数据集:
a.为每个所述主机数据集定义多个所述克隆数据集的数量和数据类型,以及
b.标识每个所述克隆数据集的名称和实例命名;
使用自动化的过程通过复制所述主机数据集来创建所述克隆数据集;
提供关联的起源信息来建立所述主机数据集和克隆数据集之间的联系;
允许将与参与主机-克隆复制的一个或多个设计实体对应的其他数据集放置在设计数据管理***中,其中所述其他数据集包括物理设计数据集,并且:
a.独立地更改所述物理设计数据集和/或
b.定制与每个所述克隆数据集相关的每个所述物理设计数据集;
使用迭代监视器来自动检测对主机数据集的更新;
进一步将所述更新后的主机数据集复制到相应克隆数据集的一个或多个新迭代中;以及
使用设计数据管理审计来确保将所述主机数据集与每个相应的克隆数据集正确地同步。
2.如权利要求1中所述的方法,其中所述主机数据集描述了设计组件、电路宏和电路实体中的至少一个,以及
包括逻辑数据集和物理设计数据集。
3.如权利要求2中所述的方法,包括将逻辑数据集复制到逻辑克隆数据集的一个或多个实例的步骤。
4.如权利要求1中所述的方法,其中在定义提供主机/克隆数据结构的主机数据集的同时,为每个主机提供以下步骤:
(a)列举每个所述克隆数据集的一个或多个文件类型;
(b)列举每个所述克隆数据集的一个或多个名称;以及
(c)指定文件类型,以及
(1)允许将通配符或*用作指定要克隆的所有文件类型的快捷方式;同时
(2)允许将逗号、冒号、破折号和其他常用迭代字符用作列举大量克隆数据集实例的快捷方式。
5.如权利要求1中所述的方法,其中所述使用自动化的过程通过复制所述主机数据集来创建所述克隆数据集的自动化克隆步骤可以由在命令解释器中调用的用户程序来执行或通过使用GUI来执行或作为自动化库过程的一部分来执行。
6.如权利要求1中所述的方法,其中所述使用迭代监视器来自动检测对主机数据集的更新的迭代监视器步骤可以由在命令解释器中调用的用户程序来执行或通过使用GUI来执行或作为自动化库过程的一部分来执行。
7.如权利要求1中所述的方法,其中设计数据管理***允许将自动化的复制和迭代监视器步骤配置为以下项中的一个或多个:自动库过程、策略以及脚本,并且
其中应用库过程被编程为触发“开启”基本数据管理操作,所述操作包括所述设计数据管理***中的主机数据集的检出、检入以及升级,并且
其中库过程管理器与所述应用库过程交互以呈现由设计数据管理***操作所作用的数据集的成员列表,以及
所述库过程通过与主机/克隆数据结构交互来自动滤出任何未参与主机/克隆过程的数据集,以及
处理主机/克隆表中与定义匹配的每个成员并将其复制到指定的克隆数据集中,以及
通过以下操作将得到的克隆数据集安装到设计数据管理***中:
(1)如果文件是没有先前版本历史的全新数据集,则向所述设计数据管理***注册该文件;
(2)检查可能存在于所述文件中的任何锁的状态;
(3)检查当前版本的所述文件是否恰好处于检出状态;
(4)检查新文件并获取该新文件的版本号;
(5)根据所述设计数据管理***的文件结构将所述文件物理地放置在正确的位置空间;以及
(6)设置每个安装的克隆数据集的库过程结果,所述结果可以包括成功/失败返回代码、时间戳信息和其他任意的元数据。
8.如权利要求1中所述的方法,其中就文件类型而言,标识为要复制的主机数据集的文件类型是不受限制的。
9.如权利要求1中所述的方法,包括:
提供以下步骤:
(1)自动嵌入包括相应主机数据集的版本或迭代标识符和时间戳信息的起源信息数据,并且当所述主机数据集是基于文本的文件时,以注释的形式将所述起源信息数据直接嵌入所述克隆数据集中;
(2)当所述主机数据集为专有文件格式时,使用版本控制标记方案将所述克隆数据集的版本标识符与相应主机数据的版本标识符关联。
10.如权利要求9中所述的方法,其中所述文本文件的形式为ASCII、VHDL、Verilog、HTML或XML。
11.如权利要求9中所述的方法,其中所述专有文件格式为pdf、Microsoft Word、Cadence DF II或AutoCAD的形式。
12.如权利要求1中所述的方法,其中使用数据管理审计将所述克隆数据集的起源信息与相应主机数据集的最新发行版本相比较,以确保在流片之前将所有主机数据集和相应的克隆数据集正确地同步。
13.如权利要求1中所述的方法,其中主机数据集包括被复制到逻辑克隆数据集的实例中并被标识以用作所述主机数据集的逻辑数据集。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/468,031 | 2006-08-29 | ||
US11/468,031 US7735051B2 (en) | 2006-08-29 | 2006-08-29 | Method for replicating and synchronizing a plurality of physical instances with a logical master |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101136039A CN101136039A (zh) | 2008-03-05 |
CN100587695C true CN100587695C (zh) | 2010-02-03 |
Family
ID=39153546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710146563A Expired - Fee Related CN100587695C (zh) | 2006-08-29 | 2007-08-21 | 使用主机数据集来复制和同步多个数据集的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7735051B2 (zh) |
JP (1) | JP5235357B2 (zh) |
CN (1) | CN100587695C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645906B2 (en) * | 2006-09-12 | 2014-02-04 | Sandeep Jain | Method for enforcing change policy based on project state |
US7941470B2 (en) * | 2007-03-29 | 2011-05-10 | Vmware, Inc. | Synchronization and customization of a clone computer |
US8707240B2 (en) * | 2008-06-07 | 2014-04-22 | Synopsys, Inc. | Structured placement for bit slices |
US8312419B2 (en) * | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
FR2938356B1 (fr) * | 2008-11-10 | 2011-06-24 | Active Circle | Procede et systeme de synchronisation d'un ensemble de modules logiciels d'un systeme informatique distribue en grappe de serveurs |
US8365112B2 (en) * | 2009-09-04 | 2013-01-29 | Fujitsu Limited | Verification apparatus and design verification program |
US9501540B2 (en) | 2011-11-04 | 2016-11-22 | BigML, Inc. | Interactive visualization of big data sets and models including textual data |
JP5816572B2 (ja) * | 2012-02-23 | 2015-11-18 | 日立オートモティブシステムズ株式会社 | 車両用制御装置 |
CN103297485B (zh) * | 2012-03-05 | 2016-02-24 | 日电(中国)有限公司 | 分布式缓存自动管理***和分布式缓存自动管理方法 |
US9576246B2 (en) * | 2012-10-05 | 2017-02-21 | BigML, Inc. | Predictive modeling and data analysis in a secure shared system |
CN106649307B (zh) * | 2015-10-28 | 2019-09-20 | 北京国双科技有限公司 | 在数据集合中添加元素的方法和装置 |
US10341215B2 (en) * | 2016-04-06 | 2019-07-02 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine |
CN107346253A (zh) * | 2016-05-06 | 2017-11-14 | 中兴通讯股份有限公司 | 应用同步方法及装置 |
US10719479B2 (en) * | 2016-06-28 | 2020-07-21 | Netapp, Inc. | Data unit cloning in memory-based file systems |
CN110909080B (zh) * | 2019-11-20 | 2021-12-17 | 广东电网有限责任公司广州供电局 | 数据同步方法、装置、计算机设备和存储介质 |
US11475173B2 (en) * | 2020-12-31 | 2022-10-18 | Dassault Systémes SolidWorks Corporation | Method for replicating a component mating in an assembly |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1490731A (zh) * | 2002-10-18 | 2004-04-21 | 华为技术有限公司 | 一种设备数据的集中配置方法 |
CN1534518A (zh) * | 2003-03-27 | 2004-10-06 | 微软公司 | 在应用定义的***中一致性单元的复制 |
JP2004302919A (ja) * | 2003-03-31 | 2004-10-28 | Mitsubishi Electric Information Systems Corp | レプリケーションシステム及びレプリケーションシステム用プログラム |
US20050216522A1 (en) * | 2004-03-23 | 2005-09-29 | Integrated Data Corporation | Multi-tier document management system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US596707A (en) * | 1898-01-04 | Assay-furnace | ||
US5920873A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management control system for file and database |
US5812130A (en) * | 1996-12-06 | 1998-09-22 | International Business Machines Corporation | Data management system and method for concurrent engineering |
US6088693A (en) * | 1996-12-06 | 2000-07-11 | International Business Machines Corporation | Data management system for file and database management |
US6654747B1 (en) * | 1997-12-02 | 2003-11-25 | International Business Machines Corporation | Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions |
US5966707A (en) | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
US6470458B1 (en) * | 1999-07-29 | 2002-10-22 | International Business Machines Corporation | Method and system for data processing system self-synchronization |
US6922685B2 (en) * | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
JP4031905B2 (ja) * | 2000-11-09 | 2008-01-09 | 富士通株式会社 | 回路設計装置及び回路設計方法 |
-
2006
- 2006-08-29 US US11/468,031 patent/US7735051B2/en not_active Expired - Fee Related
-
2007
- 2007-08-21 CN CN200710146563A patent/CN100587695C/zh not_active Expired - Fee Related
- 2007-08-24 JP JP2007217840A patent/JP5235357B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1490731A (zh) * | 2002-10-18 | 2004-04-21 | 华为技术有限公司 | 一种设备数据的集中配置方法 |
CN1534518A (zh) * | 2003-03-27 | 2004-10-06 | 微软公司 | 在应用定义的***中一致性单元的复制 |
JP2004302919A (ja) * | 2003-03-31 | 2004-10-28 | Mitsubishi Electric Information Systems Corp | レプリケーションシステム及びレプリケーションシステム用プログラム |
US20050216522A1 (en) * | 2004-03-23 | 2005-09-29 | Integrated Data Corporation | Multi-tier document management system |
Also Published As
Publication number | Publication date |
---|---|
US7735051B2 (en) | 2010-06-08 |
US20080059952A1 (en) | 2008-03-06 |
JP5235357B2 (ja) | 2013-07-10 |
CN101136039A (zh) | 2008-03-05 |
JP2008059584A (ja) | 2008-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100587695C (zh) | 使用主机数据集来复制和同步多个数据集的方法 | |
US7111269B2 (en) | Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout | |
US9798840B1 (en) | Methods, systems, and computer program product for implementing a simulation platform with dynamic device model libraries for electronic designs | |
US7962908B2 (en) | System and method for importing a configured data set into a target set | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
CN102112988B (zh) | 用于针对生产工作流的芯片设计中的单元完整性、改变和起点的独立评估的方法和设备 | |
US8239792B2 (en) | Relative positioning of circuit elements in circuit design | |
US7437698B2 (en) | Method and program product for protecting information in EDA tool design views | |
CN101063987B (zh) | 网络列表组织工具 | |
US20120036049A1 (en) | System and method for software integration and factory deployment | |
US9881119B1 (en) | Methods, systems, and computer program product for constructing a simulation schematic of an electronic design across multiple design fabrics | |
JPH10232891A (ja) | 電子設計自動化用ワークグループコンピューティング | |
CN105144162B (zh) | 集成数据库框架 | |
TW200837591A (en) | Circuit-design-modifying method executable in computer system | |
US9361417B2 (en) | Placement of single-bit and multi-bit flip-flops | |
CN102054041A (zh) | 元数据升级方法和*** | |
US20120254815A1 (en) | Method and System for Synthesizing Relative Timing Constraints on an Integrated Circuit Design to Facilitate Timing Verification | |
US8694940B2 (en) | System and method for integrated circuit design and implementation using mixed cell libraries | |
US20090158225A1 (en) | Method and system for automatically accessing internal signals or ports in a design hierarchy | |
US20050273741A1 (en) | Method and computer program for management of synchronous and asynchronous clock domain crossing in integrated circuit design | |
US20020162077A1 (en) | In-sync hierarchy browser which provides version and access control on design collaboration for chip designs | |
US8051395B2 (en) | Method of labelling swappable pins for integrated circuit pattern matching | |
CN107025110B (zh) | 一种基于软件开发要素及要素之间的联系的时态建模方法 | |
KR20060022371A (ko) | 3차원 캐드 모델링 및 도면 데이터 속성정보 추출방법 | |
US20200143100A1 (en) | Method and apparatus for determining waiver applicability conditions and applying the conditions to multiple errors or warnings in physical verification tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100203 Termination date: 20160821 |