CN1828865A - 超大规模集成电路设计中保持时间快速收敛的方法 - Google Patents

超大规模集成电路设计中保持时间快速收敛的方法 Download PDF

Info

Publication number
CN1828865A
CN1828865A CN 200510052691 CN200510052691A CN1828865A CN 1828865 A CN1828865 A CN 1828865A CN 200510052691 CN200510052691 CN 200510052691 CN 200510052691 A CN200510052691 A CN 200510052691A CN 1828865 A CN1828865 A CN 1828865A
Authority
CN
China
Prior art keywords
cell
design
timing
path
report
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 200510052691
Other languages
English (en)
Other versions
CN100394579C (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.)
Semiconductor Manufacturing International Shanghai Corp
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CNB2005100526910A priority Critical patent/CN100394579C/zh
Publication of CN1828865A publication Critical patent/CN1828865A/zh
Application granted granted Critical
Publication of CN100394579C publication Critical patent/CN100394579C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及超大规模集成电路设计技术领域,特别是后端设计中使保持时间快速收敛的设计方法。这种快速收敛的方法减少了后端设计中修复建立时间和hold time violations的迭代次数,大大缩短了设计周期,提高了设计效率。主要是三个步骤,首先确定易受影响的路径,对这些路径的所有cell进行fixed属性的设置;第二,在需要进行hold time修复的路径上***恰当的延迟单元;第三,进行timing的验证和后续的布线步骤。

Description

超大规模集成电路设计中保持时间快速收敛的方法
技术领域
本发明涉及超大规模集成电路(VLSI)设计技术领域,特别是后端设计中使保持时间(hold time)快速收敛的设计方法。
背景技术
传统的VLSI设计中的布局和优化(place and optimization)流程,大致可分为两个阶段:timing-driven placement,placement optimization(fixsetup time violation、hold time violation、max capacitance violation、max tranviolation etc.)。placement optimization是其中的重要步骤,在这个过程中根据软件自身算法估计出的寄生参数决定了芯片的延迟大小,对于setuptime(建立时间)、hold time的优化通常需要反复多次才能达到设计者的目标。在布线后由于net的延迟由估计变的更为接近实际,这就会产生timing的差别;在进行反标寄生参数的后仿真也有可能产生前后端的timing差别,这就需要对版图进行反复迭代修改。
布局和优化的流程本质上是使时序收敛的流程,在通常的自动布局布线的流程中,软件所使用的时序收敛方法的指导思想是:setup time的收敛是通过减少关键路径上的电阻电容,以减少驱动单元的负载或者是增加驱动单元的驱动能力来减少路径上的延迟;发生hold time violation,则说明数据通路太短,需要增加延迟单元或是采用别的方法达到增加延迟的目的。在自动布局布线的过程中setup time和hold time的优化是个相辅相成的过程,对hold time的修复会对setup time的修复产生负面的影响。特别是在一些特别紧凑的设计中,***delay cell(延迟单元)会改变周边单元的放置。而被改动的这些单元如果处于关键路径中,则会对关键路径的时序产生负面影响,使其延迟变大,最终影响芯片的工作速度。另一方面,在软件中使用自动的hold time修复办法,对于规模很大的设计特别是几百万门级的电路来说,需要几十个小时,而且最终的结果可能达不到设计者的目标,需要反复。这样,就会大大的增加设计周期,不利于缩短芯片的面世时间,增加了设计成本。
发明内容
本发明的目的在于提出一种新的可用于VLSI设计的快速时序收敛方法。它是为了解决VLSI后端设计中时序的优化收敛需要反复修复,工作量大,周期长的特点提出的,特别是在setup time已经满足要求但是holdtime violation还需要在版图中进行修复的情况。
本发明中所采用的hold time快速时序收敛方法能够在很大程度上提高工作效率,缩短设计周期,方法如下:首先,与常规的VLSI设计方法相同,先进行通常的place optimization和post optimization对setup time和hold time violation进行优化;在setup time已经满足要求的情形下,对剩余的hold time violation进行修复,采用手动结合自动的方式进行。因为某些setup time已经满足要求的关键路径会在hold time的修复中受到影响,因此将这些关键路径的所有单元选中,设置为fix属性,然后通过手动的方式在需要进行hold time修复的路径上加入合适的delay cell。合适的delay cell应该按照加入路径点前单元的驱动能力和后面net的负载来确定,还必须查看单元库信息,以确定单元在这种负载情况下所产生的延迟是否符合要求。单元***后进行后续的布线工作。
采用这种快速时序收敛方法,由于对会受到影响的关键路径上所有的cell都设置为fix属性,在hold time修复的过程中,这些cell可以不受影响,不会对setup time产生不利。采用根据net负载大小和violation大小来确定手动加入delay cell的方法,一次性成功的解决了时序上存在的问题,需要的时间仅为几个小时。因此这种快速收敛的设计方法减少了后端设计中修复setup time和hold time violations的迭代次数,省却了软件自动完成该步骤所花费的大量优化和验证的时间,大大缩短了设计周期,提高了设计效率。实际的验证也表明这种方法简单实用,尤其适合于大规模的集成电路设计。
这种快速收敛的方法减少了后端设计中修复建立时间和hold timeviolations的迭代次数,大大缩短了设计周期,提高了设计效率。主要是三个步骤,首先确定易受影响的路径,对这些路径的所有cell进行fixed属性的设置;第二,在需要进行hold time修复的路径上***恰当的delay cell(延迟单元);第三,进行timing的验证和后续的route(布线)步骤。
附图说明
图1是修复前后第一条易受影响的关键路径图。其中A是自动修复前cell的位置和连接图。B是自动修复后受到影响的相应的cell的位置和连接图。
图2是修复前后第二条易受影响的关键路径图。其中A是自动修复前cell的相对位置和连接图。B是自动修复后受到影响的相应的cell的位置和连接图。
图3是超大规模集成电路设计中保持时间快速收敛的方法流程图。
下面通过举例来详细说明hold time快速收敛的设计方法。
具体实施方式
我们修复的依据根据在设计中report timing的结果来进行。Setup time修复满足要求后,report timing。进行一次辅助的过程,在需要修复的路径上***cell,在这次辅助过程之后report timing,与前面的timing报告比较会发现同一条路径的setup time有了很大的变化。在***前能满足要求,而修复后变得不能满足要求。通过在版图中显示出path的实际路径图示(如附图),清楚地表明这些路径中的关键单元受到了影响,产生了较大的时序差别。图lA所示的是自动修复前第一条路径中受到很大影响的cell的相对位置和连接,图lB是第一条关键路径相应cell在自动修复之后的相对位置和连接。如图标示的cell A、B和C,在进行自动修复后变为了A’、B’、C’的相对位置,由于cell B所在行的位置受到***cell的影响比较大,因此引起timing的变差。图2A所示的是自动修复前第二条路径中受到很大影响的cell的相对位置和连接,图2B是第二条关键路径相应cell在自动修复之后的相对位置和连接。如果直接按照通用的流程,需要对整个设计在此基础上再进行一次timing的优化操作来修复引起的setup time violation,针对百万门级的设计,需要的时间为20-40多小时,取得的结果不一定会令设计者满意。
针对这种情况,对这些易受到hold time修复影响的关键路径以astPath的方式提取选中,将选中的所有cell设置为fixed的属性;在需要进行hold time violation修复路径中,选取修复的合适的点,根据单元库以及我们仿真的cell驱动能力和延迟的相关大小,考查这个点上驱动cell的能力以及其负载的大小,在这个位置放置恰当的delay cell,然后进行后续的布局布线工作;***cell点的选取以考查cell不会位于别的关键路径中,对别的关键路径造成很大影响为衡量标准。这样修复的结果完全符合设计者的要求。***的delay cell或者改换的cell等修改由于考查了前后驱动和负载的关系,会很吻合地达到修复hold time violation的目的;同时在这个过程中,易受修复过程影响的关键路径已经设置为全路径的fixed,因此不会对setup time产生任何影响;时序报告和修复hold time前的报告完全一致。再以astPath的方式显示这些路径,发现它们和修复前完全保持一致。在这个修复的过程后就不需要再进行setup time violation的修复过程了,整个修复的过程所需要的时间仅为几小时。如果是需要在布线后进行hold time violation的修复,上面的方式也完全适用,只需在delay cell等修改后进行eco route的步骤就可以了。
图3标示的是这种快速收敛方法的操作流程。具体步骤说明如下:
S1:它是优化hold time violation所必要的辅助工作,先考查***点,选取点之后,考查***点前后的驱动cell以及负载的大小,选择合适的***cell,实施修复,report timing得到所有setup time violation路径的报告,按照修复需要加入delay cell,report timing,与修复前进行比较,查找出易受到影响的关键路径;
S2:在原始的需要修复的设计中选取查找出的路径上的所有cell,设置为fixed的属性;
S3:按照考查的要求加入delay cell进行修复;
S4:report timing,查看修复结果,如果发现有修复效果不理想的情况,可以回复到S2修改这些violation;
S5:进行后续的route操作,如果是route后进行的修复,则进行后续的eco route,然后可以进行timing report,最终验证timing结果。
综上所述,这种VLSI的hold time快速收敛设计方法的优势突出体现在以下几个方面:
第一、快速收敛。对所关注路径的全部单元设置为fix属性,确保在已经修复好setup time的基础上,不会再产生新的setup time问题,从而达到快速收敛。
第二、这种技术可靠性高,几乎可以一次达到目标,可更改性也很强。如果在此基础上不满足要求,可以删除cell再更换为合适的cell就可以了。对个别path进行优化的技术,要结合库及对delay cell的仿真结果进行。
第三、设计周期短。这种技术尤其适用于VLSI的设计,因为百万门级的电路修复一次hold time violation需要几十个小时,而采用这种技术后只需几个小时,则可以快速并有针对性的解决问题,可操作性很强。
具体实施例
以在synopsys自动布局布线工具Astro中完成四百万门的dsp电路设计为例:
在setup time满足要求后,需要对某些hold time violation进行修复。
在修复前,我们从report timing的报告中可以看出最大的setup timeviolation,为了便于和后面的结果进行比较,列出前面几条最大的关键路径的setup time violation如下:*************************************************************
*Start point:corel/U6/U16_xout_reg_l5_/CK
*End point:Result1_pad[15]
*Delay Type:Max
*Slack:-0.4525(VIOLATED)*************************************************************
*Start point:core1/U4/U24_U4_summation2_reg_22_/CK
*End point:core1/U4/U9_U1_U2_U2_mantissa_eg_24_/D
*Delay Type:Max
*Slack:-0.4285(VIOLATED)*************************************************************
*Start point:core1/U6/U47_yout_reg/CK
*End point:over1_pad
*Delay Type:Max
*Slack:-0.4186(VIOLATED)*************************************************************
*Start point:core1/U4/U9_U3_U7_U2_exp_sum_reg_3_/CK
*End point:core1/U4/U9_U3_U7_summation2_reg_15_/D
*Delay Type:Max
*Slack:-0.4098(VIOLATED)*************************************************************
*Start point:core1/U8/U43_coe_wadd_out_reg_10_/CK
*End point:coe_waddr_out_pad[10]
*Delay Type:Max
*Slack:-0.4088(VIOLATED)*************************************************************
在这个设计中有一些hold time violation需要我们来修复,按照一般的流程,我们会让软件自动***delay cell或者调整cell驱动能力来修复hold time,以下摘取的是软件自动修复后得到的timing报告中最大的几条setup time violation结果:
                                           ***************************************************************
*Start point:core1/U2/U1_U2_summation2_reg_24_/CK
*End point:core1/U2/U2_U2_U1_U2_mantissa_reg_26_/D
*Delay Type:Max
*Slack:-0.9584(VIOLATED)***************************************************************
*Start point:core1/U2U1_U2_summation2_reg_22_/CK
*End point:core1/U2/U2_U2_U1_U2_mantiss_reg_27_/D
*Delay Type:Max
*Slack:-0.8448(VIOLATED)***************************************************************
*Start point:core1/U2/U2/U1_U2_summation2_reg_21_/CK
*End point  :core1/U2/U2_U2_U1_U2_mantissa_reg_24_/D
*Clock Group:clk
*Slack:-0.7537(VIOLATED)***************************************************************
*Start point:core1/U2/U1_U2_summation2_reg_22_/CK
*End point:core1/U2/U2_U2_U2_U1_U2_mantissa_reg_31_/D
*Clock Group:clk
*Slack:-0.6408(VIOLATED)***************************************************************
*Start point:core1/U2/U1_U2_summation2_reg_21_/CK
*Endpoint:core1/U2/U2_U2_U1_U2_mantiss_reg_2_/D
*Clock Group:clk
*Slack:-0.5708(VIOLATED)***************************************************************
虽然是hold time有了改善,但是关键路径的时序报告显示整个设计的setup time已经在修复的过程中受到了很大的影响,时序变差了许多,最大的violation已经由0.45增加到了0.95。在没有修复前,这些路径的时序报告如下:
                                      *************************************************************
*Start point:core1/U2/U1_U2_summatio2_reg_24_/CK
*End point:core1/U2/U2_U2_U1_U2_mantiss_reg_26_/D
*Delay Type:Max
*Slack:-0.2224(VIOLATED)************************************************************
*Start point:core1/U2/U1_U2_summation2_reg_22_/CK
*End point:core1/U2/U2_U2_U1_U2_mantissa_reg_27_/D
*Delay Type:Max
*Slack:-0.0807(VIOLATED)
***********************************************************
*Start point:core1/U2/U1_U2_summation2_reg_21_/CK
*End point:core1/U2/U2_U2_U1_U2_mantissa_reg_24_/D
*Delay Type:Max
*Slack:-0.0421(VIOLATED)
***********************************************************
*Start point:core1/U2/U1_U2_summation2_reg_22_/CK
*End point:core1/U2/U2_U2_U1_U2__mantiss_reg_31_/D
*Delay Type:Max
*Slack:0.0060(MET)
***********************************************************
*Start point:core1/U2/U1_U2_summation2_reg_21_/CK
*End point:core1/U2/U2_U2_U1_U2_mantissa_reg_22_/D
*Delay Type:Max
*Slack:0.0115(MET)
*************************************************************
针对两次的比较结果,我们采用前述的方法对这些路径挑选出来进行了处理,然后在实施hold time的修复过程,结果表明,hold time修复满足要求,setup time保持和修复前完全一致。这个芯片已经经过投片测试完全满足要求。验证表明采用快速收敛方法使timing优化所占的时间大大减小,这种设计方法减少了timing优化过程中工作的反复性,大大提高了设计的准确性和效率。

Claims (2)

1、一种超大规模集成电路设计中保持时间快速收敛的方法,主要是三个步骤,第一,确定易受影响的路径,对这些路径的所有cell进行fixed属性的设置;第二,在需要进行hold time修复的路径上***恰当的delay cell;第三,进行timing的验证和后续的route步骤。
2、根据权利要求1的超大规模集成电路设计中保持时间快速收敛的方法,其具体步骤如下:
S1:优化hold time violation所必要的辅助工作,先考查***点,选取点之后,考查***点前后的驱动cell以及负载的大小,选择合适的***cell,实施修复,report timing得到所有setup time violation路径的报告,按照修复需要加入delay cell,report timing,与修复前进行比较,查找出易受到影响的关键路径;
S2:在原始的需要修复的设计中选取查找出的路径上的所有cell,设置为fixed的属性;
S3:按照考查的要求加入delay cell进行修复;
S4:report timing,查看修复结果,如果发现有修复效果不理想的情况,可以回复到S2修改这些violation;
S5:进行后续的route操作,如果是route后进行的修复,则进行后续的eco route,然后可以进行timing report,最终验证timing结果。
CNB2005100526910A 2005-03-03 2005-03-03 超大规模集成电路设计中保持时间快速收敛的方法 Active CN100394579C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100526910A CN100394579C (zh) 2005-03-03 2005-03-03 超大规模集成电路设计中保持时间快速收敛的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100526910A CN100394579C (zh) 2005-03-03 2005-03-03 超大规模集成电路设计中保持时间快速收敛的方法

Publications (2)

Publication Number Publication Date
CN1828865A true CN1828865A (zh) 2006-09-06
CN100394579C CN100394579C (zh) 2008-06-11

Family

ID=36947147

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100526910A Active CN100394579C (zh) 2005-03-03 2005-03-03 超大规模集成电路设计中保持时间快速收敛的方法

Country Status (1)

Country Link
CN (1) CN100394579C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436525A (zh) * 2011-10-27 2012-05-02 西安华芯半导体有限公司 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法
CN102456087A (zh) * 2010-11-03 2012-05-16 上海华虹集成电路有限责任公司 一种建立时序修复方法
CN102508975A (zh) * 2011-11-15 2012-06-20 华东师范大学 一种互连延迟寄生参数的分析方法
CN104714842A (zh) * 2013-12-17 2015-06-17 北京华大九天软件有限公司 一种调整时钟路径延迟来修复时序违反的方法
CN104992032A (zh) * 2015-07-22 2015-10-21 杭州宙其科技有限公司 一种多电压域设计中保持时间的修正方法
CN107798207A (zh) * 2017-12-13 2018-03-13 嘉兴倚韦电子科技有限公司 集成电路半定制后端设计eco设计方法
CN108170956A (zh) * 2017-12-28 2018-06-15 佛山中科芯蔚科技有限公司 一种保持时间的时序签核方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6700978B2 (en) * 2000-09-08 2004-03-02 Intel Corporation Method and apparatus for fast converging affine projection based echo canceller

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102456087A (zh) * 2010-11-03 2012-05-16 上海华虹集成电路有限责任公司 一种建立时序修复方法
CN102456087B (zh) * 2010-11-03 2013-12-04 上海华虹集成电路有限责任公司 一种建立时序修复方法
CN102436525A (zh) * 2011-10-27 2012-05-02 西安华芯半导体有限公司 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法
CN102436525B (zh) * 2011-10-27 2014-10-15 西安华芯半导体有限公司 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法
CN102508975A (zh) * 2011-11-15 2012-06-20 华东师范大学 一种互连延迟寄生参数的分析方法
CN104714842A (zh) * 2013-12-17 2015-06-17 北京华大九天软件有限公司 一种调整时钟路径延迟来修复时序违反的方法
CN104714842B (zh) * 2013-12-17 2018-04-13 北京华大九天软件有限公司 一种调整时钟路径延迟来修复时序违反的方法
CN104992032A (zh) * 2015-07-22 2015-10-21 杭州宙其科技有限公司 一种多电压域设计中保持时间的修正方法
CN104992032B (zh) * 2015-07-22 2017-11-07 杭州宙其科技有限公司 一种多电压域设计中保持时间的修正方法
CN107798207A (zh) * 2017-12-13 2018-03-13 嘉兴倚韦电子科技有限公司 集成电路半定制后端设计eco设计方法
CN108170956A (zh) * 2017-12-28 2018-06-15 佛山中科芯蔚科技有限公司 一种保持时间的时序签核方法及装置

Also Published As

Publication number Publication date
CN100394579C (zh) 2008-06-11

Similar Documents

Publication Publication Date Title
CN1828865A (zh) 超大规模集成电路设计中保持时间快速收敛的方法
US6523156B2 (en) Apparatus and methods for wire load independent logic synthesis and timing closure with constant replacement delay cell libraries
CN1440533A (zh) 用于集成电路检验的高精度计时模型
CN101051332A (zh) 一种soc芯片***级验证***及方法
US8453093B2 (en) Alignment net insertion for straightening the datapath in a force-directed placer
Chang et al. Automating post-silicon debugging and repair
US6950998B1 (en) Place-and-route with power analysis
US20070157140A1 (en) Method and computer program product for trimming the analysis of physical layout versus schematic design comparison
CN112100959A (zh) 基于eda工具的时序分析方法、装置及存储介质
US8495535B2 (en) Partitioning and scheduling uniform operator logic trees for hardware accelerators
CN112270148A (zh) 一种门级网表生成方法及相关装置
CN100342381C (zh) 集成电路设计和整合方法
US20120066654A1 (en) Stability-dependent spare cell insertion
US8954915B2 (en) Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit
US20120054707A1 (en) Cone-aware spare cell placement using hypergraph connectivity analysis
TW200837591A (en) Circuit-design-modifying method executable in computer system
US20080295057A1 (en) Method for determining a standard cell for ic design
Rohfleisch et al. Reducing power dissipation after technology mapping by structural transformations
CN1305127C (zh) 用去耦合电容实现集成电路供电网络噪声优化的快速方法
CN1539113A (zh) 层次集成电路设计和分析***中对子模块设计的表达
Tojo et al. Exact and fast L1 cache simulation for embedded systems
CN1737806A (zh) 直接根据标准单元库器件生成门控时钟单元的方法
CN101561833B (zh) 专用指令集处理器的设计方法
US20100257499A1 (en) Techniques for fast area-efficient incremental physical synthesis
US7949509B2 (en) Method and tool for generating simulation case for IC device

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
ASS Succession or assignment of patent right

Owner name: INST OF MICROELECTRONICS, C. A. S

Effective date: 20130419

Owner name: SEMICONDUCTOR MANUFACTURING INTERNATIONAL (SHANGHA

Free format text: FORMER OWNER: INST OF MICROELECTRONICS, C. A. S

Effective date: 20130419

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100029 CHAOYANG, BEIJING TO: 201203 PUDONG NEW AREA, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20130419

Address after: 201203 Shanghai City, Pudong New Area Zhangjiang Road No. 18

Patentee after: SEMICONDUCTOR MANUFACTURING INTERNATIONAL (SHANGHAI) Corp.

Patentee after: Institute of Microelectronics of the Chinese Academy of Sciences

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics of the Chinese Academy of Sciences