CN102110176B - 一种用于逻辑电路变更点搜寻方法及装置 - Google Patents
一种用于逻辑电路变更点搜寻方法及装置 Download PDFInfo
- Publication number
- CN102110176B CN102110176B CN2009101073437A CN200910107343A CN102110176B CN 102110176 B CN102110176 B CN 102110176B CN 2009101073437 A CN2009101073437 A CN 2009101073437A CN 200910107343 A CN200910107343 A CN 200910107343A CN 102110176 B CN102110176 B CN 102110176B
- Authority
- CN
- China
- Prior art keywords
- logical circuit
- module
- pin
- description language
- hardware description
- 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
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种用于逻辑电路搜寻变更点方法及装置。该方法定义一指示地图并执行功能等效检查以判断该指示地图是否正确。若判断结果为是,该方法在逻辑电路的缓存器传输级硬件描述语言加入陷阱,以使逻辑电路的绕线后逻辑闸级硬件描述语言产生多个比较点。接着,该方法根据该多个比较点对逻辑电路的绕线后逻辑闸级硬件描述语言以反向顺序执行功能等效检查,以寻找变更点。使用本发明的技术方案,节省了在复杂逻辑电路的绕线后逻辑闸级硬件描述语言中找到可能的工程变更命令点的时间及精力。
Description
技术领域
本发明涉及逻辑电路(logic circuit),具体涉及一种能够在逻辑电路中快速找到工程变更命令(Engineering Change Order,ECO)点的变更点搜寻方法及装置。
背景技术
随着电子科技的不断发展,各式各样的电子产品的体积越来越轻薄短小,但其具备的功能却越来越多。因此,在面积相当小的芯片中必须设置有数目非常庞大的各种电子组件,才足以应付电子产品的实际需求。
在传统的IC设计流程中,工程变更命令是属于整个设计流程后端的工程变更步骤。假设一逻辑电路源自于缓存器传输级(Register Transfer Level,RTL)硬件描述语言,经合成(synthesized)后转换为合成逻辑闸级(gate level)硬件描述语言,接着,再通过自动布局绕线法(Automatic Placement and Routing,APR)转换为最佳化(optimized)的绕线后逻辑闸级硬件描述语言。
在此过程中,由于该逻辑电路经过了合成及自动布局绕线等程序,该逻辑电路包含的所有功能组件之间将会彼此进行耦接、合并或化简,以使得逻辑电路能够通过时序限制(timing constraint)并且缩小其使用面积,因此,当设计者想要对该逻辑电路的绕线后逻辑闸级硬件描述语言进行工程变更命令的修改,将会变的相当困难。
其最大的难处在于,设计者必须分别对于该逻辑电路的缓存器传输级硬件描述语言以及绕线后逻辑闸级硬件描述语言的功能组件进行逻辑等效检查(logical equivalent check),才能确保设计者在该逻辑电路所进行的修改无论是在缓存器传输级硬件描述语言的阶段以及绕线后逻辑闸级硬件描述语言的阶段均为正确无误的。也就是说,为了进行工程变更命令的修改,设计者必须反复回到合成逻辑闸级硬件描述语言的阶段及绕线后逻辑闸级硬件描述语言的阶段,再次执行繁琐的数据汇出和汇入作业。
然而,很明显地,要在已合成且最佳化的该逻辑电路的绕线后逻辑闸级硬件描述语言中寻找可能的工程变更命令点远比在原本的缓存器传输级硬件描述语言中寻找可能的工程变更命令点困难。因此,为了进行工程变更命令的修改,设计者势必要花费大量的时间及精力在复杂的该逻辑电路的绕线后逻辑闸级硬件描述语言中找到可能的工程变更命令点,这将会严重影响整个IC设计流程的进度,因而导致后续产品生产及上市时间的延迟。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述在复杂的逻辑电路的绕线后逻辑闸级硬件描述语言中找到可能的工程变更命令点需花费大量的时间及精力的缺陷,提供一种节省时间和精力的变更点搜寻装置。
本发明解决其技术问题所采用的技术方案是:构造一种用于逻辑电路搜寻变更点的装置,该逻辑电路源自于一缓存器传输级硬件描述语言,经合成后转换为一合成逻辑闸级硬件描述语言,再通过自动布局绕线法转换为一绕线后逻辑闸级硬件描述语言。在本发明所述的用于逻辑电路搜寻变更点的装置,该变更点搜寻装置包含一定义模块、一验证模块、一比较模块及一检查模块。该定义模块耦接至该逻辑电路,并用以定义一指示地图,其中,该指示地图用以指示出多个引脚。该验证模块耦接至该定义模块,并用以对该指示地图执行功能等效检查以判断该指示地图是否正确。该比较模块耦接至该验证模块及该逻辑电路,若该验证模块的判断结果为是,该比较模块将会在该逻辑电路的该缓存器传输级硬件描述语言加入陷阱,以使得该逻辑电路的该绕线后逻辑闸级硬件描述语言产生多个比较点。该检查模块耦接至该比较模块及该逻辑电路,并用以根据该多个比较点对该逻辑电路的该绕线后逻辑闸级硬件描述语言反向执行功能等效检查,以在该绕线后逻辑闸级硬件描述语言中找到一变更点。
本发明还构造一种用于逻辑电路变更点搜寻方法,该逻辑电路源自于一缓存器传输级硬件描述语言,经合成后转换为一合成逻辑闸级硬件描述语言,再通过自动布局绕线法转换为一绕线后逻辑闸级硬件描述语言。在该变更点搜寻方法中,首先,定义一指示地图,该指示地图用以指示出多个引脚;接着,执行功能等效检查以判断该指示地图是否正确;若上述判断结果为是,在该逻辑电路的该缓存器传输级硬件描述语言加入陷阱,以使得该逻辑电路的该绕线后逻辑闸级硬件描述语言产生多个比较点;根据该多个比较点对该逻辑电路的该绕线后逻辑闸级硬件描述语言以反向顺序执行功能等效检查,以在该绕线后逻辑闸级硬件描述语言中找到一变更点。该变更点可以是一工程变更命令点;该至少一陷阱可以是一工程变更命令的变更,但不以此为限。
相比现有技术,根据本发明所述的用于逻辑电路的变更点搜寻方法及装置是通过在逻辑电路的缓存器传输级硬件描述语言加入陷阱(即工程变更命令的变更),使得逻辑电路的绕线后逻辑闸级硬件描述语言也会出现相对应的比较点,接着,该变更点搜寻装置再通过限定模块逐步缩小工程变更命令点可能出现的范围,故能够迅速地在逻辑电路的绕线后逻辑闸级硬件描述语言找到所需的工程变更命令点。
因此,通过本发明提出的变更点搜寻方法以及变更点搜寻装置的帮助,设计者即可大幅节省原先花费在复杂的逻辑电路的绕线后逻辑闸级硬件描述语言中寻找可能的工程变更命令点的时间及精力,因此可有效提升整个IC设计流程的效率,也可缩短产品上市的时间,以提升其竞争力。
关于本发明的优点与精神可以由以下的发明详述及所附图得到进一步的了解。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明第一具体实施例的变更点搜寻装置的功能方块图;
图2(A)是逻辑电路的合成逻辑闸级硬件描述语言的功能地图的示意图;
图2(B)为图2(A)的合成逻辑闸级硬件描述语言经过自动布局绕线后的绕线后逻辑闸级硬件描述语言的功能地图的示意图;
图3(A)是本发明在逻辑电路的缓存器传输级硬件描述语言的程序编码中加入陷阱的示意图;
图3(B)是在该逻辑电路的绕线后逻辑闸级硬件描述语言找出比较点并定义扇入锥区域的示意图;
图4(A)和图4(B)是本发明逻辑电路的缓存器传输级硬件描述语言的回馈多任务器经过合成逻辑闸级硬件描述语言的示意图;
图4(C)是对图4(B)的合成逻辑闸级硬件描述语言进行扇入锥功能失效测试的示意图;
图5(A)和图5(B)是分别对不同的逻辑电路的合成逻辑闸级硬件描述语言进行扇入锥功能失效测试的示意图;
图6是本发明的第二具体实施例的变更点搜寻方法的流程图。
主要组件符号说明:
S10~S28:流程步骤
1:变更点搜寻装置 10:定义模块
12:验证模块 14:分解模块
16:比较模块 18:限定模块
20:检查模块 30、50、60:扇入锥区域
2:合成逻辑闸级硬件描述语言
21:扫描引脚 22:测试引脚
23:数据复制引脚 24:数据倒转引脚
25:频率引脚 26、42:触发器
8:锁相回路 9:探针
2′、3、4′、5、6:绕线后逻辑闸级硬件描述语言
4:缓存器传输级硬件描述语言
41:回馈多任务器 D:触发器的输入端
411′~412′:功能组件 P1~P13:测试点
27、271′~272′、31~34、51~55、61~72:逻辑组件
AOI21、NAND4:电路模块 Q:触发器的输出端
in1~in3、A0~A1、B0、A~D:输入引脚
ou1~out6、out、Y:输出引脚
具体实施方式
本发明的主要目的在于提出一种变更点搜寻方法以及变更点搜寻装置。实施本发明的技术方案,设计者即可大幅节省原先花费在复杂的逻辑电路的绕线后逻辑闸级硬件描述语言中寻找可能的工程变更命令点的时间,以提升整个IC设计流程的效率,避免由于设计流程后端的工程变更导致后续产品生产及上市时间的延迟。
在本发明所述的用于逻辑电路的变更点的搜寻装置,该变更点可以是工程变更命令点,但不以此为限。在此实施例中,该逻辑电路源自于一缓存器传输级硬件描述语言的网络表(netlist),经过合成后转换为一合成逻辑闸级硬件描述语言的网络表,接着,该逻辑电路再通过自动布局绕线法转换为最佳化的一绕线后逻辑闸级硬件描述语言的网络表。
请参照图1,图1示出了本发明的第一具体实施例的变更点搜寻装置的功能方块图。如图1所示,变更点搜寻装置1包含定义模块10、验证模块12、分解模块14、比较模块16、限定模块18及检查模块20。其中,验证模块12耦接至定义模块10及分解模块14;比较模块16耦接至分解模块14及限定模块18;检查模块20耦接至限定模块18;定义模块10、验证模块12、分解模块14、比较模块16、限定模块18及检查模块20均耦接至一逻辑电路(未示出),以在该逻辑电路中寻找一目标工程变更命令点,接下来,将分别对变更点搜寻装置1所包含的各模块及其功能进行介绍。
请先参照图2(A)及图2(B),图2(A)为合成逻辑闸级硬件描述语言的功能地图的示意图,而图2(B)为图2(A)的合成逻辑闸级硬件描述语言经过自动布局绕线后转换为绕线后逻辑闸级硬件描述语言的功能地图的示意图。如图2(A)所示,该逻辑电路的合成逻辑闸级硬件描述语言2的输入端包含有扫描引脚(scan pin)21、测试引脚(test pin)22、数据复制引脚(data clone pin)23、数据倒转引脚(data inverter pin)24及频率引脚(clock pin)25,其中,该扫描引脚21耦接至探针9;频率引脚25耦接至锁相回路(Phase Loop Lock,PLL)8以及该逻辑电路内的触发器(Flip-Flop,FF)26,但不以此为限。
当图2(A)中的该逻辑电路的合成逻辑闸级硬件描述语言2经过自动布局绕线程序后,便会成为图2(B)所示的绕线后逻辑闸级硬件描述语言2′。比较图2(A)及图2(B)可知,在此实施例中,绕线后逻辑闸级硬件描述语言2′与合成逻辑闸级硬件描述语言2的差别仅在于:原本耦接至数据复制引脚23的逻辑组件27经过自动布局绕线后,将会分解成两个逻辑组件271′及272′。
在此实施例中,变更点搜寻装置1的定义模块10用以根据该逻辑电路的合成逻辑闸级硬件描述语言2与绕线后逻辑闸级硬件描述语言2′定义指示地图(instruction map),以利于变更点搜寻装置1后续搜寻动作的进行。实际上,指示地图可包含有基本比较点信息,因此此实施例的指示地图即可包含有扫描引脚21、测试引脚22、数据复制引脚23、数据倒转引脚24、频率引脚25及触发器26的位置信息,但不以此为限。
接着,变更点搜寻装置1的验证模块12即会对该指示地图执行功能等效检查(functional equivalent check)以判断该指示地图是否正确。实际上,验证模块12针对该逻辑电路的缓存器传输级硬件描述语言以及绕线后逻辑闸级硬件描述语言2′进行逻辑组件功能的比较,以完成功能等效检查。
若验证模块12的判断结果为是,也就是说,验证模块12已经确认该指示地图无误,因此,变更点搜寻装置1将会继续进行后续的变更点搜寻程序。
在此实施例中,变更点搜寻装置1的比较模块16将会在该逻辑电路的缓存器传输级硬件描述语言加入至少一陷阱(trap),以使得该逻辑电路的绕线后逻辑闸级硬件描述语言产生多个比较点(comparing points)。在实际应用中,该至少一陷阱与工程变更命令的变更有关,也就是使用者可在该逻辑电路的缓存器传输级硬件描述语言加入一些工程变更命令的变更,当该逻辑电路的缓存器传输级硬件描述语言经过合成及自动布局绕线而成为绕线后逻辑闸级硬件描述语言时,即会显示出对应于这些工程变更命令的变更的比较点。实际上,这些比较点可选自该逻辑电路的各输出引脚以及触发器的一输入引脚,但不以此为限。
接下来,变更点搜寻装置1的限定模块18将会根据比较点定义该逻辑电路中的一扇入锥(fanin cone)区域并判断位在该扇入锥区域内的功能组件是否符合一特定条件。其中,该特定条件对应于该至少一陷阱。
在实际应用中,限定模块18所进行的上述判断程序即为扇入锥功能失效测试(fanin cone function abort test),用以排除掉扇入锥区域内不可能为想要寻找的变更点的功能组件,以增进变更点搜寻装置1的搜寻速度。若限定模块18的判断结果为是,限定模块18将会定义符合该特定条件的这些功能组件为待检查功能组件。
值得注意的是,由于限定模块18已经定义出扇入锥区域内的待检查功能组件,所以检查模块20仅需以反向的顺序针对这些待检查功能组件进行功能等效检查即可,并不需要再对该逻辑电路的绕线后逻辑闸级硬件描述语言中的其它功能组件进行功能等效检查,故可大幅缩减变更点搜寻装置1搜寻变更点所花费的时间。实际上,由于这些待检查功能组件并不一定就是变更点搜寻装置1所要寻找的变更点,故变更点搜寻装置1也可能找不到任何变更点。
请参照图3,图3示出了通过在该逻辑电路的缓存器传输级硬件描述语言加入陷阱的方式找出绕线后逻辑闸级硬件描述语言的比较点的一范例。其中,图3(A)示出了在该逻辑电路的缓存器传输级硬件描述语言的程序编码中加入陷阱的叙述(如虚线圈起处所示)的示意图;图3(B)则示出了在该逻辑电路的绕线后逻辑闸级硬件描述语言找出比较点并定义扇入锥区域的示意图。
如图3(B)所示,假设在该逻辑电路的绕线后逻辑闸级硬件描述语言3中的比较模块16所加入的陷阱(即在原来的缓存器传输级硬件描述语言所作的工程变更命令的变更)的比较点为输出引脚out6以及触发器36的输入端D,则限定模块18即根据上述比较点在绕线后逻辑闸级硬件描述语言3内定义扇入锥区域30,并且扇入锥区域30由该逻辑电路的输入端向输出端变窄。
在此实施例中,由于扇入锥区域30内包含有逻辑组件31~34,所以限定模块18也会以反向(从输出端到输入端的方向)的顺序分别对逻辑组件31~34进行扇入锥功能失效测试,以判断逻辑组件31~34是否可能是变更点搜寻装置1所要寻找的变更点的功能组件。
例如,由图3(A)所加入的陷阱的叙述可知,变更点搜寻装置1所要寻找的变更点的功能组件所对应的输入引脚应为(In2,In3,In4);至于逻辑组件31~34所对应的输入引脚分别是(In2,In3,In4,In5)、(In2,In3,In4)、(In2,In4)及(In2,In3,In5)。经由限定模块18进行比较后,因为逻辑组件33及34所对应的输入引脚并未包含(In2,In3,In4)中的所有输入引脚,故限定模块18即会将逻辑组件33及34加以排除,并将逻辑组件31及32定义为待检查功能组件。因此,检查模块20仅需对逻辑组件31及32进行功能等效检查,即可搜寻出该逻辑电路的绕线后逻辑闸级硬件描述语言中是否具有对应于比较模块16所加入陷阱的变更点。
值得注意的是,当验证模块12已经确认该指示地图无误后,在比较模块16用于在该逻辑电路的缓存器传输级硬件描述语言加入陷阱使得绕线后逻辑闸级硬件描述语言产生比较点之前,分解模块14可以先判断该逻辑电路中是否包含具有多输入端的功能组件,若分解模块14的判断结果为是,代表该逻辑电路中的某些逻辑组件可能包含三个(含)以上的输入引脚,此时,分解模块14即会将这些具有多输入端的功能组件加以分解(decompose)成多个具有两输入引脚的功能组件。
请参照图4(A)及图4(B),图4(A)及图4(B)示出了缓存器传输级硬件描述语言的回馈多任务器(feedback multiplexer)转换为绕线后逻辑闸级硬件描述语言的示意图。如图4(A)所示,缓存器传输级硬件描述语言4的回馈多任务器41包含三个输入引脚in1、in2及in3以及一个输出引脚out,其中回馈多任务器41的输出引脚out耦接至触发器42的输入端D并且输入引脚in1耦接至触发器42的输出端Q,因此,回馈多任务器41可以通过输出引脚out传送一输出信号到触发器42,并且通过输入引脚in1接收触发器42所产生的一回馈信号,故回馈多任务器41具有回馈的功能。
当图4(A)的缓存器传输级硬件描述语言4转换为整合性频率控制(Integrated Clock Gating,ICG)的绕线后逻辑闸级硬件描述语言4′,如图4(B)所示。很明显地,当变更点搜寻装置1的分解模块14监测到缓存器传输级硬件描述语言4的回馈多任务器41包含三个输入引脚in1、in2及in3,所以分解模块14即会将回馈多任务器41分解成两个包含两输入引脚的功能组件411′及412′,至于触发器42则不变,只是各组件彼此间的耦接关系有所改变。在此实施例中,功能组件411′为一触发器。实际上,上述功能组件的种类可依据实际的电路需求进行选择,例如乘法器、加法器等,并无一定的限制。
图4(C)则示出了对图4(B)的绕线后逻辑闸级硬件描述语言4′进行扇入锥功能失效测试的示意图。如图4(C)所示,当变更点搜寻装置1的限定模块18以反向顺序对绕线后逻辑闸级硬件描述语言4′进行扇入锥功能失效测试时,比较点除了原来的触发器42的输入端D之外,还包含触发器411′的输入端D。
接下来,将以实际例子对前述的扇入锥功能失效测试作进一步的探讨。请参照图5(A),图5(A)示出了对一逻辑电路的绕线后逻辑闸级硬件描述语言进行扇入锥功能失效测试的示意图。如图5(A)所示,限定模块18在该逻辑电路的绕线后逻辑闸级硬件描述语言5中定义了扇入锥区域50,扇入锥区域50内包含有逻辑组件51~55,并且测试点P1~P5分别对应于逻辑组件51~55。接着,限定模块18即会依照反向顺序分别对扇入锥区域50内的测试点P1~P5进行扇入锥功能失效测试。假设变更点搜寻装置1所要寻找的变更点所对应的输入引脚为(In2,In3,In4),则测试点P1~P5当中只有测试点P1及P2能够通过此测试,至于测试点P3~P5则否,故限定模块18会将逻辑组件53~55加以排除,并将逻辑组件51及52定义为待检查逻辑组件。
值得注意的是,通过扇入锥功能失效测试的逻辑组件51及52可以构成电路模块AOI21,其中Y为电路模块AOI21的输出引脚,A0、A1及B0为电路模块AOI21的输入引脚。电路模块AOI21的功用在于通过逻辑组件52将从输入引脚A0及A1输入的信号相乘后再与输入引脚B0输入的信号相加,亦即输出引脚Y所输出的信号为(A0*A1)+B0。在实际应用中,电路模块AOI21的功能地图可以储存在变更点搜寻装置1的一数据库(未显示于图中),当分解模块14要分解具有多输入端的功能组件时,即可至该数据库寻找是否有相对应的功能地图,以作为扇入锥功能失效测试时的参考依据。
图5(B)则示出了对另一逻辑电路的绕线后逻辑闸级硬件描述语言进行扇入锥功能失效测试的示意图。如图5(B)所示,限定模块18在该逻辑电路的绕线后逻辑闸级硬件描述语言6中定义了扇入锥区域60,扇入锥区域60内包含有逻辑组件61~72及测试点P6~P13,并且测试点P6~P9分别对应于逻辑组件61~64;测试点P10~P13分别对应于逻辑组件67、70~72。接着,限定模块18即会依照反向的顺序分别对扇入锥区域60内的测试点P6~P9进行扇入锥功能失效测试。假设变更点搜寻装置1所要寻找的变更点所对应的输入引脚为(In2,In3,In4),则测试点P6~P9当中只有测试点P6及P7能够通过这一测试,至于测试点P8及P9则否,故限定模块18即会将对应于测试点P8及P9的逻辑组件63及64加以排除,并将对应于测试点P6及P7的逻辑组件61及62定义为待检查逻辑组件。
同理,限定模块18也会依照反向的顺序分别对扇入锥区域60内的测试点P10~P13进行扇入锥功能失效测试。假设变更点搜寻装置1所要寻找的变更点所对应的输入引脚为(In2,In3,In5),则测试点P10~P13当中只有测试点P10及P11能够通过这一测试,至于测试点P12及P13则否,故限定模块18即会将对应于测试点P12及P13的逻辑组件71及72加以排除,并将对应于测试点P10及P11的逻辑组件67及70定义为待检查逻辑组件。至于扇入锥区域60内的其它逻辑组件也可依此类推,故不另行赘述。
值得注意的是,上述的逻辑组件61~72均属于电路模块NAND4的一部份。如图5(B)所示,电路模块NAND4包含输出引脚Y以及输入引脚A~D,电路模块NAND4的功用在于将从输入引脚A~D输入的信号相乘后再反相,亦即输出引脚Y所输出的信号为(A*B*C*D)′。同样地,电路模块NAND4的功能地图也可储存在变更点搜寻装置1的数据库内,当分解模块14要分解具有多输入端的功能组件时,即可从该数据库寻找是否有相对应的功能地图,以作为扇入锥功能失效测试时的参考依据。
根据本发明第二实施例提供的一种用于逻辑电路变更点搜寻方法。在此实施例中。该逻辑电路源自于一缓存器传输级硬件描述语言,经合成后转换为一合成逻辑闸级硬件描述语言,接着,再通过自动布局绕线法转换为绕线后逻辑闸级硬件描述语言。实际上,该变更点搜寻方法所寻找的变更点可以是一工程变更命令(Engineering Change Order,ECO)点,但不以此为限。
请参照图6,图6示出了根据本发明第二实施例的变更点搜寻方法的流程图。如图6所示,首先,该变更点搜寻方法执行步骤S10,定义一指示地图。在此实施例中,该指示地图用以指示出该逻辑电路的多个引脚。
在实际应用中,该逻辑电路的输入端包含有频率引脚、测试引脚、扫描引脚、数据复制引脚及数据倒转引脚等,但不以此为限。实际上,指示地图可包含有基本比较点信息,故此实施例的指示地图可包含频率引脚、测试引脚、扫描引脚、数据复制引脚、数据倒转引脚及触发器的位置信息,但不以此为限。
接着,该变更点搜寻方法执行步骤S12,执行功能等效检查以判断该指示地图是否正确。若步骤S12的判断结果为是,该方法执行步骤S14,判断该逻辑电路中是否包含具有多输入端的功能组件。若步骤S14的判断结果为是,代表该逻辑电路中的某些功能组件具有多个输入引脚,该方法执行步骤S16,将这些具有多输入端的功能组件分解成多个具有两输入端的功能组件。
接着,该方法执行步骤S18,在该逻辑电路的该缓存器传输级硬件描述语言加入至少一陷阱,以使得该逻辑电路的该绕线后逻辑闸级硬件描述语言产生多个比较点。在实际应用中,该至少一陷阱与工程变更命令的变更有关,但不以此为限。此外,该逻辑电路包含有多个输出引脚及触发器,该多个比较点选自该多个输出引脚及触发器的输入引脚,但不以此为限。
然后,该方法执行步骤S20,根据该比较点定义该逻辑电路中的一扇入锥区域,其中该扇入锥区域由该逻辑电路的输入端向输出端变窄。接着,该方法执行步骤S22,判断位在该扇入锥区域内的功能组件是否符合一特定条件,其中该特定条件对应于该至少一陷阱。若步骤S22的判断结果为是,该方法执行步骤S24,定义符合该特定条件的功能组件为待检查功能组件。因此,该方法仅需对这些待检查功能组件进行功能等效检查,即可快速地搜寻出该逻辑电路的该绕线后逻辑闸级硬件描述语言中是否具有对应于该方法在步骤S18中所加入的陷阱的变更点。若步骤S22的判断结果为否,该方法执行步骤S26,排除不符合该特定条件的功能组件。
最后,该方法执行步骤S28,根据该多个比较点对该逻辑电路的该绕线后逻辑闸级硬件描述语言以一反向顺序执行功能等效检查,以在该绕线后逻辑闸级硬件描述语言中找到一变更点。实际上,该方法是在该扇入锥区域内以反向顺序对该等待检查功能组件进行功能等效检查,以从该等待检查功能组件中找出该变更点。
相比现有技术,根据本发明的变更点搜寻方法及装置通过在逻辑电路的缓存器传输级硬件描述语言加入陷阱(即在缓存器传输级硬件描述语言的工程变更命令的变更),使得逻辑电路的绕线后逻辑闸级硬件描述语言也会出现相对应的比较点,接着,该变更点搜寻装置再通过限定模块逐步缩小工程变更命令点可能出现的范围,故该变更点搜寻装置能够迅速地在逻辑电路的绕线后逻辑闸级硬件描述语言中找到所需的工程变更命令点。
因此,通过本发明提出的变更点搜寻方法及装置的帮助,设计者即可大幅节省原先花费在复杂的绕线后逻辑闸级硬件描述语言电路中寻找可能的工程变更命令点的时间及精力,故可有效提升整个IC设计流程的效率,亦可缩短产品上市的时间,以提升其竞争力。
综合以上最优具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的最优具体实施例来对本发明的范围加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的替换在本发明所要申请的专利范围内。
Claims (15)
1.一种用于逻辑电路搜寻变更点的方法,该逻辑电路源自于一缓存器传输级硬件描述语言,经合成后转换为一合成逻辑闸级硬件描述语言,再通过自动布局绕线法转换为一绕线后逻辑闸级硬件描述语言,其特征在于,该方法包含下列步骤:
定义一指示地图,该指示地图用以指示多个引脚;
当执行功能等效检查判断该指示地图是正确时,且当判断该逻辑电路中是否包含具有多输入端的功能组件的结果为是时,将具有多输入端的功能组件分解成多个具有两输入端的功能组件,在该缓存器传输级硬件描述语言加入至少一陷阱,使得该绕线后逻辑闸级硬件描述语言产生多个比较点;
根据该比较点定义该逻辑电路中的一扇入锥区域,其中该扇入锥区域是由该逻辑电路的输入端向输出端变窄;
当判断位于该扇入锥区域内的功能组件是否符合一特定条件的结果为是,及其中该特定条件是对应于该至少一陷阱时,定义符合该特定条件的功能组件为待检查功能组件;以及
根据该多个比较点对该绕线后逻辑闸级硬件描述语言以反向顺序执行功能等效检查,以在该绕线后逻辑闸级硬件描述语言中找到该变更点。
2.根据权利要求1所述的用于逻辑电路搜寻变更点的方法,其特征在于,该变更点是工程变更命令点。
3.根据权利要求1所述的用于逻辑电路搜寻变更点的方法,其特征在于,其中该逻辑电路的输入端包含一频率引脚、一测试引脚、一扫描引脚、一数据复制引脚及一数据倒转引脚。
4.根据权利要求3所述的用于逻辑电路搜寻变更点的方法,其特征在于,其中该指示地图包含该频率引脚、该测试引脚、该扫描引脚、该数据复制引脚及该数据倒转引脚的位置信息。
5.根据权利要求1所述的用于逻辑电路搜寻变更点的方法,其特征在于,其中该逻辑电路包含多个输出引脚及一触发器,该多个比较点选自该多个输出引脚以及该触发器的一输入引脚。
6.根据权利要求1所述的用于逻辑电路搜寻变更点的方法,其特征在于,其中在以该反向顺序执行功能等效检查的步骤中,是在该扇入锥区域内依该反向顺序对该等待检查功能组件进行功能等效检查,以从该等待检查功能组件中找出该变更点。
7.根据权利要求1所述的用于逻辑电路搜寻变更点的方法,其特征在于,其中该至少一陷阱与工程变更命令的变更有关。
8.一种用于逻辑电路搜寻变更点的装置,该逻辑电路源自于一缓存器传输级硬件描述语言,经合成后转换为一合成逻辑闸级硬件描述语言,再通过自动布局绕线法转换为一绕线后逻辑闸级硬件描述语言,该搜寻变更点的装置包含:
一定义模块,该定义模块耦接至该逻辑电路,该定义模块用以定义一指示地图,该指示地图用以指示出多个引脚;
一验证模块,该验证模块耦接至该定义模块及该逻辑电路,该验证模块用以对该指示地图执行功能等效检查以判断该指示地图是否正确;
一分解模块,该分解模块耦接至该验证模块及该逻辑电路,若该验证模块的判断结果为是,该分解模块用以判断该逻辑电路中是否包含具有多输入端的功能组件,若判断结果为是,该分解模块将具有多输入端的功能组件分解成多个具有两输入端的功能组件;
一比较模块,该比较模块耦接至该验证模块、该分解模块及该逻辑电路,该比较模块在该逻辑电路的该缓存器传输级硬件描述语言加入至少一陷阱,使得该绕线后逻辑闸级硬件描述语言产生多个比较点;
一限定模块,该限定模块耦接至该比较模块及该逻辑电路,该限定模块用以根据该比较点定义该逻辑电路中的一扇入锥区域并判断位于该扇入锥区域内的功能组件是否符合一特定条件,若判断结果为是,该限定模块定义符合该特定条件的功能组件为待检查功能组件,其中该扇入锥区域是由该逻辑电路的输入端向输出端变窄;
以及
一检查模块,该检查模块耦接至该比较模块、该限定模块及该逻辑电路,用以根据该多个比较点对该绕线后逻辑闸级硬件描述语言以反向顺序执行功能等效检查,以在该绕线后逻辑闸级硬件描述语言中找到该变更点。
9.根据权利要求8所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该变更点是一工程变更命令点。
10.根据权利要求8所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该逻辑电路的输入端包含一频率引脚、一测试引脚、一扫描引脚、一数据复制引脚及一数据倒转引脚。
11.根据权利要求10所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该指示地图包含该频率引脚、该测试引脚、该扫描引脚、该数据复制引脚及该数据倒转引脚的位置信息。
12.根据权利要求8所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该逻辑电路包含多个输出引脚及一触发器,该多个比较点选自该多个输出引脚以及该触发器的一输入引脚。
13.根据权利要求8所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该特定条件对应于该至少一陷阱。
14.根据权利要求8所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该检查模块是在该扇入锥区域内以反向顺序对该等待检查功能组件进行功能等效检查,以从该等待检查功能组件中找出该变更点。
15.根据权利要求8所述的用于逻辑电路搜寻变更点的装置,其特征在于,其中该至少一陷阱是与工程变更命令的变更有关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101073437A CN102110176B (zh) | 2009-05-18 | 2009-05-18 | 一种用于逻辑电路变更点搜寻方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101073437A CN102110176B (zh) | 2009-05-18 | 2009-05-18 | 一种用于逻辑电路变更点搜寻方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110176A CN102110176A (zh) | 2011-06-29 |
CN102110176B true CN102110176B (zh) | 2012-11-28 |
Family
ID=44174337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101073437A Expired - Fee Related CN102110176B (zh) | 2009-05-18 | 2009-05-18 | 一种用于逻辑电路变更点搜寻方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102110176B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501496A (zh) * | 2002-10-31 | 2004-06-02 | ��ʽ���������Ƽ� | 容易变更布局的半导体集成电路 |
CN1667829A (zh) * | 2004-03-10 | 2005-09-14 | 冲电气工业株式会社 | 半导体集成电路及其修改方法 |
CN101216865A (zh) * | 2008-01-09 | 2008-07-09 | 宁波大学 | 用于数字集成电路设计的最佳极性搜索方法 |
-
2009
- 2009-05-18 CN CN2009101073437A patent/CN102110176B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501496A (zh) * | 2002-10-31 | 2004-06-02 | ��ʽ���������Ƽ� | 容易变更布局的半导体集成电路 |
CN1667829A (zh) * | 2004-03-10 | 2005-09-14 | 冲电气工业株式会社 | 半导体集成电路及其修改方法 |
CN101216865A (zh) * | 2008-01-09 | 2008-07-09 | 宁波大学 | 用于数字集成电路设计的最佳极性搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102110176A (zh) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030125920A1 (en) | LSI design verification apparatus, LSI design verification method, and LSI design verification program | |
US8196076B2 (en) | Optimal flow in designing a circuit operable in multiple timing modes | |
JP2001142937A (ja) | 回路のスケジューリング正当性チェック方法及びスケジュール検証方法 | |
US9311438B1 (en) | Signal delay flip-flop cell for fixing hold time violation | |
US5651012A (en) | Implementation of half-path joining in a system for global performance analysis of a latch-based design | |
US8370788B2 (en) | Circuit design change and correspondence point finding method between HDL land RLT design | |
Stevens et al. | Characterization of asynchronous templates for integration into clocked CAD flows | |
US5923564A (en) | Performance analysis including half-path joining | |
US6564360B2 (en) | Static timing analysis method for a circuit using generated clock | |
CN110083492A (zh) | 一种电路关键寄存器三模冗余加固方法及装置 | |
US6453449B1 (en) | Formal logic verification system and method | |
Eggersglüß et al. | MONSOON: SAT-based ATPG for path delay faults using multiple-valued logics | |
CN102110176B (zh) | 一种用于逻辑电路变更点搜寻方法及装置 | |
US20200285791A1 (en) | Circuit design method and associated computer program product | |
US10789404B1 (en) | System, method, and computer program product for generating a formal verification model | |
Huang et al. | On verifying the correctness of retimed circuits | |
Case et al. | Inductively finding a reachable state space over-approximation | |
Nepomnyashchy et al. | Methods and algorithms for a high-level synthesis of the very-large-scale integration | |
US20020199161A1 (en) | Method of designing logic circuit, and computer product | |
Chen et al. | A new framework for static timing analysis, incremental timing refinement, and timing simulation | |
Takahashi | Practical fast clock-schedule design algorithms | |
JP2001142914A (ja) | 経路探索方法及び記憶媒体 | |
Beerel et al. | Automatic synthesis of gate-level speed-independent circuits | |
Thorat et al. | Advanced language model-driven verilog development: Enhancing power, performance, and area optimization in code synthesis | |
Zhou et al. | How powerful is retiming |
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 |
Granted publication date: 20121128 Termination date: 20190518 |
|
CF01 | Termination of patent right due to non-payment of annual fee |