CN113326672B - 一种针对近阈值时钟偏差优化的时钟树综合构建方法 - Google Patents
一种针对近阈值时钟偏差优化的时钟树综合构建方法 Download PDFInfo
- Publication number
- CN113326672B CN113326672B CN202110597450.3A CN202110597450A CN113326672B CN 113326672 B CN113326672 B CN 113326672B CN 202110597450 A CN202110597450 A CN 202110597450A CN 113326672 B CN113326672 B CN 113326672B
- Authority
- CN
- China
- Prior art keywords
- clock
- grouping
- capacitance
- layer
- fluctuation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种针对近阈值时钟偏差优化的时钟树综合构建方法,本发明首先通过分组构建了一种结构均衡的时钟树结构,具体表现为:每条时钟路径有相同的时钟缓冲器级数,同一级时钟缓冲器的型号相同,同一级时钟缓冲器的负载电容相同。通过均衡的时钟树结构来优化时钟偏差。之后采用了动态规划算法对时钟树的时钟缓冲器型号进行优化,同时通过时钟偏差波动的建模来判断解的可行性,选择时钟偏差波动较小的解,由此对时钟偏差的波动进行优化。
Description
技术领域
本发明属于集成电路设计自动化领域,尤其是一种针对近阈值时钟偏差优化的时钟树综合构建方法。
技术背景
由于晶体管的动态功耗与工作电压呈平方关系,减小工作电压可以有效减小功耗,当电压降至晶体管的阈值电压时具有最高的能效比。时钟树设计是集成电路在后端物理设计中的一个重要步骤,时钟树的设计会对集成电路的功耗,性能以及稳定性都有很大的影响。
相比于传统的常电压,近阈值下电路特性会发生一定的变化。首先近阈值下时钟缓冲器的延时增加导致时钟偏差的大小变大,影响电路的性能。其次近阈值下时钟缓冲器的延时波动变大导致时钟偏差的波动变大,降低了电路的鲁棒性。
发明内容
本发明要解决的技术问题是近阈值电压下电路的时钟偏差恶化严重,时钟偏差变大同时时钟偏差的波动增加剧烈。时钟偏差增加会影响电路的性能降低,时钟偏差的波动变大会降低电路的鲁棒性。因此在尽可能低的功耗开销下减小时钟偏差的大小和时钟偏差的波动。
本发明提了一种针对近阈值时钟偏差优化的时钟树综合构建方法,首先构建结构均衡的时钟树结构,具体为:每条时钟路径有相同的时钟缓冲器级数,同一级时钟缓冲器的型号相同,同一级时钟缓冲器的负载电容相同。由此来优化时钟偏差。之后采用了动态规划算法对时钟树的时钟缓冲器型号进行优化,同时通过时钟偏差波动的建模来判断解的可行性,由此来选择时钟偏差波动较小的解。
本发明提了的一种针对近阈值时钟偏差优化的时钟树综合构建方法,具体包括以下步骤:
步骤1,根据局部时钟树的输出转换时间约束和时钟缓冲器型号确定最大分组电容约束;
步骤2,通过遍历分组电容进行分组得到最为均衡的分组结果;在该层所有的局部时钟树根节点位置插入相同型号的时钟缓冲器;
步骤3,通过蛇形走线微调分组电容,保证各分组之间分组电容均衡;
步骤4,根据给定输入转换时间和时钟缓冲器型号,在当前层得到一个均衡分组结果,该层的分组结果抽象成一个可行解元组γ;
采用动态规划算法自底向上的求解可行解元组,从而得到完整可行解;
通过动态规划算法遍历所有的时钟缓冲器型号和转换时间约束,且在自底向上传递可行解的过程中需要舍去时钟偏差波动大于设定约束值的可行解;
步骤5,对步骤4最后得到的所有可行解按照功耗排序,把功耗最低的解作为最优解,即可得到最优的时钟缓冲器型号组合。
进一步的,步骤2中,分组的方法采用位置优先的方式,首先把距离最小的叶子节点放入分组,然后一直把距离分组中心点最近的叶子节点放入分组,直到分组电容达到最大分组电容约束值。
进一步的,步骤3中,蛇形走线的长度如下式所示:
Li=Cmax-Ci/perCap
其中Li表示当前第i个分组的蛇形走线长度,Cmax为分组结果中最大的分组电容,Ci表示当前第i个分组的分组电容,perCap为单位长度的导线电容;蛇形走线的位置位于时钟缓冲器的插入点和分组的局部时钟树的根节点之间。
进一步的,步骤4中,可行解元组γ表示为:γ={S,B,C,P,σ},其中S表示输入转换时间约束,B表示时钟缓冲器的型号,C表示总电容,P表示总功耗,σ表示时钟延时的标准差;把时钟缓冲器的型号列入可行解的元组之内;由此可以对时钟缓冲器的型号进行优化。
进一步的,步骤4中,采用动态规划算法自底向上的求解可行解元组的过程为:
下层的可行解γμ向上传递得到γθ,其中γμ={Sμ,Bμ,Cμ,Pμ,σμ},γθ={Sθ,Bθ,Cθ,Pθ,σθ};
Sθ和Bθ为当前层的输入转换时间和当前层的时钟缓冲器型号,其值为所有输入转换时间和时钟缓冲器型号组合的迭代值;
Pθ=Pμ+∑Pb (3)
Cθ为传递到当前层的电容,该值由公式(2)计算得到,其中Cμ表示下一层的电容,表示该下一层所有时钟缓冲器的输入电容,Cl表示时钟树连线的连线电容;Pθ为传递到当前层的功耗值,该值由公式(3)计算得到,其中Pμ表示下一层的功耗,∑Pb为当前层所有时钟缓冲器的功耗;σθ表示传递到当前层的时钟延时波动,该值由公式(4)计算,其中σμ表示下一层的时钟延时波动,ρ表示相关系数,σb表示当前层的时钟缓冲器延时波动。
其中σskew为时钟偏差波动,σ为时钟延时波动,ρ为相关系数。
有益效果:
(1)由于近阈值下连线延时占比较小,因此可以不考虑连线的对称性而仅仅考虑时钟路径上时钟缓冲器的对称性。由此减小连线电容带来的功耗开销。
(2)由于本发明时钟树的对称结构,可以大幅度减少可行解的数目,这样可以加快算法运行速度,并且可以避免由于裁切局部可行解导致的无法得出全局最优解的情况。
(3)本发明在时钟树综合的过程中把时钟缓冲器的型号放入可行解的元组,这样就可以在时钟树综合的过程中进行时钟缓冲器型号的优化,保证在较小的功耗开销下满足时钟偏差波动和时钟转换时间的约束。
(4)通过在ISCAS89基准电路和ARM Cortex M0开源微控制器电路上验证本发明的方法。相比于商业EDA 工具IC Compiler来说,时钟偏差均值减小了26.7%,时钟偏差标准差减小了21.3%,功耗增加了8.4%。与其他同类方法相比,时钟偏差均值减小了41.9%,时钟偏差标准差减小了5.3%,功耗减小1.1%。
附图说明
图1是算法的整体流程图
图2是自底向上传递可行解的示意图
图3是x1型号的时钟缓冲器分组示意图
图4是x2型号的时钟缓冲器分组示意图
具体实施方案
下面结合附图对本发明做进一步说明,图1是对算法的整体概述。
(1)由于均衡树结构的特点,需要保证同一级每个局部时钟树的电容一致。因此需要对当前层的节点进行均衡分组,并且对分组进行局部时钟树综合得到局部时钟树。对于最底层而言,一个节点表示一个寄存器。对于非最底层而言,一个节点表示一个时钟缓冲器。为了使分组内局部时钟树的输出转换时间满足约束,要求计算出最大分组电容约束。输出转换时间的影响因素是时钟缓冲器的型号、时钟缓冲器的输入转换时间以及时钟缓冲器的输出负载电容。本发明中使用查找表的方式通过给定的输入转换时间和输出转换时间查找特定型号时钟缓冲器的查找表即可得到最大分组电容约束。
(2)在得到最大分组电容约束之后,就需要在叶子节点中进行分组并进行局部时钟树综合得到若干个总电容相差最小的寄存器分组。这一步的主要目标是尽可能保证分组电容均衡,以减小时钟偏差的大小。分组算法采用位置优先的方式,首先把距离最小的叶子节点放入分组,然后一直把距离分组中心点最近的叶子节点放入分组,直到分组电容达到约束值。这样位置优先的方式可以尽可能减小时钟树连线的长度,有利于减少功耗开销。该算法的分组的结果取决于分组的电容约束,因此需要得到合适的电容约束,因此还需要遍历分组电容约束得到最均衡的分组结果。得到该层的分组结果之后需要在该层所有的局部时钟树根节点位置插入相同型号的时钟缓冲器,这样即可保证同一层次的时钟缓冲器的型号与负载电容相同,从而减小时钟偏差。
(3)在上述的步骤中会存在寄存器分组结果不完全均衡的情况。因此需要在这一步进行修正。修正的方式是采用蛇形走线。蛇形走线的长度如公式(1)所示:
Li=Cmax-Ci/perCap (1)
其中Li表示当前第i个分组的蛇形走线长度,Cmax为分组结果中最大的分组电容,Ci表示当前第i个分组的分组电容,perCap为单位长度的导线电容,由工艺库文件中可以得到。蛇形走线的位置位于时钟缓冲器的插入点和分组的局部时钟树的根节点之间,这样不会影响时钟线布线的结果。
(4)通过给定输入转换时间和时钟缓冲器型号,然后经过步骤(1)-(3)即可在当前层得到一个均衡分组结果,可以把该层的分组结果抽象成一个可行解元组。一个分组结果所必须的参数是该层的总电容,总功耗,以及时钟延时的标准差。因此可行解元组γ可表示为γ={S,B,C,P,σ},其中S表示输入转换时间约束,B表示时钟缓冲器的型号,C表示总电容,P表示总功耗,σ表示时钟延时的标准差。元组的前两个变量表示当前层分组算法的输入,后三个变量表示当前层分组算法的输出结果。
由于时钟树综合是自底向上的过程,因此当前层可行解中的总功耗P,总电容C以及时钟偏差波动σ不仅仅与当前层的输入转换时间S,时钟缓冲器型号B相关,还与下一层的可行解相关。当前层可行解中总功耗P,总电容C以及时钟偏差波动σ的计算过程如下。如图2所示,下层的可行解γμ向上传递得到γθ。这一步中Sθ和为Bθ当前层的输入转换时间和当前层的时钟缓冲器型号,其值为所有输入转换时间和时钟缓冲器型号组合的迭代值。
Pθ=Pμ+∑Pb (3)
Cθ为传递到当前层的电容,该值由公式(2)计算得到,其中Cμ表示下一层的电容,表示该下一层所有时钟缓冲器的输入电容,Cl表示时钟树连线的连线电容。Pθ为传递到当前层的功耗值,该值由公式(3)计算得到,其中Pμ表示下一层的功耗,∑Pb为当前层所有时钟缓冲器的功耗。σθ表示传递到当前层的时钟延时波动,该值由公式(4)计算,其中σμ表示下一层的时钟延时波动,ρ表示相关系数,σb表示当前层的时钟缓冲器延时波动。
通过上述的计算过程即可得到一个完整的可行解。由于当前层的输入转换时间和时钟缓冲器型号可以取不同的取值,每一种输入转换时间和时钟缓冲器型号的取值都可以生成一个可行解。因此需要在当前层遍历所有的输入转换时间和时钟缓冲器型号得到当前层所有的可行解。以图3和图4为例,图中圆形表示寄存器,三角形表示时钟缓冲器。图3中使用x1型号的时钟缓冲器在的最底层会有4个分组,图4使用x2型号的时钟缓冲器在最底层会有3个分组。这两种情况就对应着两个可行解。
在自底向上传递可行解的过程中需要舍去时钟偏差波动较大的可行解。时钟偏差波动可以通过可行解的时钟延时波动得到:
如公式5所示,其中σskew为时钟偏差波动,σ为时钟延时波动,ρ为相关系数。得到时钟偏差波动之后需要把时钟偏差波动较大的可行解舍去。
(5)上述的步骤可以得到一个层次的所有可行解。之后需要自底向上进行迭代,得到上一层所有的可行解,一直到时钟树的顶层。如图3所示,在最底层把寄存器当作节点进行分组,把12个寄存器分为4组,由4个时钟缓冲器进行驱动。然后把4个时钟缓冲器当成节点,继续进行分组得到该层的所有可行解。
到达最顶层之后对所有满足约束的可行解按照功耗排序,把功耗最低的解作为最优解,即可得到最优的时钟缓冲器型号组合。
Claims (6)
1.一种针对近阈值时钟偏差优化的时钟树综合构建方法,其特征在于,包括以下步骤:
步骤1,根据局部时钟树的输出转换时间约束和时钟缓冲器型号确定最大分组电容约束;
步骤2,通过遍历分组电容进行分组得到最为均衡的分组结果;在该层所有的局部时钟树根节点位置插入相同型号的时钟缓冲器;
步骤3,通过蛇形走线微调分组电容,保证各分组之间分组电容均衡;
步骤4,根据给定输入转换时间和时钟缓冲器型号,在当前层得到一个均衡分组结果,该层的分组结果抽象成一个可行解元组γ;
采用动态规划算法自底向上的求解可行解元组,从而得到完整可行解;
通过动态规划算法遍历所有的时钟缓冲器型号和转换时间约束得到当前层所有的可行解,且在自底向上传递可行解的过程中需要舍去时钟偏差波动大于设定约束值的可行解;
步骤5,对步骤4最后得到的所有可行解按照功耗排序,把功耗最低的解作为最优解,即可得到最优的时钟缓冲器型号组合。
2.根据权利要求1所述一种针对近阈值时钟偏差优化的时钟树综合构建方法,其特征在于,步骤2中,分组的方法采用位置优先的方式,首先把距离最小的叶子节点放入分组,然后一直把距离分组中心点最近的叶子节点放入分组,直到分组电容达到最大分组电容约束值。
3.根据权利要求1所述一种针对近阈值时钟偏差优化的时钟树综合构建方法,其特征在于,步骤3中,蛇形走线的长度如下式所示:
Li=Cmax-Ci/perCap
其中Li表示当前第i个分组的蛇形走线长度,Cmax为分组结果中最大的分组电容,Ci表示当前第i个分组的分组电容,perCap为单位长度的导线电容;蛇形走线的位置位于时钟缓冲器的插入点和分组的局部时钟树的根节点之间。
4.根据权利要求1所述一种针对近阈值时钟偏差优化的时钟树综合构建方法,其特征在于,步骤4中,可行解元组γ的表示为:γ={S,B,C,P,σ},其中S表示输入转换时间约束,B表示时钟缓冲器的型号,C表示总电容,P表示总功耗,σ表示时钟延时的标准差;把时钟缓冲器的型号列入可行解的元组之内;由此可以对时钟缓冲器的型号进行优化。
5.根据权利要求1所述一种针对近阈值时钟偏差优化的时钟树综合构建方法,其特征在于,步骤4中,采用动态规划算法自底向上的求解可行解元组的过程为:
下层的可行解γμ向上传递得到γθ,其中γμ={Sμ,Bμ,Cμ,Pμ,σμ},γθ={Sθ,Bθ,Cθ,Pθ,σθ};
Sθ和Bθ为当前层的输入转换时间和当前层的时钟缓冲器型号,其值为所有可能的输入转换时间和时钟缓冲器型号组合的迭代值;
Pθ=Pu+∑Pb (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110597450.3A CN113326672B (zh) | 2021-05-31 | 2021-05-31 | 一种针对近阈值时钟偏差优化的时钟树综合构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110597450.3A CN113326672B (zh) | 2021-05-31 | 2021-05-31 | 一种针对近阈值时钟偏差优化的时钟树综合构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113326672A CN113326672A (zh) | 2021-08-31 |
CN113326672B true CN113326672B (zh) | 2022-11-01 |
Family
ID=77422490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110597450.3A Active CN113326672B (zh) | 2021-05-31 | 2021-05-31 | 一种针对近阈值时钟偏差优化的时钟树综合构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326672B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116167331B (zh) * | 2023-04-26 | 2023-07-28 | 瀚博半导体(上海)有限公司 | 用于构建时钟树的方法、时钟树及芯片 |
CN117113915B (zh) * | 2023-10-25 | 2024-02-02 | 深圳鸿芯微纳技术有限公司 | 缓冲器插入方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138735A (zh) * | 2015-07-30 | 2015-12-09 | 中山大学 | 一种多宏单元多时钟芯片的时钟树综合方法 |
CN105930591A (zh) * | 2016-04-26 | 2016-09-07 | 东南大学 | 寄存器聚类在时钟树综合中的实现方法 |
CN112257378A (zh) * | 2020-10-30 | 2021-01-22 | 东南大学 | 一种针对近阈值的鲁棒时钟树综合算法实现方法 |
-
2021
- 2021-05-31 CN CN202110597450.3A patent/CN113326672B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138735A (zh) * | 2015-07-30 | 2015-12-09 | 中山大学 | 一种多宏单元多时钟芯片的时钟树综合方法 |
CN105930591A (zh) * | 2016-04-26 | 2016-09-07 | 东南大学 | 寄存器聚类在时钟树综合中的实现方法 |
CN112257378A (zh) * | 2020-10-30 | 2021-01-22 | 东南大学 | 一种针对近阈值的鲁棒时钟树综合算法实现方法 |
Non-Patent Citations (1)
Title |
---|
基于28nm工艺的CCOpt技术高效时钟树设计;陈力颖等;《天津工业大学学报》;20190515(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113326672A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113326672B (zh) | 一种针对近阈值时钟偏差优化的时钟树综合构建方法 | |
CN106297774B (zh) | 一种神经网络声学模型的分布式并行训练方法及系统 | |
CN103324774B (zh) | 一种基于时钟规划偏差算法的处理器性能优化方法 | |
WO2021169303A1 (zh) | 一种优化时分复用技术的多阶段fpga布线方法 | |
WO2023246077A1 (zh) | 一种数字集成电路优化方法 | |
CN112468401B (zh) | 用于类脑处理器的片上网络路由通信方法及片上网络 | |
WO2021000469A1 (zh) | 一种基于模拟延时链的二值化神经网络累加器电路 | |
CN114861591B (zh) | 一种可微分时序驱动的芯片布局优化方法 | |
CN112257378A (zh) | 一种针对近阈值的鲁棒时钟树综合算法实现方法 | |
CN111401755A (zh) | 基于马尔科夫链的多新能源出力场景生成方法、装置及系统 | |
CN105930591A (zh) | 寄存器聚类在时钟树综合中的实现方法 | |
CN103577896A (zh) | 一种大规模电网整定计算的区域划分方法 | |
CN103793483A (zh) | 基于时钟节点结群的时钟树生成方法和系统 | |
CN114357676A (zh) | 一种针对层次化模型训练框架的聚合频率控制方法 | |
CN110059938B (zh) | 一种基于关联规则驱动的配电网规划方法 | |
CN103150435B (zh) | 时钟节点结群方法以及时钟网络结构 | |
CN105224577A (zh) | 一种多标签文本分类方法及系统 | |
Zhang et al. | Short-term load forecasting based on GAD-BP neural network | |
CN103984832B (zh) | 一种铝电解槽电场仿真分析方法 | |
CN116883229A (zh) | 异构gpu集群中加速神经网络训练的流水线并行方法 | |
CN107835127B (zh) | 一种基于网络熵的域内路由节能方法 | |
CN112001140B (zh) | 一种基于pso算法的有用偏差时序优化方法 | |
CN112365134B (zh) | 一种基于点估计法概率多能流的能源网络随机规划方法 | |
CN113743012A (zh) | 一种多用户场景下的云-边缘协同模式任务卸载优化方法 | |
Sun et al. | An energy-aware mapping algorithm for mesh-based network-on-chip architectures |
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 |