CN104133931B - 用于检测组合等效电路设计中的相应路径的方法和系统 - Google Patents

用于检测组合等效电路设计中的相应路径的方法和系统 Download PDF

Info

Publication number
CN104133931B
CN104133931B CN201410183219.XA CN201410183219A CN104133931B CN 104133931 B CN104133931 B CN 104133931B CN 201410183219 A CN201410183219 A CN 201410183219A CN 104133931 B CN104133931 B CN 104133931B
Authority
CN
China
Prior art keywords
circuit design
path
circuit
design
computer
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.)
Active
Application number
CN201410183219.XA
Other languages
English (en)
Other versions
CN104133931A (zh
Inventor
O·阿德勒
E·阿贝尔
I·比尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104133931A publication Critical patent/CN104133931A/zh
Application granted granted Critical
Publication of CN104133931B publication Critical patent/CN104133931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及用于检测组合等效电路设计中的相应路径的方法和系统,具体地,涉及一种用于检测组合等效电路设计中的相应路径的方法、设备和产品。该方法包括:获取第一电路设计和第二电路设计,第一电路设计和第二电路设计具有输入元件和输出元件的相应组;获取第一电路设计中的路径,该路径在输入元件中开始并在输出元件中结束,其中输入元件和输出元件被组合逻辑元件连接;由计算机自动地提取第一电路设计中的路径的敏化函数;以及由计算机自动地确定第二电路设计中的由该路径的敏化函数敏化的一个或多个路径。

Description

用于检测组合等效电路设计中的相应路径的方法和系统
技术领域
本公开概括地涉及电路设计,并且特别地涉及功能等效电路设计。
背景技术
电路设计可使用功能等效但不同的表示来呈现。可将不同的表示视为具有不同的抽象层级。功能等效表示的一个示例是综合前(pre-synthesis)和综合后(post-synthesis)设计。
将在寄存器传输级(RTL)描述中给出的逻辑综合到布局和布线线路描述中的过程涉及到许多步骤,其中,常常对设计网表应用许多变换。具体地,这些可包括逻辑优化,在逻辑优化中使用各种技术以便优化用于所需目标功能的设计,通常是减小延迟和面积。逻辑优化技术的范围能够覆盖从简单的等效门合并到逻辑重构和重写,以及甚至更有效的缩减和优化方法。那些优化技术的常见副作用是,纵贯整个过程不一定保持信号名和原始逻辑结构,并且通常最终设计网表在这方面与初始网表相差很多。结果,涉及到使用综合后数据来分析高级RTL描述中的行为、错误或任何种类的问题是有问题的,因为通常难以在综合后数据与原始RTL表示之间建立相关。
电路设计可具有相应的输入和输出元件。输入元件包括电路的初级(primary)输入以及存储器元件的输出信号,诸如锁存器和触发器,基于该输出信号,应用电路设计的组合逻辑来定义每个循环中的输出。输出元件包括电路的初级输出以及存储器元件的输入信号。虽然电路可在使用的信号方面和组合逻辑实现方面不同,但其可保持初级输入、初级输出和存储器元件之间的相关。另外,电路可以是功能等效的,因此其要求每个输出元件将在两个设计中提供相同的功能。
发明内容
所公开的主题的一个示例性实施方式是一种计算机实现方法,包括:获取第一电路设计和第二电路设计,第一电路设计和第二电路设计具有输入元件和输出元件的相应组,其中对于每对相应输出元件,第一电路设计和第二电路设计定义一对等效组合功能以定义该对输出元件的值,其中该对等效组合功能是各自在输入元件的各个组之上定义的;获取第一电路设计中的路径,该路径在输入元件中开始并在输出元件中结束,其中输入元件和输出元件由组合逻辑元件连接;由计算机自动地提取第一电路设计中的路径的敏化(sensitization)函数;以及由计算机自动地确定第二电路设计中的由路径的敏化函数敏化的一个或多个路径。
公开主题的另一示例性实施方式是一种具有处理器的设备,该处理器适合于执行步骤:获取第一电路设计和第二电路设计,第一电路设计和第二电路设计具有输入元件和输出元件的相应组,其中对于每对相应输出元件,第一电路设计和第二电路设计定义一对等效组合功能以定义该对输出元件的值,其中该对等效组合功能是各自在输入元件的各个组之上定义的;获取第一电路设计中的路径,该路径在输入元件中开始并在输出元件中结束,其中输入元件和输出元件由组合逻辑元件连接;由计算机自动地提取第一电路设计中的路径的敏化函数;以及由计算机自动地确定第二电路设计中的由路径的敏化函数敏化的一个或多个路径。
公开主题的另一示例性实施方式是一种计算机程序产品,其包括保持程序指令的非临时计算机可读介质,该指令在被处理器执行时促使处理器执行一种方法,该方法包括:获取第一电路设计和第二电路设计,第一电路设计和第二电路设计具有输入元件和输出元件的相应组,对于每对相应输出元件,第一电路设计和第二电路设计定义一对等效组合功能以定义该对输出元件的值,其中该对等效组合功能是各自在输入元件的各个组之上定义的;获取第一电路设计中的路径,该路径在输入元件中开始并在输出元件中结束,其中输入元件和输出元件由组合逻辑元件连接;由计算机自动地提取第一电路设计中的路径的敏化函数;以及由计算机自动地确定第二电路设计中的由路径的敏化函数敏化的一个或多个路径。
附图说明
根据结合附图进行的以下详细描述,将更全面地理解和认识本公开主题,在附图中相应或类似的数字或字符指示相应或类似的部件。除非另外指明,附图提供本公开的示例性实施方式或方面,并且并不限制本公开的范围。在所述附图中:
图1A-1C示出了根据公开主题的某些示例性实施方式的第一和第二电路设计的图示;
图2示出了根据公开主题的某些示例性实施方式的方法中的步骤的流程图;以及
图3示出了根据公开主题的某些示例性实施方式的设备的部件的框图。
具体实施方式
下面参考根据主题的实施方式的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述公开主题。将理解的是可以由计算机程序指令来实现流程图和/或方框图的每个方框以及流程图和/或方框图中的方框的组合。这些计算机程序指令可以提供给通用计算机、专用计算机、被测试处理器或其他可编程数据处理装置的处理器以生产出一种机器,使得这些计算机程序指令在通过计算机、可编程数据处理装置或其他设备的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
还可以将这些计算机程序指令存储在非瞬态计算机可读存储介质中,其能够指引计算机或其他可编程数据处理设备以特定方式运行,使得存储在非瞬态计算机可读介质中的指令产生一件制品,其包括实现在流程图和/或方框图方框中指定的功能/动作的指令装置。
还可以将计算机程序指令加载到设备上。计算机或其他可编程数据处理设备以促使一系列操作步骤在计算机或其他可编程设备上执行以产生计算机实现过程,使得在计算机或其他可编程设备上执行的指令提供用于实现在一个或多个流程图和/或框图方框中指定的功能/动作的过程。
公开主题涉及到的一个技术问题是标识第一和第二等效电路设计中的相应路径。另一技术问题是针对第一电路设计的路径标识第二电路设计中的一个或多个相应路径。在某些情况下,该路径可包括在第二电路设计中不具有相应信号的信号。另外或替换地,该相应路径可包括在第一电路设计中不具有相应信号的信号。另一技术问题是自动地执行综合后层级电路设计与综合前层级电路设计之间的路径对应关系。
另一技术问题是为诸如设计师之类的用户提供一种自动工具,其允许用于基于第一设计中的路径的标识来修改第二设计。特别地,允许用户基于综合后设计来修改综合前设计。作为示例,涉及到使用综合后数据以便分析RTL的一个任务是时序调试。在时序调试中,设计师获取违背时序约束的逻辑路径的列表。可以以综合后网表的形式来表示那些时序路径,并且为了使用户理解问题的根源,它们需要找到很可能引起时序违背的寄存器传输级(RTL)描述(例如,VHDL、Verilog等)中的相应路径。手动地执行此路径对应关系任务是非常耗时的,因为关键路径常常是以并不出现在RTL中的信号名的形式表示的,并且此外可包含在RTL中完全不出现的低级技术映射门。
公开主题所提供的一个技术解决方案是提取第一电路中的路径的敏化函数,其在第一输入元件与第一输出元件之间,并在被敏化函数敏化的第二电路径中进行检测,其在分别地对应于第一输入元件和输出元件的第二输入元件和第二输出元件之间。
敏化函数可指示对于其而言信息从路径中的输入元件开始且在路径中的输出元件中结束、传播通过路径的输入值的组合。在某些示例性实施方式中,敏化函数电路的输入元件范围内的函数,其当在路径的输出元件中且通过包括在路径中的其之间的每个中间元件可观察到路径的输入元件的值时为真。另外或替换地,敏化函数对于输入矢量而言为真,使得路径门的所有反常路径(off-path)信号被设定成非控制值。
在某些示例性实施方式中,可通过静态地分析路径、诸如通过要求向通过路径提供的每个反常路径输入信号分配非控制值来确定敏化函数。另外或替换地,可计算布尔差以确定对于其而言可观察路径的输入元件的输入。
可将在第一电路设计的输入元件上定义的敏化函数转换成在第二电路设计的输入元件上定义的相应敏化函数。
在某些示例性实施方式中,可分析第二设计以确定对于其而言纵贯路径保持相应敏化函数的第二输入和输出元件之间的确定。
在某些示例性实施方式中,可使用二元判定图(BDD)来表示敏化函数并提供高效的计算。另外或替换地,可定义合取范式(CNF)以允许使用布尔可满足性(SAT)解算器,其允许提供高效的计算。
在某些实施方式中,能够用附加约束、诸如由设计师提供的约束来加强路径敏化函数,从而阻止圆锥体中的其他路径被敏化。
利用公开主题的一个技术效果是自动地标识相应设计中的相应路径,而不必依赖于关于组合逻辑内的信号保持的模式匹配和假设。公开主题可单独地依赖于在改变抽象层级时可保持的设计的功能性质。作为示例,在综合期间保持功能性质。
即使在其中在一个路径中存在在另一路径中不具有相应信号的某些信号的情况下,公开主题也可用来检测相应路径。作为示例,在某些情况下可去除来自高级电路设计的信号。另外或替换地,可向低级电路设计中引入信号,以提供在高级电路设计中不存在、且不影响输出元件中的结果得到的值的信号。
另一技术效果是提供一种鲁棒到足以克服不同表示之间的大量信号变化的方法,所述不同表示包括但不限于信号名的变化、信号的去除和新信号的引入。
另一技术方面是确定具有不同抽象层级的功能等效电路设计、诸如综合后和综合前设计中的相应路径。应注意的是所述路径是表示数据在设计的单个循环期间通过组合逻辑的传播的逻辑路径。
现在转到图1A,其示出了根据公开主题的某些示例性实施方式的第一电路设计的图示。电路100是电路设计。电路100可以是综合后电路设计。
电路100被举例说明为具有四个输入元件(110、112、114、116),其可以例如是设计的初级输入、基于先前循环中的计算来提供值的设计的存储器元件的输出信号等。电路100具有两个输出元件(150、152),诸如,例如设计的初级输出或该设计所使用的存储器元件的输入信号。在某些示例性实施方式中,存储器元件可以是例如锁存器、触发器等。
诸如可基于电路100的分析来获取电路100的路径。作为示例,可基于在路径中存在时序问题、基于其被手动地修改且其修改也应当被反映在相应的电路(例如图1B的电路101)中的事实、基于执行路径的向后注解的期望等来获取路径。路径可通过信号s1120、信号s2130和信号s3140连接在IN1110与OUT1150之间。IN1110的值通过路径传播并影响OUT1150的值。
应注意的是IN1110的值可通过不同的路径、诸如通过组合逻辑126传播至OUT1150。
可基于路径的组合逻辑来提取路径的敏化函数。该敏化函数可要求纵贯路径为每个反常路径信号分配非控制值。作为示例,AND门128是路径的组合逻辑的一部分。通过向信号124分配值“1”而为其分配非控制值,从而要求信号s2130的值对信号s1120的值敏感。可将要求为信号124分配值“1”视为对定义其值的组合逻辑126的约束。可在输入元件上定义该约束。在这种情况下,其可在IN1110、IN2112和IN3114上定义。
同样地,并且相对于OR门138,可要求为信号134分配值“0”以要求信号s3140的值对信号s2130的值敏感。可基于组合逻辑136且在输入元件IN2112、IN3114上定义此类约束。
可将沿着路径的每个信号上的约束结合以提供敏化函数。
在某些示例性实施方式中,可使用BDD来高效地表示组合逻辑,且其从而允许高效地计算敏化函数。另外或替换地,可使用CNF公式来表示约束,以允许当应用函数时使用SAT解算器。
另外或替换地,可针对沿着路径的每个信号计算布尔差并将其结合。可将用于信号s的相对于IN1110的信号s1120的布尔差定义为在某些示例性实施方式中,可使用BDD来计算用于沿着路径的每个信号的相对于路径的起始信号的布尔差并将其相互结合。
现在参考图1B,其示出了根据某些示例性实施方式的第二电路设计。电路101可在功能上等效于电路100。在某些示例性实施方式中,在输入元件之间(IN1'160、IN2'162、IN3'164、IN4'166与IN1110、IN2112、IN3114、IN4116)和在输出元件之间(OUT1'170、OUT2'172与OUT1150、OUT2152)可存在一一对应关系。应注意的是,在本说明书中和权利要求中,为了清楚起见,将两个电路说成是具有同一组输入和输出元件,即使其具有仅以一对一方式相互对应的不同的各组输入和输出元件。
在某些示例性实施方式中,电路100和电路101可以是以组合方式等效的。组合等效电路可针对输入元件中的相同输入值在所有输出元件中提供相同输出值。换言之,针对每个输出元件,定义其值的布尔函数在两个函数中将是相同的。
组合逻辑和组合逻辑内的信号可不同。在某些示例性实施方式中,在电路100中可存在在电路101中不具有相应信号的信号,且反之亦然。在某些示例性实施方式中,一个电路中的单个信号可由另一电路中的多个信号来表示。此外,一个电路中的单个信号可对应于另一电路中的多个不同信号。
在本示例中,我们对检测电路101中的对应于电路100的路径s1、s2、s3的所有路径感兴趣。所有此类路径必须在IN1'160(s')处开始并在OUT1'170处结束。基于组合逻辑180的细节,可存在可对附加输入值敏感的多个此类路径。作为示例,应应注意的是IN4'106的值可被说成影响电路101中的OUT1'170的值。然而,由于IN4116的值不影响电路100中的OUT1150的值,且由于两个电路是以组合方式等效的,所以IN4'106至OUT1'170之间的每个路径必须是绝不能将IN4'166的值完全传播至路径的端点的错误路径。
在某些示例性实施方式中,可通过在IN1'160、IN2'162和IN3'164上定义来将在IN1110、IN2112和IN3114上定义的表示为h的敏化函数转换成电路101的术语。也称为相应敏化函数并表示为h'的已转换函数可用来针对组合逻辑180内的每个信号确定在其中在电路100中采取路径的相同情况下在信号处是否可观察到s'的值。
现在参考图1C,示出了根据公开主题的某些实施方式的电路101中的路径。如果对于路径181的每个信号而言相应敏化函数为真、且其值对s'的值敏感,则电路101的路径181(通过信号s'、n1、n2、n3)对应于电路100的路径s1、s2、s3。在某些示例性实施方式中,针对路径181的每个信号s,我们计算f(s)^h',其中f(s)是布尔函数,其表示由电路101基于组合逻辑、诸如AND、OR、XOR和类似元件而定义的信号s。如果计算的函数支持信号s',则s'的值影响其值,并且其被认为对s'敏感。
应注意的是不同的实施方式可以不同的方式来实现公开主题。作为示例,在一个实施方式中,可根据公开主体来分析IN1'160与OUT1'170之间的每个潜在路径的每个信号。在另一实施方式中,可仅分析OUT1'170的影响的扇入锥体和/或IN'160的影响的扇出锥体中的信号。基于信号的分析,可确定对于促使采取电路100的目标路径的输入值而言哪些信号对s'敏感。基于此类信号,可构造电路101中的一个或多个相应路径。
现在参考图2,其示出了根据公开主题的某些示例性实施方式的方法中的步骤的流程图。
在步骤200中,可获取第一电路设计中的路径。该路径可分别连接作为输入和输出元件的两个端点A和B。该路径可包括由第一电路设计定义的组合逻辑。在某些示例性实施方式中,可基于分析第一电路设计的过程来获取路径,诸如通过检测综合后设计中的路径中的时序问题。
在步骤210中,可从电路设计提取表示为h的路径敏化函数。可以CNF形式来提取该函数。另外或替换地,可通过结合BDD来提取该函数。在某些示例性实施方式中,可通过相对于输入元件计算用于路径中的每个信号的布尔差来提取该函数。
第一电路设计(例如,100)可以以组合方式等效于第二电路设计(例如,101)。在步骤220中,可基于两个电路设计的输入和输出元件之间的预定义相关,来标识分别地对应于A和B的A'和B'。该相关可以是两个电路的输入和输出元件之间的预定映射、用于基于另一电路中的元件的名称来确定一个电路中的相应元件的转换函数等。
在步骤230中,可使用两个设计的元件之间的相关来将路径敏化函数转换成表示为h'的相应敏化函数。在某些示例性实施方式中,可基于第一电路设计的输入元件到第二电路设计的输入元件的投影来确定相应的敏化函数。
在步骤240中,针对能够位于A'和B'之间的路径中(例如,A'的扇出锥体和B'的扇入锥体)的每个节点,可计算f(n)^h',其中,f(n)是定义节点n的信号的值的布尔函数。应注意的是,节点n可以是具有输出信号的门,诸如图1A的128。基于该计算,可确定在对应关系函数的限制下在n中是否可观察到s'的值。在某些示例性实施方式中,这可基于计算的函数的支持来确定:在支持包括信号s'的情况下,则函数对其值敏感。另外或替换地,诸如可使用SAT解算器来确定是否存在其中s'的值修改计算函数的值的情况。
在步骤250中,标识A'与B'之间的所有路径,该路径仅包括其信号对s'的值敏感的节点(该信号对应于输入元件A')。每个此类路径被说成是对应于第一电路设计的路径。通过标识所有此类路径,公开主题可能能够标识可第二电路设计中的对应于第一电路设计的所有路径。
在步骤260中,设计师(或其他用户)可使用关于第一电路设计的路径所获取的信息,来修改第二电路设计的所标识路径。在某些示例性实施方式中,设计师可在时序调试中、在向后注解中和在工程更改指令(ECO)中利用所标识路径。
现在参考图3,其示出了根据公开主题的某些示例性实施方式的设备的部件的框图。设备300可以是适合于执行诸如图2中所描述的方法的计算机化设备。
在某些示例性实施方式中,设备300包括处理器302。该处理器302可以是中央处理单元(CPU)、微处理器、电子电路、集成电路(IC)等。替换地,能够将设备300实现为针对诸如数字信号处理器(DSP)微控制器之类的特定处理器所写或被端接到该特定处理器的固件,或者能够实现为诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)之类的硬件或可配置硬件。可利用处理器302来执行设备200或其任何子部件所需的计算。
在公开主题的某些示例性实施方式中,设备300可包括诸如终端、显示器、键盘、输入设备等输入/输出(I/O)模块305,以与系统相交互、以调用系统并接收结果。然而将认识到的是所述系统能够在没有人工操作的情况下操作。
在某些示例性实施方式中,可利用I/O模块205来向诸如设计师之类的用户380提供接口,以与设备300相交互,诸如通过提供电路设计、通过第一电路设计中的路径、通过修改所标识路径或以任何类似方式相交互。
在某些示例性实施方式中,设备300可包括存储器单元307。存储器单元307可以是持久性或易失性的。例如,存储器单元307是闪速磁盘、随机存取存储器(RAM)、存储器芯片、诸如CD、DVD或激光盘之类的光学存储器件;磁存储器件,诸如磁带、硬盘、存储区域网(SAN)、网络附着存储(NAS)等;半导体存储器件,诸如闪速器件、记忆棒等。在某些示例性实施方式中,存储器单元307可保持可操作用于促使处理器302执行与以上图2中所示的任何步骤相关联的动作的程序代码。
可将下面详述的部件实现为例如由处理器302或由另一处理器执行的一组或多组互相关计算机指令。可将该部件布置为用任何程序设计语言且在任何计算环境下编程的一个或多个可执行文件、动态库、静态库、方法、函数、服务等。
可将路径敏化函数提取器310配置成提取路径的路径敏化函数。路径敏化函数提取器310可用来执行步骤210。
可将第一电路至第二电路转换器320配置成基于预定的一一对应关系来将第一电路的输入/输出元件转换成第二电路的相应元件。转换器320可通过用其相应元件来替换每个元件而转换诸如路径敏化函数之类的函数。在某些示例性实施方式中,转换器320可利用模式匹配在元件之间进行转换。转换器320可用来执行步骤220和230。
可将敏化节点标识器330配置成针对第二电路设计的节点计算它们是否在对于其而言在第一电路设计中采取的路径的输入下针对s'的值被敏化。可将节点标识器330配置成计算f(n)∧h',并确定对于此函数而言s'是否是可观察到的。在某些示例性实施方式中,节点标识器330可计算用于f(n)∧h'的BDD,并且可确定s'是否被结果得到的BDD支持。在某些示例性实施方式中,节点标识器330可从第二电路设计的所有节点之中、B'的扇入中的所有节点之中、A'的扇出中的所有节点之中等标识节点。在某些示例性实施方式中,可使用节点标识器330来执行步骤240。
可将路径标识器340配置成标识第二设计中的第一设计的路径的路径。该路径可仅包括节点标识器330所标识的节点,并且可在A'中开始且在B'中结束。路径标识器340可用来执行步骤250。
在某些示例性实施方式中,可将BDD模块350配置成为用于设备300的部件的BDD操纵提供支持。另外或替换地,可使用SAT解算器352来对CNF公式求解。在某些示例性实施方式中,可将BD模块354配置成提供布尔差功能。将理解的是某些实施方式可使用所有这些模块,而其他的实施方式可仅使用其一部分。另外或替换地,某些实施方式可使用不同的数据结构或计算模块来实现公开主题。
附图中的流程图和框图显示了根据本公开的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这方面,流程图中的每个方框和框图中的某些方框可表示程序代码的模块、段或一部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应注意的是,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。还应注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在此使用的术语仅是为了描述特定实施方式,且不旨在限制本公开。如在此使用的,单数形式“一种”、“一个”和“该”也旨在包括复数形式,除非上下文另外清楚地指明。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/或组件。
如本领域的技术人员将认识到的,可以将公开主题体现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本公开可以采取计算机程序产品的形式,其以具有在介质中体现的计算机可用程序代码的表示符号的任何有形介质来体现。
可以利用一个或多个可用或计算机可读介质的任意组合。计算机可用或计算机可读介质可以是例如但不限于任何非临时计算机可读介质、电子、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的那些之类的传输介质或磁存储器件。请注意,计算机可用或计算机可读介质甚至可以是在其上面印刷程序的纸张或另一适当介质,因为能够经由例如纸张或其他介质的光学扫描以电子方式来捕捉程序,然后在必要时以适当的方式进行编译、解释或另行处理,并且然后存储在计算机存储器中。在本文的语境中,计算机可用或可读介质可以是能够包含、存储、传送、传播或传输供指令执行系统、装置或设备或与之相结合地使用的程序的任何装置。计算机可用介质可以包括具有用基带或作为载波的一部分在其中体现的计算机可用程序代码的传播数据信号。可使用任何适当的介质来传输计算机可用程序代码,包括但不限于无线、有线、光纤电缆、RF等。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的操作的计算机程序代码,所述程序设计语言包括面向对象程序设计语言,诸如Java、Smalltalk、C++等和常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以下权利要求书中的所有装置或步骤加功能元件的相应结构、材料、动作以及等效物(如果有的话)旨在包括用于与其他权利要求元素相结合地执行功能的任何结构、材料或动作,如具体地要求保护的那样。呈现本公开的说明是为了示出和描述的作用,但不是穷尽性的或将本公开限制于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显的,且不脱离本公开的范围。选择并描述实施方式是为了最好地解释本公开的原理和实际应用,并且使得本领域的技术人员能够针对具有适合于预期的特定用途的各种修改的各种实施方式来理解本公开的布置。

Claims (16)

1.一种计算机实现的方法,包括:
获取分离的第一电路设计和第二电路设计,所述第一电路设计和所述第二电路设计具有输入元件和输出元件的相应组,其中对于每对相应输出元件,所述第一电路设计和所述第二电路设计定义一对等效组合功能以定义一对输出元件的值,其中所述一对等效组合功能是各自在输入元件的各个组之上定义的;
获取所述第一电路设计中的路径,所述路径在输入元件中开始并在输出元件中结束,其中所述输入元件和所述输出元件由组合逻辑元件连接;
由所述计算机自动地提取所述第一电路设计中的所述路径的敏化函数;以及
由所述计算机自动地确定所述第二电路设计中的由所述第一电路设计中的路径的所述敏化函数敏化的一个或多个路径。
2.根据权利要求1所述的计算机实现的方法,其中所述第一电路设计和所述第二电路设计是同一电路的组合等效表示,每个电路设计具有不同的抽象层级。
3.根据权利要求1所述的计算机实现的方法,其中所述第一电路设计是电路的综合后版本,以及所述第二电路设计是所述电路的综合前版本。
4.根据权利要求3所述的计算机实现的方法,其中所述第一电路路径与时序问题相关联,并且所述方法还包括:用户修改所述第二电路设计中的一个或多个路径以修复所述时序问题。
5.根据权利要求3所述的计算机实现的方法,还包括:将所述第二电路设计中的一个或多个路径用于从包括以下各项的组选择的活动:向后注解和工程更改指令ECO。
6.根据权利要求1所述的计算机实现的方法,其中所述自动地确定包括:确定所述第二电路设计中的对应于所述第一电路设计中的所述路径的所有路径。
7.根据权利要求1所述的计算机实现的方法,其中在从所述第一电路设计中的路径和所述第二电路设计中的一个或者多个路径选择的所述路径中的一个路径中存在至少一个信号,所述至少一个信号在对等电路设计中不具有相应信号。
8.根据权利要求1所述的计算机实现的方法,其中所述输入元件和所述输出元件包括初级输入、初级输出和存储器元件。
9.一种具有处理器的设备,所述处理器适合于执行步骤:
获取分离的第一电路设计和第二电路设计,所述第一电路设计和所述第二电路设计具有输入元件和输出元件的相应组,其中对于每对相应输出元件,所述第一电路设计和所述第二电路设计定义一对等效组合功能以定义一对输出元件的值,其中所述一对等效组合功能是各自在输入元件的各个组之上定义的;
获取所述第一电路设计中的路径,所述路径在输入元件中开始并在输出元件中结束,其中所述输入元件和所述输出元件由组合逻辑元件连接;
由计算机自动地提取所述第一电路设计中的所述路径的敏化函数;以及
由所述计算机自动地确定所述第二电路设计中的由所述第一电路设计中的路径的敏化函数敏化的一个或多个路径。
10.根据权利要求9所述的设备,其中所述第一电路设计和所述第二电路设计是同一电路的组合等效表示,每个电路设计具有不同的抽象层级。
11.根据权利要求9所述的设备,其中所述第一电路设计是电路的综合后版本,以及所述第二电路设计是电路的综合前版本。
12.根据权利要求11所述的设备,其中所述第一电路路径与时序问题相关联,用户修改所述第二电路设计中的一个或多个路径以修复所述时序问题。
13.根据权利要求9所述的设备,其中所述处理器还适合于执行:将所述第二电路设计中的一个或多个路径用于从包括以下各项的组选择的活动:向后注解和工程更改指令ECO。
14.根据权利要求9所述的设备,其中所述自动地确定包括:确定所述第二电路设计中的对应于所述第一电路设计中的所述路径的所有路径。
15.根据权利要求9所述的设备,其中在从所述第一电路设计中的路径和所述第二电路设计中的一个或者多个路径选择的所述路径中的一个路径中存在至少一个信号,所述至少一个信号在对等电路设计中不具有相应信号。
16.根据权利要求9所述的设备,其中所述输入元件和所述输出元件包括初级输入、初级输出和存储器元件。
CN201410183219.XA 2013-05-02 2014-04-30 用于检测组合等效电路设计中的相应路径的方法和系统 Active CN104133931B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/875,309 US8949766B2 (en) 2013-05-02 2013-05-02 Detecting corresponding paths in combinationally equivalent circuit designs
US13/875,309 2013-05-02

Publications (2)

Publication Number Publication Date
CN104133931A CN104133931A (zh) 2014-11-05
CN104133931B true CN104133931B (zh) 2018-01-09

Family

ID=51806607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410183219.XA Active CN104133931B (zh) 2013-05-02 2014-04-30 用于检测组合等效电路设计中的相应路径的方法和系统

Country Status (2)

Country Link
US (1) US8949766B2 (zh)
CN (1) CN104133931B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372083A1 (en) * 2013-06-13 2014-12-18 International Business Machines Corporation Derived restrictions in a combinatorial model
CN107798203B (zh) * 2017-11-16 2019-07-26 宁波大学 一种组合逻辑电路等效性检测方法
CN112100972B (zh) * 2019-05-31 2024-02-13 创意电子股份有限公司 电路校正系统与增加扫描测试涵盖率的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8191034B1 (en) * 2010-09-23 2012-05-29 Cadence Design Systems, Inc. Method and system for measuring terminal compatibility and alignment
CN102541682A (zh) * 2010-12-31 2012-07-04 上海讯垒网络科技有限公司 嵌入式系统中程序异常快速自行恢复方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234609B2 (en) 2007-12-21 2012-07-31 Cadence Design Systems, Inc. Method and system for implementing top down design and verification of an electronic design
US8245166B2 (en) 2010-08-31 2012-08-14 International Business Machines Corporation Optimal correlated array abstraction
US8261227B2 (en) * 2010-12-01 2012-09-04 International Business Machines Corporation Circuit design approximation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8191034B1 (en) * 2010-09-23 2012-05-29 Cadence Design Systems, Inc. Method and system for measuring terminal compatibility and alignment
CN102541682A (zh) * 2010-12-31 2012-07-04 上海讯垒网络科技有限公司 嵌入式系统中程序异常快速自行恢复方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A PATH ANALYSIS APPROACH TO THE DIAGNOSIS OF COMBINATIONAL CIRCUITS";Sarma R. Vishnubhotla .etc;《DAC Proceeding of the 8th Design Automation Workshop》;19711231;第222-230页 *
"多值逻辑电路测试的敏化路径法研究";潘中良;《仪器仪表学报》;20040831;第25卷(第4期);第60-61页 *
"时序 电路测试中敏化路径选择研究";王仲 等;《装甲兵工程学院学报》;19981231;第12卷(第3期);第25-29页 *

