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

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

Info

Publication number
CN100394579C
CN100394579C CNB2005100526910A CN200510052691A CN100394579C CN 100394579 C CN100394579 C CN 100394579C CN B2005100526910 A CNB2005100526910 A CN B2005100526910A CN 200510052691 A CN200510052691 A CN 200510052691A CN 100394579 C CN100394579 C CN 100394579C
Authority
CN
China
Prior art keywords
design
cell
path
timing
time
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
CNB2005100526910A
Other languages
English (en)
Other versions
CN1828865A (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

Abstract

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

Description

超大规模集成电路设计中保持时间快速收敛的方法
技术领域
本发明涉及超大规模集成电路(VLSI)设计技术领域,特别是后端设计中使保持时间(hold time)快速收敛的设计方法。
背景技术
传统的VLSI设计中的布局和优化(place and optimization)流程,大致可分为两个阶段:时序驱动布局(timing-driven placement),布局优化(placement optimization)(修复建立时间违反fix setup time violation、hold time violation、最大电容违反max capacitance violation、最大斜率违反max tran violation etc.)。布局优化placement optimization是其中的重要步骤,在这个过程中根据软件自身算法估计出的寄生参数决定了芯片的延迟大小,对于建立时间(setup time)、保持时间(hold time)的优化通常需要反复多次才能达到设计者的目标。在布线后由于线网(net)的延迟由估计变的更为接近实际,这就会产生时序(timing)的差别;在进行反标寄生参数的后仿真也有可能产生前后端的timing差别,这就需要对版图进行反复迭代修改。
布局和优化的流程本质上是使时序收敛的流程,在通常的自动布局布线的流程中,软件所使用的时序收敛方法的指导思想是:setup time的收敛是通过减少关键路径上的电阻电容,以减少驱动单元的负载或者是增加驱动单元的驱动能力来减少路径上的延迟;发生保持时间违反(holdtime violation),则说明数据通路太短,需要增加延迟单元或是采用别的方法达到增加延迟的目的。在自动布局布线的过程中setup time和holdtime的优化是个相辅相成的过程,对hold time的修复会对setup time的修复产生负面的影响。特别是在一些特别紧凑的设计中,插入延迟单元(delay cell)会改变周边单元的放置。而被改动的这些单元如果处于关键路径中,则会对关键路径的时序产生负面影响,使其延迟变大,最终影响芯片的工作速度。另一方面,在软件中使用自动的hold time修复办法,对于规模很大的设计特别是几百万门级的电路来说,需要几十个小时,而且最终的结果可能达不到设计者的目标,需要反复。这样,就会大大的增加设计周期,不利于缩短芯片的面世时间,增加了设计成本。
发明内容
本发明的目的在于提出一种新的可用于VLSI设计的快速时序收敛方法。它是为了解决VLSI后端设计中时序的优化收敛需要反复修复,工作量大,周期长的特点提出的,特别是在setup time已经满足要求但是holdtime violation还需要在版图中进行修复的情况。
本发明中所采用的hold time快速时序收敛方法能够在很大程度上提高工作效率,缩短设计周期,方法如下:首先,与常规的VLSI设计方法相同,先进行通常的布局优化(place optimization)和后优化(postoptimization)对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的相对位置和连接,图1B是第一条关键路径相应cell在自动修复之后的相对位置和连接。如图标示的cell A、B和C,在进行自动修复后变为了A’、B’、C’的相对位置,由于cell B所在行的位置受到插入cell的影响比较大,因此引起timing的变差。图2A所示的是自动修复前第二条路径中受到很大影响的cell的相对位置和连接,图2B是第二条关键路径相应cell在自动修复之后的相对位置和连接。如果直接按照通用的流程,需要对整个设计在此基础上再进行一次timing的优化操作来修复引起的建立时间违反(setup timeviolation),针对百万门级的设计,需要的时间为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前的报告完全一致。再以ast Path的方式显示这些路径,发现它们和修复前完全保持一致。在这个修复的过程后就不需要再进行setup timeviolation的修复过程了,整个修复的过程所需要的时间仅为几小时。如果是需要在布线后进行hold time violation的修复,上面的方式也完全适用,只需在delay cell等修改后进行增量布线(eco route)的步骤就可以了。
图3标示的是这种快速收敛方法的操作流程。具体步骤说明如下:
S1:它是优化保持时间违反所必要的辅助工作,先考查插入点,选取点之后,考查插入点前后的驱动cell以及负载的大小,选择合适的插入cell,实施修复,报告时序信息得到所有建立时间违反路径的报告,按照修复需要加入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:core1/U6/U16_xout_reg_15_/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_reg_24_/D
    *  Delay Type:Max
    *  Slack:-0.4285(VIOLATED)
*************************************************************
    *  Start point:core1/U6/U47_yout_reg/CK
    *  End point:over1_pad
    *  Delay Tye: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_waddr_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/U2/U1_U2_summation2_reg_22_/CK
    *  End point:core1/U2/U2_U2_U1_U2_mantissa_reg_27_/D
    *  Delay Type:Max
    *  Slack:-0.8448(VIOLATED)
**************************************************************
    *  Start point:core1/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_U1_U2_mantissa_reg_31_/D
    *  Clock Group:clk
    *  Slack:-0.6408(VIOLATED)
**************************************************************
    *  Start point:core1/U2/U1_U2_summation2_reg_21_/CK
    *  End point:core1/U2/U2_U2_U1_U2_mantissa_reg_22_/D
    *  Clock Group:clk
    *  Slack:-0.5708(VIOLATED)
**************************************************************
虽然是hold time有了改善,但是关键路径的时序报告显示整个设计的setup time已经在修复的过程中受到了很大的影响,时序变差了许多,最大的violation已经由0.45增加到了0.95。在没有修复前,这些路径的时序报告如下:
************************************************************
  *  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.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_mantissa_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,reporttiming,与修复前进行比较,查找出易受到影响的关键路径;
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 CN1828865A (zh) 2006-09-06
CN100394579C true 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)

Families Citing this family (7)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1473403A (zh) * 2000-09-08 2004-02-04 ض� 用于基于回波消除器的快速收敛仿射投影的装置和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1473403A (zh) * 2000-09-08 2004-02-04 ض� 用于基于回波消除器的快速收敛仿射投影的装置和方法

Also Published As

Publication number Publication date
CN1828865A (zh) 2006-09-06

Similar Documents

Publication Publication Date Title
CN100394579C (zh) 超大规模集成电路设计中保持时间快速收敛的方法
US6397170B1 (en) Simulation based power optimization
US8875082B1 (en) System and method for detecting and prescribing physical corrections for timing violations in pruned timing data for electronic circuit design defined by physical implementation data
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
US7610568B2 (en) Methods and apparatus for making placement sensitive logic modifications
CN112100959A (zh) 基于eda工具的时序分析方法、装置及存储介质
CN102866349A (zh) 集成电路测试方法
US20100050142A1 (en) Special engineering change order cells
US7882483B2 (en) Method for checking constraints equivalence of an integrated circuit design
Rohfleisch et al. Reducing power dissipation after technology mapping by structural transformations
US20070044058A1 (en) Enabling efficient design reuse in platform ASICs
US10678989B2 (en) Method and system for sigma-based timing optimization
WO1999008213A1 (en) System and method for generating and using stage-based constraints for timing-driven design
Papa et al. RUMBLE: an incremental, timing-driven, physical-synthesis optimization algorithm
US20080059923A1 (en) Lsi power consumption calculation method and calculation program
Iizuka et al. A tool set for the design of asynchronous circuits with bundled-data implementation
US7152216B2 (en) Method, system, and computer program product for automatic insertion and correctness verification of level shifters in integrated circuits with multiple voltage domains
US7979262B1 (en) Method for verifying connectivity of electrical circuit components
US7590957B2 (en) Method and apparatus for fixing best case hold time violations in an integrated circuit design
Hurst Automatic synthesis of clock gating logic with controlled netlist perturbation
US8127264B2 (en) Methods for designing integrated circuits employing context-sensitive and progressive rules and an apparatus employing one of the methods
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
Bommu et al. Retiming-based factorization for sequential logic optimization
KR20070022545A (ko) 디바이스의 전원차단효과를 rtl에서 검증할 수 있는모델 및 전원차단효과를 모델링 하는 방법
Hsu et al. Speeding up power verification by merging equivalent power domains in RTL design with UPF

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) Corporation

Patentee after: Institute of Microelectronics, Chinese Academy of Sciences

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

Patentee before: Institute of Microelectronics, Chinese Academy of Sciences