CN1776698A - 电路设计辅助方法 - Google Patents

电路设计辅助方法 Download PDF

Info

Publication number
CN1776698A
CN1776698A CN 200510129006 CN200510129006A CN1776698A CN 1776698 A CN1776698 A CN 1776698A CN 200510129006 CN200510129006 CN 200510129006 CN 200510129006 A CN200510129006 A CN 200510129006A CN 1776698 A CN1776698 A CN 1776698A
Authority
CN
China
Prior art keywords
circuit
capacitance
switching time
delay
resistance
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.)
Granted
Application number
CN 200510129006
Other languages
English (en)
Other versions
CN100378737C (zh
Inventor
刘咸铭
忻建荣
萧俊杰
李声均
罗君伟
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.)
American Business Synopsys Technology Co.,Ltd.
Original Assignee
Dorado Design Automation Inc
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 Dorado Design Automation Inc filed Critical Dorado Design Automation Inc
Priority to CNB200510129006XA priority Critical patent/CN100378737C/zh
Publication of CN1776698A publication Critical patent/CN1776698A/zh
Application granted granted Critical
Publication of CN100378737C publication Critical patent/CN100378737C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明为一种电路设计辅助方法,可执行于计算机系统中,该方法包含下列步骤:进行实体设计产生待验证电路的实体布局;对该待验证电路的实体布局进行验证,并当该待验证电路的实体布局未能通过该验证程序时,对该待验证电路的网表进行修改,对该修改后网表中修改部分进行局部电阻电容预估程序得到修改后部分电阻电容网络而来更新原始电阻电容网络;利用该更新后的原始电阻电容网络并与该修改后的网表中该修改部分相关的电路网络来进行局部时序延迟计算而得出修改后部分时序数据;并对该修改后部分时序数据进行该验证程序中的时序验证程序,当该修改后部分时序数据通过该时序验证程序时,再利用该修改后网表对该待验证电路进行该实体设计的修改。

Description

电路设计辅助方法
技术领域
本发明涉及一种电路设计辅助方法,特别涉及可执行于计算机系统中的电路设计辅助方法。
背景技术
请参见图1,其是目前被广泛应用的集成电路设计流程示意图,首先,设计者可利用工具程序来进行寄存器转移级(Register Transfer Level,以下简称RTL)的仿真(simulation),然后在设计者指定时序限制参数(timingconstraint)后进行综合(synthesis),进而产生网表(netlist),然后再将网表送入下一个步骤一实体设计(physical design)进行处理。
而在完成实体设计中元件布置(placement)及布线(route)等程序之后,便可以利用电阻电容提取(RC Extraction)软件来将实体布局(Layout)转换成实际的电阻电容网络(RC network),然后再进行全体时序延迟计算(whole netlist delay calculation)而得出相关时序数据之后,便可进行时序验证以及另外的功能验证(functional verification)若验证通过则判断此设计的时序与功能无误。若验证不通过则设计者会对网表进行修改(此动作通常被归为工程改版(Engineering Change Order,简称ECO)中的程序),然后再重复自实体设计以下的步骤流程。而在时序验证的动作中会产生出时序容限报告(timing slack report)来进行判断是否通过验证,因为时序容限报告中会指出无法在使用者所设定的时序环境下正常工作而需要修改的电路。至于功能验证则是进行寄存器转移级仿真以及网表仿真来观察功能是否正常。
而由上述公用手段的问题在于经过工程改版中对网表的修改后,必须再由实体设计开始,重新进行一次局部的元件布置、布线、及全部电阻电容提取、全体时序延迟计算(whole netlist delay calculation)及时序/功能验证,然后再根据新的时序容限报告来找出时序有问题而需要修改的电路。而如此反复进行将造成设计时程过长,造成产品推出时间推迟,尤其芯片设计的规模日趋庞大,反复进行全体电阻电容提取以及全体时序延迟计算对设计者将是一大梦魇。因此,如何改善此公用手段的缺点,便成了发展本发明的主要目的。
发明内容
本发明为一种电路设计辅助方法,可执行于计算机系统中,该方法包含下列步骤:进行实体设计而产生待验证电路的实体布局;对该待验证电路的实体布局进行验证程序,并当该待验证电路的实体布局未能通过该验证程序时,将代表该待验证电路的网表进行修改程序,进而得到修改后的网表;对该修改后的网表中的修改部分进行局部电阻电容预估程序而得到修改后部分电阻电容网络而来更新原始电阻电容网络;利用该更新后的原始电阻电容网络以及与该修改后的网表中该修改部分相关的电路网络(Net)来进行局部时序延迟计算而得出修改后部分时序数据;以及对该笔修改后部分时序数据进行该验证程序中的时序验证程序,当该笔修改后部分时序数据通过该时序验证程序时,再利用该修改后网表对该待验证电路进行该实体设计的修改。
根据上述构想,本发明所述的电路设计辅助方法,其中该验证程序包含下列步骤:对该待验证电路的实体布局进行全体电阻电容提取程序而得到该原始电阻电容网络;对该原始电阻电容网络进行全体时序延迟计算而得出一组原始时序数据;以及对该组时序数据进行该时序验证程序,进而产生出时序容限报告(timing slack report)来进行判断是否通过验证。
根据上述构想,本发明所述的电路设计辅助方法,其中该验证程序包含功能验证程序,当该验证电路的实体布局未能通过该功能验证程序时,将代表该待验证电路的网表进行功能修改程序,进而得到该修改后网表。
根据上述构想,本发明所述的电路设计辅助方法,其中该修改程序可为时序工程改版或功能工程改版。
根据上述构想,本发明所述的电路设计辅助方法,其中该时序工程改版包含有元件尺寸改变、元件位置改变、置入缓冲器以及删除缓冲器步骤。
根据上述构想,本发明所述的电路设计辅助方法,其中该功能工程改版包含有置换元件、删除元件以及连接改变中的步骤。
根据上述构想,本发明所述的电路设计辅助方法,其中该局部电阻电容预估程序包含下列步骤:输入该修改后的网表、元件配置数据库以及电阻电容统计数据库至由软件所完成的电阻电容预估器;该电阻电容预估器将一条被修改过的电路网络的驱动管脚当成是根,所连接元件的输入管脚当成是叶,进而建立起布线预估树(Routing Estimation Tree),其中该布线预估树上的根与叶的位置是从该元件配置数据库获得,而子节点的位置则可由各叶间的相对位置来决定;以及依据该电阻电容统计数据库所提供的信息可评估出每单位长度的电阻及电容,进而预估出该修改部分的电阻电容网络。
根据上述构想,本发明所述的电路设计辅助方法,其中在已知各元件的管脚转换时间数据时,该局部时序延迟计算包含下列步骤:从该修改后的网表中该修改部分相关的该电路网络中选出不会随着元件的变动而改变其输入转换时间数据的元件;以及从该元件开始进行局部的时序计算,进而将该元件的输入转换时间数据,以传递的方式使用以软件所完成的局部时序延迟计算器来计算每一个元件的时序信息。
根据上述构想,本发明所述的电路设计辅助方法,其中仅知道各元件的元件延迟,而对于管脚转换时间数据是未知的情况下,该局部时序延迟计算包含下列步骤:从该修改后的网表中该修改部分相关的该电路网络中选出不会随着元件的变动而改变其输入转换时间数据的元件;以及从该元件开始进行局部的时序计算,利用延迟转换时间有效电容转换器运算来得到该元件的输入转换时间数据,再以传递的方式使用以软件所完成的局部时序延迟计算器来计算每一个元件的时序信息。
根据上述构想,本发明所述的电路设计辅助方法,其中以软件所完成的该局部时序延迟计算器包含有:延迟计算器核心,其用于计算元件延迟数据以及布线延迟数据的时序数据;以及基本型延迟转换时间有效电容转换器与加强型延迟转换时间有效电容转换器所组成的延迟转换时间有效电容转换器,其将元件延迟数据反向推算出输入转换时间数据以及输出有效电容。
根据上述构想,本发明所述的电路设计辅助方法,其中该基本型延迟转换时间有效电容转换器是利用数值分析的方法来推导出不只一组的转换时间数据以及输出有效电容的解,而该加强型延迟转换时间有效电容转换器则会根据实际设计的情况,选择出正确的一组转换时间数据(input transition)以及输出有效电容(output Ceff)。
附图说明
本发明通过下列附图及详细说明,得到更深入的了解:
图1是目前被广泛应用的集成电路设计流程示意图。
图2是本发明为能改善上述公用电路设计流程的缺点所发展出来电路设计辅助方法的较佳实施例方法流程示意图。
图3是本发明发展出来关于上述电阻电容预估程序(RC Estimation)的步骤流程示意图。
图4(a)、图4(b)是表示出代表被修改过的电路网络的一斯坦纳树的示例图与斯坦纳树经过运算后得到的电阻电容网络(RC Network)。
图5是本发明局部时序延迟计算的第一种实施例数据流示意图。
图6是本发明局部时序延迟计算的第二种实施例数据流示意图。
图7是本发明基本型延迟转换电容转换器的数据流示意图。
图8是本发明加强型延迟转换电容转换器的数据流示意图。
图9(a)、图9(b)、图9(c)是进行时序工程改版的电路示意图。
图10(a)、图10(b)、图10(c)是进行功能工程改版的电路示意图。
其中,附图标记说明如下:
电阻电容预估器30局部时序延迟计算器50、60
延迟计算器核心501、601
基本型延迟转换时间有效电容转换器602
加强型延迟转换时间有效电容转换器603
具体实施方式
请参见图2,其是本发明为能改善上述已用电路设计流程的缺点所发展出来的电路设计辅助方法的较佳实施例方法流程示意图,首先,设计者同样利用执行于计算机系统上的工具程序来进行寄存器转移级(RTL)的仿真,然后在设计者指定时序限制参数(timing constraint)后进行综合,进而产生出网表,然后再将网表送入下一个步骤-实体设计(physical design)进行处理。
而在完成实体设计中元件放置及布线等程序之后,利用电阻电容提取软件来将实体布局转换成原始电阻电容网络,然后在进行全体时序延迟计算而得出原始时序数据后,接着进行时序验证,进而产生出一时序容限报告来进行判断是否通过验证。另外也会对待验证电路的实体布局进行电路的功能验证,以此观察电路的功能是否正常。若时序验证与功能验证都可通过则判断此设计无误,但若时序验证不通过则让设计者对网表进行时序方面的修改而得到一个修改后的网表,或者,若是功能验证不通过则也可让设计者对网表进行功能方面的修改而得到另一个修改后的网表。
而经由多年累积的集成电路设计经验,本人知道为了时序或电路功能的目的而修改网表,在经过布线程序之后,在大部分的情况下,新的布线和原来的布线只会有少许局部的不同。而本发明为了有效缩短设计与验证的时间,便不在此时再进行布线与电阻电容提取,仅针对该修改后的网表中的修改部分进行电阻电容预估程序,进而预估出修改后部分电阻电容网络,然后再进行局部时序延迟计算(Incremental Delay Calculation)而得出一组修改后部分时序数据。接着便可根据该组修改后部分时序数据来进行时序验证程序而产生出另一时序容限报告,而当该笔修改后部分时序数据所产生出的另一时序容限报告若通过该时序验证程序,便再利用该修改后网表对该待验证电路进行该实体设计的修改,进而产生出新的实体布局来进行最后的时序及功能验证。这样,当设计者在做完第一次的全体时序延迟计算之后,为了时序或电路功能的目的而修改网表时,便只需进行本发明所提出的技术手段“电阻电容预估程序”以及“局部时序延迟计算”来进行局部的时序计算,使得设计者可以立即得知这次修改对时序的影响。
再请参见图3,其是本发明发展出来的关于上述电阻电容预估程序的步骤流程示意图,首先使用者需要输入三种信息,第一种信息是修改后的网表,第二种信息是元件布置数据库(Placement Data Base),例如常见的设计交换格式(Design Exchange Format,简称DEF),至于第三种信息则是电阻电容统计数据库,例如常见的数据库交换格式(Library Exchange Format,简称LEF),而三种信息经过由软件所完成的一电阻电容预估器30后便可预估出修改后部分电阻电容网络。
而上述电阻电容预估器的动作如下所述,将修改后的网表与之前未修改的网表进行比较便可得到一条或多条修改过的电路网络,然后针对每一条被修改过的电路网络,我们将此电路网络上的驱动管脚当成是根,而所连接元件的输入管脚当成是叶,进而建立起一布线预估树(例如,斯坦纳树(SteinerTree)),斯坦纳树上的根(root)与叶(leaf)的位置可以从元件配置数据库(Placement Data Base)获知,而子节点(sub-node)的位置则可由各叶(leaf)间的相对位置来决定。在决定了斯坦纳树上各子节点的位置后,依据电阻电容统计资料(RC Statistic)所提供的信息可评估出每单位长度的电阻及电容,进而预估出修改后部分电阻电容网络(RC Network)。
图4(a)中表示出代表被修改过的电路网络的一斯坦纳树的示例图,假设转角处以及各子节点连接处即为布线时跨越不同金属层的点,因此在进行电阻电容预估时,先从电阻电容统计数据库提供的信息中,决定下列三个数值:
1.Runit:在一般的设计上,其布线的宽度大多为此设计的最小宽度,因此我们在预估布线时,其线的宽度即假设为最小宽度W,所以我们将各金属层(Metal layer)的单位面积电阻值乘以最小宽度W的平均值,当作单位长度的电阻值Runit
2.RVIA:将跨越各金属层的电阻平均值,当作斯坦纳树转角处以及各子节点连接处的电阻值
3.Cunit:将各金属层的单位长度电容值加上边缘电容(Edge Capacitance)的平均值,当作斯坦纳树单位长度的电容值Cunit
而任两点Pi、Pj间的电阻电容预估便可以软件执行下列算式来完成:
坐标Pi=(xi,yi),Pj=(xj,yj);i≠j;i,j=0,1,2,…;xi=xj or yi=yj点Pi,Pj间的距离:
dij=|Pi-Pj|
点Pi,Pj间的距离的电阻值:
Rdij=Runit*dij
转角点或分歧点x的RVIA电阻值
RxVIA=RVIA/number of branch on Px;x=0,1,2,...
点Pi,Pj间的电阻值
Rij=RiVIA+Rdij+RjVIA
点Pi,Pj间的电容值
Cij=Cunit*dij
决定了斯坦纳树之后,以各线段之距离dij乘上Cunit可以预估出各段的电容值,而以各线段的距离dij乘上Runit再加上转角处以及节点连接处RVIA可以预估出各段的电阻值,于是图4(a)所示的斯坦纳树经过运算后将可得到如图4(b)所示的的电阻电容网络。
而图4(b)所示的的电阻电容网络便可接着进行局部时序延迟计算程序,进而得出一笔修改后部分时序资料。而本发明中关于局部时序延迟计算的实施例可以有两种:
第一种实施例如图5所示的数据流示意图,其前提是本人已知在原始网表中各元件实例的管脚转换时间数据,所以本人可直接输入1.原始网表、2.修改后的网表、3.电阻电容网络、4.管脚转换时间数据以及5.元件库等数据至一可用软件完成的局部时序延迟计算器50来进行计算,进而得到包含下列信息的的时序数据库:1.元件延迟数据、2布线延迟数据。而此类在已知原始网表中各元件实例的管脚转换时间数据的状况下计算出局部时序延迟技术也可见于1996年4月16日公告的美国专利5508937号之中,故本人在此不予赘述。
而第二种实施例如图6所示的数据流示意图,当第一实施例的前提“已知在原始网表中各元件例的管脚转换时间数据”并不存在,而只能知道在原始网表中各元件的元件延迟数据时,美国专利5508937的技术手段便无法提供相对应的解决方案,而本发明所发展出来的作法则如下所述。直接输入1.原始网表、2.修改后的网表、3.电阻电容网络、4.元件延迟数据以及5.元件库等数据至可用软件完成的局部时序延迟计算器60来进行计算,进而得到包含下列信息的时序数据库:1.元件延迟数据;2.布线延迟数据。至于上述电阻电容网络的数据库可为常见的标准寄生格式(Standard Parasitic Format,简称SPF),元件延迟数据的数据库可为常见的标准延迟格式(Standard DelayFormat,简称SDF),管脚转换时间数据的数据库可为常见的标准延迟格式。
至于可用软件完成的局部时序延迟计算器60则包含下列三个部分:1.延迟计算器核心601,其用于计算元件延迟数据、以及布线延迟数据等时序数据,其功能和一般的延迟计算器类似;2.基本型延迟转换时间有效电容转换器602(Basic Delay Transition Ceff Converter,简称Basic DTCC);以及3.加强型延迟转换时间有效电容转换器603(Enhanced Delay Transition CeffConverter,简称Enhanced DTCC)。而基本型延迟转换时间有效电容转换器602与加强型延迟转换时间有效电容转换器603所组成的延迟转换时间有效电容转换器主要是可以将元件延迟数据反向推算出输入转换时间数据以及输出有效电容,其详细方法叙述如下:
基本型延迟转换时间有效电容转换器602的数据流程图如图7所示,其主要是利用数值分析的方式来推导出输入转换时间数据以及输出有效电容,在此以业界标准“Synopsys Liberty”的格式为例进行说明。下表为元件库内的元件延迟数据表,其大部分都是以二维的查找表型式存在。例如,当元件延迟为1.72,其值落在下表所框住的范围之内,其可能的输入转换时间数据范围为0.9~2.0之间,输出有效电容范围为0.15~0.39之间,在此范围内,使用二分法(Bisection Method)及内插法(Interpolation)便能将元件延迟为1.72的输入转换时间数据及输出有效电容给推导出来。
cell_rise(Tr_C_delay_6x6){
          index_1(″0.0500,0.1000,0.4000,0.9000,1.4000,2.0000″);
          index_2(″0.00060,0.03000,0.06000,0.15000,0.27000,0.39000″);
          values(\
          ″0.3105,0.4590,0.6058,1.0470,1.6340,1.2470″,\
          ″0.3198,0.4683,0.6151,1.0560,1.6430,1.2610″,\
          ″0.3637,0.5123,0.6593,1.1000,1.6880,1.3470″,\
Figure A20051012900600121
      }
而在进行基本型延迟转换时间有效电容转换后,可能会得到不只一组的输入转换时间数据以及输出有效电容的解,因为它们都能够产生出此特定的元件延迟,但加强型延迟转换时间有效电容转换则会根据实际设计的情况,选择出正确的一组转换时间数据以及输出有效电容。加强型延迟转换时间有效电容转换器603的数据流程图如图8所示,其算法主要包含下列步骤内容:1.输入特定的元件延迟、2.将在基本型延迟转换时间有效电容转换后所得到一组的转换时间数据(input transition,缩写成Trans_in)以及输出有效电容的解集合S={tci}for i=0,1....,n,tc=(Trans_in,Ceff_out)中的转换时间数据去驱动这个元件(Cell)实际所接的电阻电容网络,并在经过延迟计算器核心计算之后,可以得到一个驱动有效电容以及3.若输出有效电容(Ceff_outi)驱动有效电容(Ceff_drivei),则表示此组解(Trans_ini,Ceff_outi)即为所求。
再以前述的例子来说明,在进行过基本型延迟转换时间有效电容转换之后,能够产生元件延迟为1.72的转换时间数据以及输出有效电容的解集合为(1.39,0.269),(1.38,0.272),(1.41,0.268),(1.405,0.271),输入到加强型延迟转换时间有效电容转换器之后,便可以得到一组正确的解。
而为了满足时序条件或电路功能,集成电路设计者将会进行时序工程改版(Timing ECO)或功能工程改版(Functional ECO)而修改网表,而在时序工程改版中常见的修改有元件尺寸改变,置入缓冲器以及删除缓冲器等等,其示意图如图9(a)、图9(b)、图9(c)所示。而进行过这些修改之后,假如想迅速知道其新的时序信息,即可使用上述图5与图6所示的局部时序延迟计算器来完成。
在已知各元件实例的管脚转换时间数据时,本人可选择使用图5中所示的第一种局部时序延迟计算器,本人先将图9(a)、图9(b)、图9(c)中与元件(Cell)I3相连的电路网络进行电阻电容预估程序而得到新的电阻电容网络,而由于已知各元件的管脚转换时间数据,且已知元件I2的输入转换时间数据不会随着元件I3的变动而改变,因此只需从元件I2开始进行局部的时序计算。而将元件I2的输入转换时间数据,以传递(propagation)的方式使用局部时序延迟计算器来计算每一个元件的时序信息。
另外在仅仅知道各元件的元件延迟,而对于管脚转换时间数据是未知的情况下,便可使用图6中所示的第二种局部时序延迟计算器。同样地,将图9(a)、图9(b)、图9(c)中与元件I3相连的电路网络进行电阻电容预估程序而得到新的电阻电容网络,而因为元件的输入转换时间数据并不会随着所接的负载而变动,所以我们对照新旧的网表,得知元件I3被变动过,因此要更新元件I3之后元件(Cell)的时序信息(例如输入转换时间数据与元件延迟,必须由元件I3往前追踪(trace)到时序信息不会随着元件I3变动的元件I1。于是,上述局部时序延迟计算的动作整理如下:1.将与元件I3相连的电路网络进行电阻电容预估程序,得到新的电阻电容网络。2.从元件I1开始进行局部的时序计算。3.若元件I1的输入转换时间数据是未知的,但已知其元件I1的元件延迟,利用上述延迟转换时间有效电容转换器的运算,便可以得到元件I1的输入转换时间数据。4.而在已知元件I1的输入转换时间数据之后,再以传递的方式使用局部时序延迟计算器来计算每一个元件的时序信息。
而在功能工程改版中常见的修改则有置换元件、删除元件(DeleteInstance)以及连接改变等等,其示意图如图10(a)、图10(b)、图10(c)所示。
其中图10(a)表示出当设计者发现电路功能设计错误,而将图中的与门(I5)换成或门(I5)时,而在修改完网表(Netlist)后希望能得知时序的状况,此时即可使用上述图5与图6所示的局部时序延迟计算器来完成。
在已知各元件实例的管脚转换时间数据时,可选择使用图5中所示的第一种局部时序延迟计算器,然后进行下列步骤的计算:1.将跟或门(I5)相连的电路网络进行电阻电容预估程序而得到新的电阻电容网络。2.由或门(I5)往前追踪;得知元件I2与元件I4的输入转换时间数据不会随着逻辑门(I5)的变动而改变,因此从元件I2与元件I4开始进行局部的时序计算。3.分别从元件I2与元件I4以传递的方式使用时序延迟计算器核心来计算每一个元件(Cell)的时序信息。
另外在仅仅知道各元件的元件延迟(Cell Delay),而对于管脚转换时间数据是未知的情况下,便可使用图6中所示的第二种局部时序延迟计算器来进行下列步骤的计算:1.将跟或门(I5)相连的电路网络进行电阻电容预估程序而得到新的电阻电容网络。2.由或门(I5)往前追踪到时序信息不会随着逻辑门(I5)变动的元件I1与元件I3。3.从元件I1与元件I3开始进行局部的时序计算。4.若元件I1与元件I3的管脚转换时间数据是未知的,但已知其元件I1与元件I3的元件延迟,便利用上述延迟转换时间有效电容转换器的运算,便可以得到元件I1与元件I3的输入转换时间数据。5.而在已知元件I1与元件I3的输入转换时间数据之后,再以传递的方式使用时序延迟计算器核心来计算每一个元件(Cell)的时序信息。
而图10(b)表示出当设计者发现电路功能设计错误,而将图中的非门(I3)删除时,而在修改完网表后希望能得知时序的状况,此时即可使用上述图5与图6所示的局部时序延迟计算器来完成。
在已知各元件实例的管脚转换时间数据时,可选择使用图5中所示的第一种局部时序延迟计算器,然后进行下列步骤的计算:1.将跟非门(I3)相连的电路网络进行电阻电容预估程序而得到新的电阻电容网络。2.由非门(I3)往前追踪;得知元件I1的输入转换时间数据不会随着I2的变动而改变,因此从元件I2开始进行局部的时序计算。3.从元件I2以传递的方式使用时序延迟计算器核心来计算每一个元件(Cell)的时序信息。
另外在仅仅知道各元件的元件延迟,而对于管脚转换时间数据是未知的情况下,便可使用图6中所示的第二种局部时序延迟计算器来进行下列步骤的计算:1.将与非门(I3)相连的电路网络进行电阻电容预估程序而得到新的电阻电容网络。2.由非门(I3)往前追踪到时序信息不会随着非门(I3)变动的组件I1。3.从组件I1开始进行局部的时序计算。4.若元件I1的管脚转换时间数据是未知的,但已知其元件I1的元件延迟,便利用上述延迟转换时间有效电容转换器的运算,便可以得到元件I1与元件I3的输入转换时间数据。5.而在已知元件I1与元件I3的输入转换时间数据之后,再以传递的方式使用时序延迟计算器核心来计算每一个元件(Cell)的时序信息。
而图10(c)表示出当设计者发现电路功能设计错误,而将图中的的元件I3及元件I6所接的电路网络:N36及N68作修改时,而在修改完网表后希望能得知时序的状况,此时即可使用上述图5与图6所示的局部时序延迟计算器来完成。
在已知各元件的管脚转换时间数据时,可选择使用图5中所示的第一种局部时序延迟计算器,然后进行下列步骤的计算:1.将电路网络N36及电路网络N68进行电阻电容预估程序而得到新的电阻电容网络。2.由电路网络N36及电路网络N68往前追踪;得知元件I3及元件I6/B的输入转换时间数据不会随着电路网络N36及电路网络N68的变动而改变,因此从元件I3及元件I6/B开始进行局部的时序计算。3.分别从元件I3及元件I6/B以传递的方式使用时序延迟计算器核心来计算每一个元件(Cell)的时序信息。
另外在仅仅知道各元件的元件延迟,而对于管脚转换时间数据是未知的情况下,便可使用图6中所示的第二种局部时序延迟计算器来进行下列步骤的计算:1.将电路网络N36及电路网络N68进行电阻电容预估程序而得到新的电阻电容网络。2.由电路网络N36及电路网络N68往前追踪到时序信息不会随着N36及N68变动的元件I1、元件I2及元件I4。3.从元件I1、元件I2及元件I4开始进行局部的时序计算。4.元件I1、元件I2及元件I4的输入转换时间数据是未知的,已知其元件I1、元件I2及元件I4的元件延迟,便利用上述延迟转换时间有效电容转换器的运算,便可以得到元件I1、元件I2及元件I4的输入转换时间数据。5.而在已知元件I1、元件I2及元件I4的输入转换时间数据之后,再以传递的方式使用时序延迟计算器核心来计算每一个元件(Cell)的时序信息。
综上所述,本发明所公开的技术手段可以承接其它电路设计工具程序所输出的时序信息(ex.标准延迟格式(SDF)及管脚转换时间数据)来进行局部时序延迟计算,因此可以很容易的整合进现有的设计流程内。而在实际应用上,“局部时序延迟计算器”可以结合网表编辑使用者用户界面及实体编辑使用者用户界面让使用者能以互动的方式修改网表,并可立即得知时序的结果,因此使用本发明的核心技术“局部时序延迟计算器”来设计集成电路将能够大幅的缩短设计时程,进而成功改善已用方法的缺点,有效达成本发明发展的主要目的。但本发明由本领域技术人员所做的各种修改,皆不脱离所附权利要求书的保护范围。

Claims (11)

1.一种电路设计辅助方法,可执行于计算机系统中,该方法包含下列步骤:
进行实体设计而产生待验证电路的实体布局;
对该待验证电路的实体布局进行验证程序,并当该待验证电路的实体布局未能通过该验证程序时,将对该待验证电路的网表进行修改程序,进而得到修改后网表;
对该修改后网表中的修改部分进行局部电阻电容预估程序而得到修改后部分电阻电容网络而来更新原始电阻电容网络;
利用该更新后的原始电阻电容网络以及与该修改后的网表中该修改部分相关的电路网络来进行局部时序延迟计算而得出修改后部分的时序数据;以及
对该组修改后部分时序数据进行该验证程序中的时序验证程序,当该组修改后部分时序数据通过该时序验证程序时,再利用该修改后网表对该待验证电路进行该实体设计的修改。
2.如权利要求1所述的电路设计辅助方法,其中该验证程序包含下列步骤:
对该待验证电路的实体布局进行全体电阻电容提取程序而得到该原始电阻电容网络;
对该原始电阻电容网络进行全体时序延迟计算而得出一组原始时序数据;以及
对该组时序数据进行该时序验证程序,进而产生出时序容限报告来进行判断是否通过验证。
3.如权利要求1所述的电路设计辅助方法,其中该验证程序包含功能验证程序,当该验证电路的实体布局未能通过该功能验证程序时,将对该待验证电路的网表进行功能修改程序,进而得到该修改后的网表。
4.如权利要求1所述的电路设计辅助方法,其中该修改程序可为时序工程改版或功能工程改版。
5.如权利要求4所述的电路设计辅助方法,其中该时序工程改版包含有元件尺寸改变、元件位置改变、置入缓冲器以及删除缓冲器的步骤。
6.如权利要求4所述的电路设计辅助方法,其中该功能工程改版包含有置换元件、删除元件以及连接改变的步骤。
7.如权利要求1所述的电路设计辅助方法,其中该局部电阻电容预估程序包含下列步骤:
输入该修改后的网表、元件配置数据库以及电阻电容统计数据库至由软件所完成的电阻电容预估器;
该电阻电容预估器将一条被修改过的电路网络的驱动管脚当成是根,所连接元件的输入管脚当成是叶,进而建立起布线预估树,其中该布线预估树上的根与叶的位置从该元件配置数据库获知,而子节点的位置则可由各叶间的相对位置来决定;以及
依据该电阻电容统计数据库所提供的信息可评估出每单位长度的电阻及电容,进而预估出该修改部分的电阻电容网络。
8.如权利要求1所述的电路设计辅助方法,其中在已知各元件的管脚转换时间数据时,该局部时序延迟计算包含下列步骤:
从该修改后的网表中该修改部分相关的该电路网络中选出不会随着元件的变动而改变其输入转换时间数据的元件;以及
从该元件开始进行局部的时序计算,进而将该元件的输入转换时间数据,以传递的方式使用以软件所完成的局部时序延迟计算器来计算每一个元件的时序信息。
9.如权利要求1所述的电路设计辅助方法,其中仅知道各元件的元件延迟,而对于管脚转换时间数据是未知的情况下,该局部时序延迟计算包含下列步骤:
从该修改后的网表中该修改部分相关的该电路网络中选出不会随着元件的变动而改变其输入转换时间数据的元件;以及
从该元件开始进行局部的时序计算,利用延迟转换时间有效电容转换器运算来得到该元件的输入转换时间数据,再以传递的方式使用以软件所完成的局部时序延迟计算器来计算每一个元件的时序信息。
10.如权利要求9所述的电路设计辅助方法,其中以软件所完成的该局部时序延迟计算器包含有:
延迟计算器核心,其用于计算元件延迟数据以及布线延迟数据的时序数据;以及
基本型延迟转换时间有效电容转换器与加强型延迟转换时间有效电容转换器所组成的延迟转换时间有效电容转换器,其将元件延迟数据反向推算出输入转换时间数据以及输出有效电容。
11.如权利要求10所述的电路设计辅助方法,其中该基本型延迟转换时间有效电容转换器是利用数值分析的方式来推导出不只一组的转换时间数据以及输出有效电容的解,而该加强型延迟转换时间有效电容转换器则会根据实际设计的情况,选择出正确的一组转换时间数据以及输出有效电容。
CNB200510129006XA 2005-11-29 2005-11-29 电路设计辅助方法 Active CN100378737C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200510129006XA CN100378737C (zh) 2005-11-29 2005-11-29 电路设计辅助方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200510129006XA CN100378737C (zh) 2005-11-29 2005-11-29 电路设计辅助方法

Publications (2)

Publication Number Publication Date
CN1776698A true CN1776698A (zh) 2006-05-24
CN100378737C CN100378737C (zh) 2008-04-02

Family

ID=36766185

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510129006XA Active CN100378737C (zh) 2005-11-29 2005-11-29 电路设计辅助方法

Country Status (1)

Country Link
CN (1) CN100378737C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063538A (zh) * 2010-12-29 2011-05-18 西安华芯半导体有限公司 一种自动生成精确负载时序库的方法
CN102129493A (zh) * 2011-03-02 2011-07-20 福州瑞芯微电子有限公司 数字ic设计流程中实现自动化eco网表的方法
CN102436533A (zh) * 2011-12-30 2012-05-02 中国科学院微电子研究所 标准单元库模型的时序验证方法
US8375347B2 (en) 2009-05-12 2013-02-12 Taiwan Semiconductor Manufacturing Company, Ltd. Driven metal critical dimension (CD) biasing
CN103810316A (zh) * 2012-11-06 2014-05-21 台湾积体电路制造股份有限公司 降低寄生失配的方法
CN105447215A (zh) * 2014-09-24 2016-03-30 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统
CN116861782A (zh) * 2023-07-05 2023-10-10 南京邮电大学 基于机器学习和节点有效电容的线延时预测方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684375B2 (en) * 2000-11-22 2004-01-27 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method
CN1173288C (zh) * 2001-11-27 2004-10-27 英业达股份有限公司 计算机辅助电路设计及布局的方法
GB0302656D0 (en) * 2003-02-05 2003-03-12 Forticrete Ltd An assisted product selection interface
US6925614B2 (en) * 2003-04-01 2005-08-02 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for protecting and integrating silicon intellectual property (IP) in an integrated circuit (IC)
TW200506664A (en) * 2003-08-01 2005-02-16 Ali Corp An integrated circuit layout design method and layout design software capable of performing automatic layout
CN1258729C (zh) * 2003-11-14 2006-06-07 清华大学 基于虚拟模块的大规模混合模式布图方法
ATE338942T1 (de) * 2004-01-27 2006-09-15 Abb Research Ltd Abschätzung eines irreversiblen alterungsprozesses

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8375347B2 (en) 2009-05-12 2013-02-12 Taiwan Semiconductor Manufacturing Company, Ltd. Driven metal critical dimension (CD) biasing
CN101887469B (zh) * 2009-05-12 2013-03-13 台湾积体电路制造股份有限公司 设计集成电路的方法与使用该方法的计算机系统
CN102063538A (zh) * 2010-12-29 2011-05-18 西安华芯半导体有限公司 一种自动生成精确负载时序库的方法
CN102129493A (zh) * 2011-03-02 2011-07-20 福州瑞芯微电子有限公司 数字ic设计流程中实现自动化eco网表的方法
CN102129493B (zh) * 2011-03-02 2013-03-06 福州瑞芯微电子有限公司 数字ic设计流程中实现自动化eco网表的方法
CN102436533A (zh) * 2011-12-30 2012-05-02 中国科学院微电子研究所 标准单元库模型的时序验证方法
CN103810316A (zh) * 2012-11-06 2014-05-21 台湾积体电路制造股份有限公司 降低寄生失配的方法
CN103810316B (zh) * 2012-11-06 2017-06-16 台湾积体电路制造股份有限公司 降低寄生失配的方法
CN105447215A (zh) * 2014-09-24 2016-03-30 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统
CN105447215B (zh) * 2014-09-24 2018-07-27 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统
CN116861782A (zh) * 2023-07-05 2023-10-10 南京邮电大学 基于机器学习和节点有效电容的线延时预测方法
CN116861782B (zh) * 2023-07-05 2024-04-02 南京邮电大学 基于机器学习和节点有效电容的线延时预测方法

Also Published As

Publication number Publication date
CN100378737C (zh) 2008-04-02

Similar Documents

Publication Publication Date Title
CN1776698A (zh) 电路设计辅助方法
Chen et al. A new gate delay model for simultaneous switching and its applications
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
US8495535B2 (en) Partitioning and scheduling uniform operator logic trees for hardware accelerators
CN100342381C (zh) 集成电路设计和整合方法
TW200837591A (en) Circuit-design-modifying method executable in computer system
Huang et al. Match and replace: A functional ECO engine for multierror circuit rectification
CN103605845A (zh) 一种基于装配知识描述的机床夹具库管理系统
US10346579B2 (en) Interactive routing of connections in circuit using auto welding and auto cloning
CN112597733A (zh) 一种存储单元的识别方法、设备及计算机可读存储介质
CN102024067A (zh) 一种模拟电路工艺移植的方法
Amarú et al. SAT-sweeping enhanced for logic synthesis
CN1408092A (zh) 行为合成电子设计自动化工具的β-TO-B应用服务提供商
Jain et al. Word-level predicate-abstraction and refinement techniques for verifying RTL Verilog
CN103425844A (zh) 基于数据流通信平台的cad/cae系统及集成方法
CN112232019A (zh) 一种逻辑资源评估方法
CN115204076B (zh) 集成电路的逻辑优化方法、装置、电子设备及可读介质
CN1510733A (zh) 面向工艺移植的晶体管级集成电路优化方法
CN102385648B (zh) 一种芯片设计中减少拥塞的方法和系统
CN1300838C (zh) 包含黑盒的电路设计验证与错误诊断方法
CN115705446A (zh) 集成电路的后仿真方法和装置
US20080244472A1 (en) Method for accelerating the generation of an optimized gate-level representation from a rtl representation
CN101794328A (zh) 针对门输出负载的快速且准确的估计
Densmore et al. Microarchitecture development via metropolis successive platform refinement
Benkoski et al. The role of timing verification in layout synthesis

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200915

Address after: California, USA

Patentee after: American Business Synopsys Technology Co.,Ltd.

Address before: Taiwan Taipei

Patentee before: Zhiyi Technology Co.,Ltd.