Also Published As

Publication number Publication date
US8949766B2 (en) 2015-02-03
CN104133931A (zh) 2014-11-05
US20140331199A1 (en) 2014-11-06

Similar Documents

Publication Publication Date Title
US9218440B2 (en) Timing verification of an integrated circuit
TWI479351B (zh) 模擬電路設計之方法及設備以及電腦可讀取儲存媒體
US8156457B2 (en) Concurrent simulation of hardware designs with behavioral characteristics
US9298865B1 (en) Debugging an optimized design implemented in a device with a pre-optimized design simulation
US10078714B2 (en) Data propagation analysis for debugging a circuit design
US10915683B2 (en) Methodology to create constraints and leverage formal coverage analyzer to achieve faster code coverage closure for an electronic structure
US10885246B2 (en) Structural matching for fast re-synthesis of electronic circuits
US8522182B2 (en) Generation of an end point report for a timing simulation of an integrated circuit
US9965575B2 (en) Methods and systems for correcting X-pessimism in gate-level simulation or emulation
CN104133931B (zh) 用于检测组合等效电路设计中的相应路径的方法和系统
US9626468B2 (en) Assertion extraction from design and its signal traces
US9104829B2 (en) Method of validating timing issues in gate-level simulation
CN101241519A (zh) 在存在终端约束时生成约束保持测试用例的系统和方法
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US9600613B1 (en) Block-level code coverage in simulation of circuit designs
US9792392B2 (en) Method for determining the sizing of the transistors of an analog circuit
TW201040766A (en) Performing logic optimization and state-space reduction for hybrid verification
US9710579B1 (en) Using smart timing models for gate level timing simulation
US20170212977A1 (en) Area and/or power optimization through post-layout modification of integrated circuit (ic) design blocks
JP4985211B2 (ja) 論理回路のシミュレーション
US20070277133A1 (en) Model correspondence method and device
Slimani et al. A novel analytical method for defect tolerance assessment
JAIN AUTOMATION OF RTL TO GDS II DESIGN FLOW USING SCRIPT’S METHODOLOGY
Ubar et al. High-Level Decision Diagrams
JP6394278B2 (ja) 有限状態機械の設計検証装置、設計検証方法、及び設計検証プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant