CN105404352B - 一种检查时钟树综合结果瓶颈从而提高综合质量的方法 - Google Patents
一种检查时钟树综合结果瓶颈从而提高综合质量的方法 Download PDFInfo
- Publication number
- CN105404352B CN105404352B CN201410458980.XA CN201410458980A CN105404352B CN 105404352 B CN105404352 B CN 105404352B CN 201410458980 A CN201410458980 A CN 201410458980A CN 105404352 B CN105404352 B CN 105404352B
- Authority
- CN
- China
- Prior art keywords
- path
- clock
- bottleneck
- delay
- clock tree
- 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
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
随着超大规模集成电路的时钟系统结构日趋复杂,如何分析时钟树综合结果,提高时钟树综合质量,从而减少时钟传输延迟,提高系统性能成为了业界关注的焦点。本文定义了时钟树综合结果中的“瓶颈路径”,通过比较、筛选找到此类瓶颈路径,借助图形化方法显示其时钟结构和单元物理位置分布,设计者可以清楚地理解瓶颈路径形成的原因,并且可以通过调整瓶颈路径上的单元物理布局位置,或者优化时钟结构的方法来重新进行时钟树综合,降低瓶颈路径上的时钟传输延迟。这种方法应用在复杂时钟树结构的设计当中,可以快速地定位限制时钟树综合质量的问题所在,并提供行之有效的解决方案。
Description
技术领域
本文提出一种提高时钟树综合质量的方法,通过检查时钟树综合结果中的“瓶颈路径”,定位限制时钟传输延迟的关键原因,并结合图形化的方式找到解决方案,减少时钟传输延迟。本发明属于EDA设计领域。
背景技术
随着制造工艺的发展和集成电路设计规模的扩大,后端物理设计越来越依赖于EDA(电子设计自动化)工具的辅助。时钟信号控制着电路中所有同步单元的工作,时钟树综合是后端物理设计中重要的一环,其结果好坏决定着系统能否正常工作以及系统的工作性能优劣。在复杂的时钟系统中,受到EDA工具的限制,时钟树综合结果难以进行分析和优化。
通常一个时钟结构包括时钟定义点、组合逻辑单元(例如门控时钟单元),同步单元(例如触发器单元)等。一个时钟组包括有多个时钟,时钟组内的同步单元通常要求时钟信号从时钟定义点发出后同时到达同步单元。时钟传输延迟是衡量时钟树综合质量的一个重要指标,影响着整个系统的运行速度、功耗和可靠性。它的大小往往受到从时钟定义点到同步单元的路径上经过的组合逻辑单元个数,以及单元在芯片上的物理布局位置分布等多方面的影响。
业界普遍的时钟树综合EDA工具,都是力图平衡从时钟定义点到同步单元的各条路径的延迟。其实现方法是在时钟传输短路径上插入一些缓冲器单元,补充延迟来缩小和时钟传输长路径的差异。然而仅从最终的时钟树综合结果上看,并不能保证时钟信号延迟值最大的路径就是限制时钟传输延迟的关键路径。我们在这里提出了一种方法,定义了“瓶颈路径”的概念。通过寻找并优化瓶颈路径,来真正缩短时钟传输延迟,提高系统性能质量。
发明内容
本发明提出一种提高时钟树综合质量的方法,这种方法通过寻找时钟信号传输的“瓶颈路径”,针对瓶颈路径上的单元,结合图形化显示版图和时钟结构的方法,方便设计者找出真正限制时钟传输延迟的原因,并采用相应的解决方案进行优化。
图1显示了版图中两条时钟信号传输路径,其中一条是真正的“瓶颈路径”,它的延迟时间决定了最终的时钟传输延迟;而另外一条路径上,缓冲器单元被插入用以补充延迟,来弥补传输长路径和传输短路径的延迟差值。从时钟树综合结果来看,所要寻找的“瓶颈路径”并不一定是延迟最大的路径,因为综合工具会在传输短路径上插入缓冲器单元来增加延迟。
定义 :“瓶颈路径”是指时钟信号从时钟源定义点到接收端同步单元的一条传输路径, 这条路径上包含的用以补充延迟的缓冲器单元个数最少(或延迟值最小)。
图2给出了缓冲器单元插入的目的之一:补充延迟,减小时钟传输长路径和传输短路径之间的延迟差别。传输长路径上通常包含有较多的组合逻辑单元,而在传输短路径上,时钟树综合工具会通过缓冲器单元插入的方法,平衡传输长路径和传输短路径上的延迟,保证时钟信号同时到达各个同步单元。这种情况下,时钟传输长路径就是需要优化的“瓶颈路径”。
时钟树综合工具会采用不同的方式来插入缓冲器单元以增加延迟时间。图1中显示的缓冲器单元是分布在同一区域呈链状方式首尾相连。图3给出了另外一种形式,缓冲器单元是呈散落分布,形成Zig-Zag(之字形分布),同样达到了增加时钟延时的目的。
还有一种原因,时钟树综合工具会插入缓冲器单元,这通常受单元物理布局位置的影响。如图4所示,当单元的物理布局位置分布较远,为了保证时钟信号的完整性(即transition时间要限制在一定范围内),时钟树综合工具也会插入缓冲器单元进行信号中继。但这时候的目的是用于保证时钟信号transition时间,而不是补充传输延迟。
综上所述,寻找“瓶颈路径”的关键在于时钟树综合工具插入缓冲器单元的作用,判断其目的是在于保证transition时间还是在于增加传输延迟。可以采用下面的方法进行判断:
1. 在给定时钟中,选取传输延迟较大的数条传输路径(通常可取Top 10%)
2. 针对某条传输路径,统计路径上的缓冲器单元个数N1(或延迟值D1)
3. 删除路径上的所有缓冲器单元,扫描路径上的组合逻辑单元,如果有transition时序违反,插入必要的缓冲器单元进行信号中继,个数为N2(或延迟值D2)
4. 计算差值 N1-N2(或D1-D2),差值最小的传输路径就是“瓶颈路径”
得到“瓶颈路径”之后,可以结合物理版图的图形化显示,如果路径上单元物理位置分布不合理,可以进行物理布局调整;如果路径上经过的组合逻辑单元过多,则需要从时钟结构上入手进行优化。重新进行时钟树的综合,由于瓶颈路径的问题得到解决,最终的时钟传输延迟也会变短,时钟树综合质量也会得到改善。
附图说明
图1 时钟树综合结果中的“瓶颈路径”
图2 缓冲器单元插入目的一:补充延迟减小时钟传输路径之间的延迟差别
图3 Zig-Zag形式的缓冲器单元插入来补充时钟延迟
图4 缓冲器单元插入目的二:保证时钟信号的完整性
具体实施步骤:
结合一个具体的实例说明寻找、优化“瓶颈路径”来提高时钟树综合质量的处理方法,操作流程步骤如下:
1)准备电路单元库文件,记录电路连接关系的网表文件,定义时钟和时延约束的文件,记录物理布局的版图文件;
2)打开EDA工具,读入时钟树综合后的结果,针对主要时钟,选取时钟传输路径进行扫描检查;
3)计算各条传输路径的缓冲器差值 N1-N2(或D1-D2),选择差值最小的传输路径作为“瓶颈路径”进行分析;
4)打开图形化窗口,检查瓶颈路径上的单元物理布局位置是否合理;
5)检查时钟结构,判断瓶颈路径上是否存在过多的组合逻辑单元;
进行物理布局调整或时钟结构优化,重新进行时钟树综合,以减小时钟传输延迟。
Claims (3)
1.一种检查时钟树综合结果瓶颈从而提高综合质量的方法,其特征在于,包括以下步骤:
(1)对输入的时钟树综合结果进行汇总,按照时钟路径延迟大小进行分类;
(2)通过在传输延迟较大的路径中寻找用以补充延迟的缓冲器个数最少的路径而得到瓶颈路径;
(3)根据所述瓶颈路径,比较其路径上单元的物理版图位置,并以图形化的方式显示在时钟结构图中;
(4)通过调整所述瓶颈路径上的单元物理布局位置,或者优化该时钟的结构进行时钟树综合以降低时钟传输延迟。
2.根据权利要求1所述的检查时钟树综合结果瓶颈从而提高综合质量的方法,其特征在于,所述步骤(2),进一步包括:
在传输路径中,选取传输延迟较大的多条传输路径;
针对所选取的传输路径,统计各传输路径上的缓冲器单元个数N1;
删除各路径上的所有缓冲器单元,扫描路径上的组合逻辑单元,如果有transition时序违反,插入缓冲器单元进行信号中继,个数为N2;
计算各传输路径的差值N1-N2,选取差值最小的传输路径为瓶颈路径。
3.根据权利要求1所述的检查时钟树综合结果瓶颈从而提高综合质量的方法,其特征在于,所述步骤(2),进一步包括:
在传输路径中,选取传输延迟较大的多条传输路径;
针对所选取的传输路径,统计各传输路径上的缓冲器单元延迟值D1;
删除各路径上的所有缓冲器单元,扫描路径上的组合逻辑单元,如果有transition时序违反,插入缓冲器单元进行信号中继,延迟值为D2;
计算各传输路径的差值D1-D2,选取差值最小的传输路径为瓶颈路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410458980.XA CN105404352B (zh) | 2014-09-11 | 2014-09-11 | 一种检查时钟树综合结果瓶颈从而提高综合质量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410458980.XA CN105404352B (zh) | 2014-09-11 | 2014-09-11 | 一种检查时钟树综合结果瓶颈从而提高综合质量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404352A CN105404352A (zh) | 2016-03-16 |
CN105404352B true CN105404352B (zh) | 2018-05-11 |
Family
ID=55469889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410458980.XA Active CN105404352B (zh) | 2014-09-11 | 2014-09-11 | 一种检查时钟树综合结果瓶颈从而提高综合质量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404352B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908884B (zh) * | 2017-11-20 | 2020-04-07 | 北京华大九天软件有限公司 | 一种通过调整时钟树分支改善时序的交互式eco方法 |
CN108256189B (zh) * | 2018-01-06 | 2021-08-03 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计高效时钟树物理位置优化方法 |
CN109800495B (zh) * | 2019-01-14 | 2023-05-02 | 深圳忆联信息系统有限公司 | 基于ddr phy物理实现的时钟树优化方法和装置 |
CN111881645B (zh) * | 2020-07-03 | 2021-05-04 | 广芯微电子(广州)股份有限公司 | 一种基于噪声时序的时钟树抗干扰方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW576997B (en) * | 2001-10-24 | 2004-02-21 | Herng-Jer Lee | Method and apparatus for rapidly selecting types of buffers which are inserted in the clock tree for high-speed VLSI design |
TW200428240A (en) * | 2004-08-18 | 2004-12-16 | Univ Chang Gung | A clock tree synthesizing tool synchronously considering low clock skew and low power consumption |
US6910202B2 (en) * | 2001-04-10 | 2005-06-21 | Ricoh Company, Ltd. | Logic synthesis device and logic synthesis method |
CN101986315A (zh) * | 2010-11-19 | 2011-03-16 | 杭州开鼎科技有限公司 | 一种深亚微米下专用集成电路芯片物理实现方法 |
CN103259526A (zh) * | 2013-06-03 | 2013-08-21 | 龙芯中科技术有限公司 | 时钟网络的构建方法和装置 |
CN103324774A (zh) * | 2012-12-29 | 2013-09-25 | 东南大学 | 一种基于时钟规划偏差算法的处理器性能优化方法 |
CN103425820A (zh) * | 2013-07-11 | 2013-12-04 | 陈钢 | 一种减少缓冲插入个数的布局方法 |
-
2014
- 2014-09-11 CN CN201410458980.XA patent/CN105404352B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910202B2 (en) * | 2001-04-10 | 2005-06-21 | Ricoh Company, Ltd. | Logic synthesis device and logic synthesis method |
TW576997B (en) * | 2001-10-24 | 2004-02-21 | Herng-Jer Lee | Method and apparatus for rapidly selecting types of buffers which are inserted in the clock tree for high-speed VLSI design |
TW200428240A (en) * | 2004-08-18 | 2004-12-16 | Univ Chang Gung | A clock tree synthesizing tool synchronously considering low clock skew and low power consumption |
CN101986315A (zh) * | 2010-11-19 | 2011-03-16 | 杭州开鼎科技有限公司 | 一种深亚微米下专用集成电路芯片物理实现方法 |
CN103324774A (zh) * | 2012-12-29 | 2013-09-25 | 东南大学 | 一种基于时钟规划偏差算法的处理器性能优化方法 |
CN103259526A (zh) * | 2013-06-03 | 2013-08-21 | 龙芯中科技术有限公司 | 时钟网络的构建方法和装置 |
CN103425820A (zh) * | 2013-07-11 | 2013-12-04 | 陈钢 | 一种减少缓冲插入个数的布局方法 |
Non-Patent Citations (1)
Title |
---|
ASIC后端设计中的时钟树综合;周广等;《ASIC后端设计中的时钟树综合》;20110415;正文第2.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN105404352A (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103076559B (zh) | 一种针对扫描测试中移位功耗的优化方法 | |
CN105404352B (zh) | 一种检查时钟树综合结果瓶颈从而提高综合质量的方法 | |
Moreira et al. | Impact of C-elements in asynchronous circuits | |
US7519927B1 (en) | Wiring methods to reduce metal variation effects on launch-capture clock pairs in order to minimize cycle-time overlap violations | |
US10678979B2 (en) | Method and apparatus for implementing a system-level design tool for design planning and architecture exploration | |
US6480996B1 (en) | System and method for transposing wires in a circuit design | |
CN101246516A (zh) | 可执行于计算机系统的电路设计修改方法 | |
US7453759B2 (en) | Clock-gated model transformation for asynchronous testing of logic targeted for free-running, data-gated logic | |
CN104714842A (zh) | 一种调整时钟路径延迟来修复时序违反的方法 | |
US20070198238A1 (en) | Modeling asynchronous behavior from primary inputs and latches | |
US20100275168A1 (en) | Design method of semiconductor integrated circuit device and program | |
US8271922B2 (en) | System and method for clock optimization to achieve timing signoff in an electronic circuit and electronic design automation tool incorporating the same | |
US6941532B2 (en) | Clock skew verification methodology for grid-based design | |
US7254794B1 (en) | Timing performance analysis | |
US7526743B2 (en) | Method for routing data paths in a semiconductor chip with a plurality of layers | |
US20120221992A1 (en) | Method of supporting layout design of semiconductor integrated circuit | |
Joshi et al. | Wave-pipelined multiplexed (WPM) routing for gigascale integration (GSI) | |
JP2005136286A (ja) | 半導体集積回路の設計方法、及びその装置 | |
Prasad et al. | Analysis, Physical Design and Power Optimization of Design Block at Lower Technology Node | |
Saranya et al. | Design and verification of an asynchronous noc router architecture for gals systems | |
Akl et al. | Transition skew coding for global on-chip interconnect | |
US7086015B2 (en) | Method of optimizing RTL code for multiplex structures | |
Kuzmin | Clock Network Design Challenges | |
CN118839659B (zh) | 一种数字芯片噪声预防及修复方法与装置 | |
WO2000075815A1 (en) | An arrangement and a method relating to design of circuits |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100102 Second Floor, Block A, No. 2, Lize Middle Road, Chaoyang District, Beijing Patentee after: Beijing Huada Jiutian Technology Co.,Ltd. Address before: 100102 Second Floor, Block A, No. 2, Lize Middle Road, Chaoyang District, Beijing Patentee before: HUADA EMPYREAN SOFTWARE Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |