CN112183003B - 基于时序裕度和时序路径的分步多阈值电压单元分配方法 - Google Patents
基于时序裕度和时序路径的分步多阈值电压单元分配方法 Download PDFInfo
- Publication number
- CN112183003B CN112183003B CN202011373900.2A CN202011373900A CN112183003B CN 112183003 B CN112183003 B CN 112183003B CN 202011373900 A CN202011373900 A CN 202011373900A CN 112183003 B CN112183003 B CN 112183003B
- Authority
- CN
- China
- Prior art keywords
- nodes
- time sequence
- margin
- timing
- threshold voltage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000005457 optimization Methods 0.000 claims abstract description 72
- 238000013461 design Methods 0.000 abstract description 8
- 230000003068 static effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012300 Sequence Analysis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000008092 positive effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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:将电路中所有组合逻辑单元转化为高阈值电压单元,然后将组合逻辑单元作为节点,并得到最差时序路径的时序裕度WS,然后设定参数α、β、γ,α、β、γ的值在迭代过程中为定值,且0<α、β、γ<1。α表示对象节点中所选取时序裕度最差的节点的比例。β表示对象节点中所选取扇出最大的节点的比例。γ表示初步优化尺度,当优化后的最差时序裕度小于最初最差时序裕度WS的γ倍时,则标志初步优化结束;
步骤2:遍历节点,得到每一个节点的时序裕度S,并得到此时节点总数N;
步骤3:取(α*N)个时序裕度S最差的节点,然后在这些节点中取(α*N)*β个扇出F最大的节点,将这些节点转化为低阈值电压单元,并得到此时最差时序路径的时序裕度WS’;
步骤4:当WS’<γ*WS时,将步骤2中时序裕度S小于0的节点作为下一轮遍历的节点,然后重复执行步骤2-4,当WS’>γ*WS时,初步优化完成并进入深度优化。
进一步的,所述基于逐点替换的深度优化的具体实现步骤如下:
步骤5:遍历得到所有不满足时序要求的时序路径,其中每两个时序逻辑单元间只取一条时序裕度最差的路径;
步骤6:按照时序裕度从小到大的顺序依次访问步骤5中的时序路径,在同一次访问过程中,若此路径内的节点没有被替换过,则替换此路径中扇出F最大的高阈值电压单元为低阈值电压单元,直到访问完全结束;
步骤7:若电路时序不满足要求,重新执行步骤5-7,直到电路时序满足要求;
步骤8:输出电路单元。
本发明的积极效果是:
1)基于批量替换的初步优化能够有效地节省替换时间,基于逐点替换的深度优化能够保证优化效果良好。
2)批量处理的传统方法只替换电路中时序裕度最差的一部分,会导致部分关键路径优化过度,部分非关键路径得不到优化的问题。本发明通过优化电路中时序裕度最差的一部分节点中满足要求的节点来防止关键路径优化过度的问题,通过基于逐点替换的深度优化来解决部分非关键路径得不到优化的问题。
附图说明
图1是本发明的基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法的流程图;
图2a是基于批量替换的初步优化中遍历的节点的示意图一(集合1中单元);
图2b是基于批量替换的初步优化中遍历的节点的示意图二(集合2中单元);
图3a是基于逐点替换的深度优化中遍历的路径的示意图一(集合3中单元);
图3b是基于逐点替换的深度优化中遍历的路径的示意图二(被替换单元)。
具体实施方式
结合图1,本发明的具体实施方式包括基于批量替换的初步优化和基于逐点替换的深度优化两步:
1)基于批量替换的初步优化
步骤1:读入电路网表和设计约束作为输入,将电路中所有组合逻辑单元转化为高阈值电压单元。然后将组合逻辑单元作为第一轮遍历的电路节点。得到最差时序路径的时序裕度WS,并设定参数γ,通过WS和γ的值作为初步优化过程中迭代的判断依据。然后设定用于步骤3的参数α、β。其中α、β、γ的值在迭代过程中为定值,且0<α、β、γ<1。α表示对象节点中所选取时序裕度最差的节点的比例。β表示对象节点中所选取扇出最大的节点的比例。γ表示初步优化尺度,当优化后的最差时序裕度小于最初最差时序裕度WS的γ倍时,则标志初步优化结束。
步骤2:遍历所设定的节点(每一次迭代,节点都会在步骤4被重新设定)。得到每一个电路节点的时序裕度S,并得到此时节点总数N。
步骤3:取时序裕度S最差的节点,其数目为(α*N)个,记作集合1。在集合1中取(α*N)*β个扇出F最大的节点,记作集合2。图2a和图2b提供了一个反映集合1和集合2中单元的示意图。将集合2中的节点转化为低阈值电压单元,并得到此时最差时序路径的时序裕度WS’。
步骤4:判断初步优化是否完成需要WS*γ、WS’的值之间的比较,如果未完成则进行迭代,如果完成则进入深度优化,具体所述为:当WS’<γ*WS时,将这一次迭代过程中步骤2中时序裕度S<S1的节点作为下一轮遍历的电路节点,然后重复执行步骤2-4,当WS’>γ*WS时,初步优化完成并进入深度优化。
2)基于逐点替换的深度优化
在完成基于批量替换的初步优化后开始基于逐点替换的深度优化。
步骤5:如图3a所示,遍历得到所有不满足时序要求的时序路径,其中每两个时序逻辑单元间只取一条时序裕度最差的路径,记为集合3。
步骤6:按照时序裕度从小到大的顺序依次访问集合3中的时序路径。在同一次访问过程中,若此路径内的节点没有被替换过(如图3b所示,当在某一条路径替换了一个单元时,由于此单元所在路径有多条,会导致其他还未访问的路径也已经被替换了一个单元),则替换此路径中扇出最大的高阈值电压单元为低阈值电压单元,直到访问完全结束。
步骤7:若电路时序不满足要求,重新执行步骤5-7,直到电路时序满足要求。
步骤8:输出电路单元作为最终分配高低阈值电压的结果。
应用本发明基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法进行测试,所测试对象为SMIC55nm工艺下的嵌入式SoC芯片,芯片的总组合逻辑节点为649646个。实施例基于Tcl脚本语言实现。
首先进行基于批量替换的初步优化,以α=1/40、β=1/5、γ=0.96为例。芯片初始电路使用节点均为低阈值电压节点,时序不存在违例(节点时序裕度小于0被称为时序违例)。读入芯片的电路网表和设计约束文件,在Prime Time软件中进行静态时序分析。将所有节点替换为高阈值电压节点后再进行静态时序分析,此时电路存在时序违例,将此时最差时序裕度记为初始最差时序裕度。
在Prime Time中遍历高阈值电压节点,得到每一个节点的时序裕度信息与扇出信息。筛选遍历节点,先选取时序裕度最差的1/40的节点,再从结果中选取扇出最大的1/5的节点,然后将此部分节点替换为低阈值电压节点。进行静态时序分析,如果此时最差时序裕度大于初始时序裕度的0.96倍,则需要进行迭代,重新回到遍历节点的步骤,此时对象节点为当前存在时序违例的高阈值电压节点;反之,初步优化结束。
然后进行基于逐点替换的深度优化。在Prime time中得到每两个时序节点之间最差时序路径的时序报告。按时序裕度从小到大的顺序来访问这些最差时序路径,每一次访问中,替换当前路径扇出最大的一个节点。为了避免节点同时被替换过多而使得静态功耗优化效果下降,将被替换节点所在的所有路径从此次遍历路径中移除。遍历结束后,重新进行静态时序分析,迭代以上操作直到电路不存在时序违例。
该方法执行结束后,在Prime time中输出高低阈值电压节点的分配结果,以供后续的物理设计流程使用。
在测试过程中,通过设置不同参数测试优化的结果,如表1所示。其中α表示对象节点中所选取时序裕度最差的节点的比例。β表示对象节点中所选取扇出最大的节点的比例。γ表示初步优化尺度,当优化后的最差时序裕度小于最初最差时序裕度WS的γ倍时,则标志初步优化结束。其中设置了只进行深度优化的对照组、全为高阈值电压节点的对照组、全为低阈值电压节点的对照组。除全为高阈值节点的组别外,其余组别时序均无违例。
表1
不同设计约束下优化时间和优化效果的结果如表1所示,由表1可知,只深度优化时漏电流功耗的降低量与全替换为高阈值电压时漏电流功耗的降低量的比值为91.75%,在保证时序的前提下,漏电流功耗优化结果较好。当α=1/40,β=1/5,γ=0.96时,初步优化的引入在保证漏电流功耗不变的情况下进一步降低了分配的运行时间。可证实本发明的积极效果:基于批量替换的初步优化能够有效地节省替换时间,基于逐点替换的深度优化能够保证优化效果良好。
以上具体实施方式描述了本发明的实现过程。任何所属技术领域的技术人员对本发明的构思所做的适当变化,皆应落入本发明的权利要求书所确定的专利保护范围。
Claims (1)
1.一种基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法,其特征在于:包括以下步骤:基于批量替换的初步优化、基于逐点替换的深度优化;
所述基于批量替换的初步优化是将电路中时序裕度最差的一部分节点中扇出最大的一部分批量替换为低阈值电压单元并迭代多轮;
所述基于逐点替换的深度优化是每轮替换电路中每一条违例的时序路径中的一个单元并迭代,直到电路时序满足要求;
所述基于批量替换的初步优化的具体实现步骤如下:
步骤1:将电路中所有组合逻辑单元转化为高阈值电压单元,然后将组合逻辑单元作为节点,并得到最差时序路径的时序裕度WS,然后设定参数α、β、γ,α、β、γ的值在迭代过程中为定值,且0<α<1、0<β<1、0<γ<1;α表示节点中所选取时序裕度最差的节点的比例,β表示节点中所选取扇出最大的节点的比例,γ表示初步优化尺度;
步骤2:遍历节点,得到每一个节点的时序裕度S,并得到此时节点总数N;
步骤3:取α*N个时序裕度S最差的节点,然后在这些节点中取α*N*β个扇出F最大的节点,将这些节点转化为低阈值电压单元,并得到此时最差时序路径的时序裕度WS’;
步骤4:当WS’<γ*WS时,将步骤2中时序裕度S小于0的节点作为下一轮遍历的节点,然后重复执行步骤2-4,当WS’>γ*WS时,初步优化完成并进入深度优化;
所述基于逐点替换的深度优化的具体实现步骤如下:
步骤5:遍历得到所有不满足时序要求的时序路径,其中每两个时序逻辑单元间只取一条时序裕度最差的路径;
步骤6:按照时序裕度从小到大的顺序依次访问步骤5中的时序路径,在同一次访问过程中,若此路径内的节点没有被替换过,则替换此路径中扇出F最大的高阈值电压单元为低阈值电压单元,直到访问完全结束;
步骤7:若电路时序不满足要求,重新执行步骤5-7,直到电路时序满足要求;
步骤8:输出电路单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373900.2A CN112183003B (zh) | 2020-11-30 | 2020-11-30 | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 |
PCT/CN2021/105086 WO2022110815A1 (zh) | 2020-11-30 | 2021-07-08 | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373900.2A CN112183003B (zh) | 2020-11-30 | 2020-11-30 | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112183003A CN112183003A (zh) | 2021-01-05 |
CN112183003B true CN112183003B (zh) | 2021-03-30 |
Family
ID=73918267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011373900.2A Active CN112183003B (zh) | 2020-11-30 | 2020-11-30 | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112183003B (zh) |
WO (1) | WO2022110815A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183003B (zh) * | 2020-11-30 | 2021-03-30 | 浙江大学 | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 |
CN112668261A (zh) * | 2021-01-06 | 2021-04-16 | 江南大学 | 一种基于关键路径数和敏感性的多阈值低功耗优化方法 |
CN113343622B (zh) * | 2021-06-23 | 2023-06-13 | 海光信息技术股份有限公司 | 一种电路优化方法、装置、电子设备和可读存储介质 |
CN115293083B (zh) * | 2022-09-30 | 2022-12-20 | 深圳鸿芯微纳技术有限公司 | 集成电路时序预测方法、装置、电子设备及存储介质 |
CN116108797B (zh) * | 2023-04-06 | 2023-06-16 | 中国人民解放军国防科技大学 | 基于触发器扇出数量的触发器替换方法、装置和存储介质 |
CN116090399B (zh) * | 2023-04-06 | 2023-06-16 | 中国人民解放军国防科技大学 | 基于数据输出端建立时间裕量的触发器转换方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226632A (zh) * | 2013-03-29 | 2013-07-31 | 龙芯中科技术有限公司 | 阈值电压器件的替换方法及装置 |
CN107526874A (zh) * | 2017-07-28 | 2017-12-29 | 广州星海集成电路基地有限公司 | 一种基于双阈值电压的低功耗集成电路设计方法 |
CN110471522A (zh) * | 2019-06-28 | 2019-11-19 | 杭州宙其科技有限公司 | 一种利用牵连关系图优化静态功耗的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130080990A1 (en) * | 2011-09-27 | 2013-03-28 | Freescale Semiconductor, Inc | Method of reducing power leakage of integrated circuit |
US8966430B1 (en) * | 2013-07-30 | 2015-02-24 | Synopsys, Inc. | Robust numerical optimization for optimizing delay, area, and leakage power |
CN107862161B (zh) * | 2017-12-08 | 2021-03-30 | 江南大学 | 一种基于层次化处理与分簇约束的多阈值单元替换方法 |
CN112183003B (zh) * | 2020-11-30 | 2021-03-30 | 浙江大学 | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 |
-
2020
- 2020-11-30 CN CN202011373900.2A patent/CN112183003B/zh active Active
-
2021
- 2021-07-08 WO PCT/CN2021/105086 patent/WO2022110815A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226632A (zh) * | 2013-03-29 | 2013-07-31 | 龙芯中科技术有限公司 | 阈值电压器件的替换方法及装置 |
CN107526874A (zh) * | 2017-07-28 | 2017-12-29 | 广州星海集成电路基地有限公司 | 一种基于双阈值电压的低功耗集成电路设计方法 |
CN110471522A (zh) * | 2019-06-28 | 2019-11-19 | 杭州宙其科技有限公司 | 一种利用牵连关系图优化静态功耗的方法 |
Non-Patent Citations (1)
Title |
---|
基于双阈值电压分配算法的芯片功耗优化设计及研究;冉帆;《中国优秀硕士学位论文全文数据库信息科技辑》;20140715;正文第28-35页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022110815A1 (zh) | 2022-06-02 |
CN112183003A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112183003B (zh) | 基于时序裕度和时序路径的分步多阈值电压单元分配方法 | |
CN109815267A (zh) | 数据建模中特征的分箱优化方法及系统、存储介质及终端 | |
JPH05181933A (ja) | タイミング制限を受ける論理回路網の総電力を最小化するコンピュータ・ベースの方法 | |
US20080320420A1 (en) | Efficient cell swapping system for leakage power reduction in a multi-threshold voltage process | |
CN107862161A (zh) | 一种基于层次化处理与分簇约束的多阈值单元替换方法 | |
JP5017603B2 (ja) | 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体 | |
US20110093827A1 (en) | Semiconductor device design method | |
US20220067255A1 (en) | Dynamic current modeling in dynamic voltage drop analysis | |
US6460166B1 (en) | System and method for restructuring of logic circuitry | |
US11321513B1 (en) | DVD analysis that accounts for delays | |
US8762922B1 (en) | System for reducing leakage power of electronic circuit | |
CN111488722B (zh) | 一种全定制低漏电数字电路标准单元设计方法 | |
US5917728A (en) | Method for designing path transistor logic circuit | |
CN114021514B (zh) | 一种spice电压或温度扫描仿真筛选瓶颈单元的方法 | |
US6148434A (en) | Apparatus and method for minimizing the delay times in a semiconductor device | |
US6282695B1 (en) | System and method for restructuring of logic circuitry | |
Yu et al. | A novel and efficient method for power pad placement optimization | |
Shin et al. | Register allocation for high-level synthesis using dual supply voltages | |
US6711722B1 (en) | Method for deriving a functional circuit description | |
US20150379175A1 (en) | Ic design synthesis using slack diagrams | |
CN113343622B (zh) | 一种电路优化方法、装置、电子设备和可读存储介质 | |
CN114814528A (zh) | 一种基于奇偶分配的测试引脚资源分配方法及系统 | |
CN112036107B (zh) | 基于层次化可靠性验证的单元替换的时序优化设计方法 | |
CN118036528A (zh) | 一种缓解数字电路nbti老化的输入矢量生成方法和装置 | |
US20230376653A1 (en) | Learning-Based Macro Placement with Quality of Human Experts |
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 |