CN110688723A - 一种时钟分布网络快速设计方法 - Google Patents
一种时钟分布网络快速设计方法 Download PDFInfo
- Publication number
- CN110688723A CN110688723A CN201910835765.XA CN201910835765A CN110688723A CN 110688723 A CN110688723 A CN 110688723A CN 201910835765 A CN201910835765 A CN 201910835765A CN 110688723 A CN110688723 A CN 110688723A
- Authority
- CN
- China
- Prior art keywords
- clock network
- network
- stage
- clock
- driving unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种时钟分布网络快速设计方法,将时钟网络分为第一级时钟网络和第二级时钟网络,其中,第一级时钟网络由第一级时钟网络驱动单元驱动,第二级时钟网络由第二级时钟网络驱动单元驱动,包括以下步骤:采用时序优先的布局,并获取触发器位置;根据布局参数采用聚类算法将触发器划分成若干个局部区域,建立第二级时钟网络;根据布局参数采用聚类算法将第二级时钟网络驱动单元划分为若干负载均匀的区域,建立第一级时钟网络;对第一级时钟网络和第二级时钟网络进行绕线。本发明能够降低时钟网络延迟,减少时钟网络负载。
Description
技术领域
本发明涉及时序电路设计技术领域,特别是涉及一种时钟分布网络快速设计方法。
背景技术
在高性能微处理中,时钟网络是影响处理器性能和功耗的关键部件。一个低延迟、低偏斜的时钟网络可以有效降低时序开销,较少时钟路径上的片上偏差和延迟可以进一步提升处理器的性能。同时,时钟网络的功耗占了40%以上整个处理器的动态功耗。因此降低时钟网络的功耗有助于降低处理器功耗。降低时钟网络一般都采用降低时钟网络负载的方式实现。可见低延迟、低偏斜、低功耗的时钟网络对实现高能效处理器至关重要。
要实现低延迟低偏斜的时钟网络需要尽可能的缩短时钟网络的驱动级数,且所有触发器到驱动点的延迟接近。通常的做法是将触发器聚拢在驱动点附近或者将时钟网络形成一张大的网格采用多点驱动的方式来增加驱动降低延迟。前者会因为要改动时序最佳情况下的触发器位置从而影响时序,后者会因为多点驱动产生直流通路问题增加时钟网络功耗,同时大量的时钟网格线占据了大量的优质绕线资源从而影响设计性能。因此高能效时钟网络的设计需要同时解决这两个问题,在不影响芯片时序和绕线的情况下设计出驱动级数少,延迟低,单点驱动的时钟网络。
发明内容
本发明所要解决的技术问题是提供一种时钟分布网络快速设计方法,降低时钟网络延迟,减少时钟网络负载。
本发明解决其技术问题所采用的技术方案是:提供一种时钟分布网络快速设计方法,将时钟网络分为第一级时钟网络和第二级时钟网络,其中,第一级时钟网络由第一级时钟网络驱动单元驱动,第二级时钟网络由第二级时钟网络驱动单元驱动,包括以下步骤:
(1)采用时序优先的布局,并获取触发器位置;
(2)根据布局参数采用聚类算法将触发器划分成若干个局部区域,建立第二级时钟网络的连接关系,确定每个局部区域中第二级时钟网络驱动单元的位置,并在每个局部区域范围内建立鱼骨状主干时钟网络;
(3)根据布局参数采用聚类算法将第二级时钟网络驱动单元划分为若干负载均匀的区域,建立第一级时钟网络连接关系,确定每个负载均匀的区域的第一级时钟网络驱动单元,在每个负载均匀的区域范围内建立二叉树形式主干时钟网络;
(4)对第一级时钟网络和第二级时钟网络进行绕线。
所述步骤(2)中的聚类算法通过多次迭代后给出触发器到第二级时钟网络连线总量最短情况下的第二级时钟网络驱动单元位置,使得第二级时钟网络的总负载最小。
所述步骤(3)中的聚类算法通过多次迭代后给出第二级时钟网络驱动单元到第一级时钟网络连线总量最短情况下的第一级时钟网络驱动单元位置,使得第一级时钟网络的总负载最小。
所述步骤(2)和步骤(3)中的布局参数包括时钟网络延迟约束、绕线层选择约束以及驱动点数量约束。
所述步骤(4)后还包括以下步骤:对整个时钟***进行寄生参数抽取,分析各个第一级时钟网络和第二级时钟网络的负载情况,根据负载情况调节第一级时钟网络驱动单元和第二级时钟网络驱动单元的驱动和负载大小。
所述步骤(4)后还包括以下步骤:对第一时钟网络和第二时钟网络的网络主干进行冗余裁剪,通过识别主干与分支的连接孔位置,判断有效时钟网络的主干,并逐一改变连线的长度属性,没有连接分支的则删除整条主干。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明不需要调整触发器的位置,减少了对时序的影响,通过K-means算法调整驱动点位置来降低时钟网络延迟,减少时钟网络负载,不但提高了处理器最高工作频率,还降低了微处理器的功耗。
附图说明
图1是本发明实施方式设计的时钟网络的架构示意图;
图2是第一级时钟网络驱动单元结构示意图;
图3是第二级时钟网络驱动单元结构示意图;
图4是本发明的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种时钟分布网络快速设计方法,如图1所示,该方法将时钟网络分为第一级时钟网络(简称FLCN)和第二级时钟网络(简称SLCN),其中,第一级时钟网络由第一级时钟网络驱动单元(简称FLCD)驱动,第二级时钟网络由第二级时钟网络驱动单元(简称SLCD)驱动。其中,第一级时钟网络为第二级时钟网络驱动单元输入的互连,采用H型互连。第二级时钟网络为触发器时钟输入的互连,采用鱼骨状互连。
第一级时钟网络驱动单元结构如图2所示,该第一级时钟网络驱动单元包含防毛刺的高低频电路切换电路、驱动可调节缓冲器和负载可调节电容阵列,通过驱动可调节缓冲器和负载可调节电容阵列来实现驱动和负载的调节。
第二级时钟网络驱动单元结构如图3所示,该第二级时钟网络驱动单元包含占空比调节电路、时钟门控电路、驱动可调节缓冲器和负载可调节电容阵列,通过驱动可调节缓冲器和负载可调节电容阵列来实现驱动和负载的调节。
图4为是本实施方式的流程图。流程的输入为:时序优先的芯片布局数据库,然后在用户自定义的时钟网络延迟约束、绕线层选择约束以及驱动点数量约束的影响下进行第二时钟网络的区域规划,通过K-means算法进行第二时钟网络驱动单元的位置优化。根据第二时钟网络驱动单元的位置进行第一时钟网络的区域规划,通过优化的K-means算法进行第一时钟网络驱动单元的位置优化。确定了两级时钟网络范围和驱动点位置后进行时钟网格布线。该方法采用自底向上的方法根据时序优先的触发器布局结果进行层次化时钟驱动单元位置优化和时钟网络设计,具体步骤如下:
(1)采用时序优先的布局,并获取触发器位置,也就是说,当芯片完成时序优先的布局后,先进行触发器位置的获取,为第二时钟网络的区域规划做好准备。
(2)根据布局参数采用聚类算法将触发器划分成若干个局部区域,建立第二级时钟网络的连接关系,确定每个局部区域中第二级时钟网络驱动单元的位置,并在每个局部区域范围内建立鱼骨状主干时钟网络。具体地说,根据用户自定义的第二级时钟网络延迟约束、第二级时钟网络的绕线层选择约束和第二时钟网络驱动单元的数量约束,采用K-means算法将触发器划分成若干个局部区域,建立第二级时钟网络连接关系,并确定每个局部区域的第二时钟网络驱动单元的位置,在每个局部区域范围建立鱼骨状主干时钟网络。在进行K-means算法时,通过多次迭代后给出触发器到第二级时钟网络连线总量最短情况下的第二级时钟网络驱动单元位置,使得第二级时钟网络的总负载最小。
(3)根据布局参数采用聚类算法将第二级时钟网络驱动单元划分为若干负载均匀的区域,建立第一级时钟网络连接关系,确定每个负载均匀的区域的第一级时钟网络驱动单元,在每个负载均匀的区域范围内建立二叉树形式主干时钟网络。具体地说,根据用户自定义的第一级时钟网络延迟约束、第一级时钟网络的绕线层选择约束和第一时钟网络驱动单元的数量约束,采用K-means算法将触发器划分成若干个负载均匀的区域,建立第一级时钟网络连接关系,并确定每个负载均匀的区域的第一时钟网络驱动单元的位置,在每个负载均匀的区域范围内建立二叉树形式主干时钟网络。在进行K-means算法时,通过多次迭代后给出第二级时钟网络驱动单元到第一级时钟网络连线总量最短情况下的第一级时钟网络驱动单元位置,使得第一级时钟网络的总负载最小。
不难发现,本实施方式通过设置目标时钟网络区域的长宽,时钟网络金属绕线层选择以及K-means算法中第一级时钟网络驱动单元和第二级时钟网络驱动单元的数量上限来调整时钟网络的传播延时,同时控制时钟偏斜,从而同时实现了两级时钟网络延迟和偏斜可配置。
(4)对第一级时钟网络和第二级时钟网络进行绕线。绕线时实现了同一时钟网络的驱动端与负载端按不同的规则绕线,降低了SEM违例的概率。第一级时钟网络和第二级时钟网络均具有高扇出高负载的特性,因此在绕线时,首先暂时将负载与时钟网络断开,以进行驱动端大线宽高金属层的绕线,再锁住驱动端的绕线以进行负载端低线宽的鱼骨状第二时钟网络的绕线,如此不会改变已完成的驱动端绕线,使得时钟网络的驱动端有了比较强壮的驱动端绕线,大概率避免了SEM违例。
(5)对布线后时钟网络进行延迟、负载、屏蔽等关键参数进行仿真,实时修改驱动大小和负载数值,从而尽可能降低时钟网络延迟,均衡时钟网络负载。具体地说,在完成两级时钟网络绕线后,对整个时钟***进行寄生参数抽取,分析各个第一级时钟网络和第二级时钟网络的负载情况,根据负载情况调节第一级时钟网络驱动单元和第二级时钟网络驱动单元的驱动和内部负载大小。在均衡时钟网络负载的前提下,确保时钟信号斜率满足设计要求。
(6)对最终优化后的时钟网络进行冗余时钟主干裁剪,尽可能降低时钟网络负载,从而降低时钟网络功耗,降低时钟网络延迟。具体地说,在完成绕线后,对第一时钟网络和第二时钟网络的网络主干进行冗余裁剪,通过识别主干与分支的连接孔位置,判断有效时钟网络的主干,并逐一改变连线的长度属性,没有连接分支的则删除整条主干,从而达到删除冗余网络的效果,减少了时钟网络的负载,对时钟的延时、功耗都有好处。
由此可见,本发明不需要调整触发器的位置,减少了对时序的影响,通过K-means算法调整驱动点位置来降低时钟网络延迟,减少时钟网络负载,不但提高了处理器最高工作频率,还降低了微处理器的功耗。通过上述方法生成的两级时钟网络延迟短,偏差小。采用该设计方法,数十万触发器的设计可以达到小于15ps的时钟偏差,大大减少时序开销,提高设计频率,同时降低设计功耗。
Claims (6)
1.一种时钟分布网络快速设计方法,其特征在于,将时钟网络分为第一级时钟网络和第二级时钟网络,其中,第一级时钟网络由第一级时钟网络驱动单元驱动,第二级时钟网络由第二级时钟网络驱动单元驱动,包括以下步骤:
(1)采用时序优先的布局,并获取触发器位置;
(2)根据布局参数采用聚类算法将触发器划分成若干个局部区域,建立第二级时钟网络的连接关系,确定每个局部区域中第二级时钟网络驱动单元的位置,并在每个局部区域范围内建立鱼骨状主干时钟网络;
(3)根据布局参数采用聚类算法将第二级时钟网络驱动单元划分为若干负载均匀的区域,建立第一级时钟网络连接关系,确定每个负载均匀的区域的第一级时钟网络驱动单元,在每个负载均匀的区域范围内建立二叉树形式主干时钟网络;
(4)对第一级时钟网络和第二级时钟网络进行绕线。
2.根据权利要求1所述的时钟分布网络快速设计方法,其特征在于,所述步骤(2)中的聚类算法通过多次迭代后给出触发器到第二级时钟网络连线总量最短情况下的第二级时钟网络驱动单元位置,使得第二级时钟网络的总负载最小。
3.根据权利要求1所述的时钟分布网络快速设计方法,其特征在于,所述步骤(3)中的聚类算法通过多次迭代后给出第二级时钟网络驱动单元到第一级时钟网络连线总量最短情况下的第一级时钟网络驱动单元位置,使得第一级时钟网络的总负载最小。
4.根据权利要求1所述的时钟分布网络快速设计方法,其特征在于,所述步骤(2)和步骤(3)中的布局参数包括时钟网络延迟约束、绕线层选择约束以及驱动点数量约束。
5.根据权利要求1所述的时钟分布网络快速设计方法,其特征在于,所述步骤(4)后还包括以下步骤:对整个时钟***进行寄生参数抽取,分析各个第一级时钟网络和第二级时钟网络的负载情况,根据负载情况调节第一级时钟网络驱动单元和第二级时钟网络驱动单元的驱动和负载大小。
6.根据权利要求5所述的时钟分布网络快速设计方法,其特征在于,所述步骤(4)后还包括以下步骤:对第一时钟网络和第二时钟网络的网络主干进行冗余裁剪,通过识别主干与分支的连接孔位置,判断有效时钟网络的主干,并逐一改变连线的长度属性,没有连接分支的则删除整条主干。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910835765.XA CN110688723B (zh) | 2019-09-05 | 2019-09-05 | 一种时钟分布网络快速设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910835765.XA CN110688723B (zh) | 2019-09-05 | 2019-09-05 | 一种时钟分布网络快速设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688723A true CN110688723A (zh) | 2020-01-14 |
CN110688723B CN110688723B (zh) | 2023-04-18 |
Family
ID=69108898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910835765.XA Active CN110688723B (zh) | 2019-09-05 | 2019-09-05 | 一种时钟分布网络快速设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688723B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257375A (zh) * | 2020-10-26 | 2021-01-22 | 海光信息技术股份有限公司 | 用于集成电路设计的布局调整方法、装置和电子设备 |
TWI758720B (zh) * | 2020-04-30 | 2022-03-21 | 創意電子股份有限公司 | 電路信號偏移的調整裝置以及調整方法 |
CN114722763A (zh) * | 2021-01-06 | 2022-07-08 | 上海复旦微电子集团股份有限公司 | 布局fpga芯片内时钟线网的方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605863A (zh) * | 2013-11-27 | 2014-02-26 | 中国人民解放军国防科学技术大学 | 集成电路时钟网格主干尺寸的规划方法 |
CN106960087A (zh) * | 2017-03-13 | 2017-07-18 | 上海华力微电子有限公司 | 一种时钟分布网络结构及其生成方法 |
CN109976503A (zh) * | 2017-12-28 | 2019-07-05 | 炬芯(珠海)科技有限公司 | 一种芯片多源时钟树的主干网络 |
-
2019
- 2019-09-05 CN CN201910835765.XA patent/CN110688723B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605863A (zh) * | 2013-11-27 | 2014-02-26 | 中国人民解放军国防科学技术大学 | 集成电路时钟网格主干尺寸的规划方法 |
CN106960087A (zh) * | 2017-03-13 | 2017-07-18 | 上海华力微电子有限公司 | 一种时钟分布网络结构及其生成方法 |
CN109976503A (zh) * | 2017-12-28 | 2019-07-05 | 炬芯(珠海)科技有限公司 | 一种芯片多源时钟树的主干网络 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI758720B (zh) * | 2020-04-30 | 2022-03-21 | 創意電子股份有限公司 | 電路信號偏移的調整裝置以及調整方法 |
US11630479B2 (en) | 2020-04-30 | 2023-04-18 | Global Unichip Corporation | Apparatus for adjusting skew of circuit signal and adjusting method thereof |
CN112257375A (zh) * | 2020-10-26 | 2021-01-22 | 海光信息技术股份有限公司 | 用于集成电路设计的布局调整方法、装置和电子设备 |
CN112257375B (zh) * | 2020-10-26 | 2023-10-10 | 海光信息技术(苏州)有限公司 | 用于集成电路设计的布局调整方法、装置和电子设备 |
CN114722763A (zh) * | 2021-01-06 | 2022-07-08 | 上海复旦微电子集团股份有限公司 | 布局fpga芯片内时钟线网的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110688723B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688723B (zh) | 一种时钟分布网络快速设计方法 | |
US6311313B1 (en) | X-Y grid tree clock distribution network with tunable tree and grid networks | |
US6205571B1 (en) | X-Y grid tree tuning method | |
US8661374B2 (en) | Placement aware clock gate cloning and fanout optimization | |
US6434704B1 (en) | Methods for improving the efficiency of clock gating within low power clock trees | |
US10915685B1 (en) | Circuit stage credit based approaches to static timing analysis of integrated circuits | |
US7941689B2 (en) | Minimizing clock uncertainty on clock distribution networks using a multi-level de-skewing technique | |
CN107908884B (zh) | 一种通过调整时钟树分支改善时序的交互式eco方法 | |
CN107862154A (zh) | 一种时序调整方法 | |
CN111539182B (zh) | 一种对组合逻辑电路等价验证的分级方法 | |
CN113987984A (zh) | 一种片上电感自动化设计***及设计方法 | |
US20060010414A1 (en) | Method and apparatus for rapidly selecting types of buffers which are inserted into the clock tree for high-speed very-large-scale-integration | |
US20230385492A1 (en) | Method for reconstructing physical connection relationships of general EDA model layouts | |
US9355202B2 (en) | Promoting efficient cell usage to boost QoR in automated design | |
US11630479B2 (en) | Apparatus for adjusting skew of circuit signal and adjusting method thereof | |
WO2003034290A2 (en) | Clock skew verification methodology for grid-based design | |
US8966428B2 (en) | Fixed-outline floorplanning approach for mixed-size modules | |
CN107742051B (zh) | Fpga电路晶体管尺寸的快速优化方法 | |
CN114662446B (zh) | 一种用以减小动态功耗的布线优化方法 | |
CN108629093B (zh) | 一种噪声感知的动态电压频率调节过渡序列设计方法 | |
CN108563882B (zh) | 一种噪声感知的片上时钟域控制序列设计方法 | |
US20080079468A1 (en) | Layout method for semiconductor integrated circuit | |
US20030074175A1 (en) | Simulation by parts method for grid-based clock distribution design | |
CN112926281B (zh) | 一种数字集成电路的智能模块分析方法 | |
Hou et al. | A path-based timing-driven quadratic placement algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |