WO2022110815A1 - Step-by-step multi-threshold voltage unit allocation method based on timing margin and timing path - Google Patents
Step-by-step multi-threshold voltage unit allocation method based on timing margin and timing path Download PDFInfo
- Publication number
- WO2022110815A1 WO2022110815A1 PCT/CN2021/105086 CN2021105086W WO2022110815A1 WO 2022110815 A1 WO2022110815 A1 WO 2022110815A1 CN 2021105086 W CN2021105086 W CN 2021105086W WO 2022110815 A1 WO2022110815 A1 WO 2022110815A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- timing
- nodes
- threshold voltage
- circuit
- point
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000005457 optimization Methods 0.000 claims abstract description 69
- 238000012804 iterative process Methods 0.000 claims description 3
- 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
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000008092 positive effect Effects 0.000 description 2
- 238000011160 research 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
- 238000012545 processing 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
Definitions
- the invention belongs to the technical field of low power consumption in integrated circuit design, and in particular relates to the technical field of multi-threshold voltage distribution in low power consumption design of integrated circuits.
- Multi-threshold voltage technology is an effective method to reduce the static power consumption of integrated circuits.
- the multi-threshold voltage allocation method is a hot research problem. Improper allocation of high-threshold voltage cells will lead to the unsatisfactory circuit timing, and improper allocation of low-threshold voltage cells will lead to the circuit's power consumption not being optimally optimized.
- the multi-threshold voltage allocation method has two-sided requirements on optimization time and optimization effect. In the current research, it is necessary to reduce the complexity and obtain better optimization effect.
- the present invention aims to provide a step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path, reducing replacement time and get better optimization results. Its specific technical solutions are as follows:
- a step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path comprising the following steps: preliminary optimization based on batch replacement, and deep optimization based on point-by-point replacement;
- the preliminary optimization based on batch replacement is to batch replace a part of the node with the worst timing margin in the circuit with the largest fanout with a low threshold voltage unit and iterate for multiple rounds;
- the deep optimization based on point-by-point replacement is to replace one unit in each violation timing path in the circuit every round and iterate until the circuit timing meets the requirements.
- Step 1 Convert all combinational logic units in the circuit into high threshold voltage units, then use the combinational logic unit as a node, and obtain the timing margin WS of the worst timing path, and then set parameters ⁇ , ⁇ , ⁇ , ⁇ , ⁇
- ⁇ is a fixed value in the iterative process, and 0 ⁇ , ⁇ , ⁇ 1.
- ⁇ represents the proportion of selected nodes with the worst timing margin among the target nodes.
- ⁇ represents the proportion of the node with the largest fanout selected among the object nodes.
- ⁇ represents the preliminary optimization scale. When the optimized worst timing margin is less than ⁇ times the original worst timing margin WS, it marks the end of the preliminary optimization;
- Step 2 Traverse the nodes, obtain the timing margin S of each node, and obtain the total number of nodes N at this time;
- Step 3 Take ( ⁇ *N) nodes with the worst timing margin S, and then take ( ⁇ *N)* ⁇ nodes with the largest fan-out F among these nodes, and convert these nodes into low-threshold voltage units, And get the timing margin WS' of the worst timing path at this time;
- Step 4 When WS' ⁇ *WS, take the node with the timing margin S less than 0 in step 2 as the node for the next round of traversal, and then repeat steps 2-4.
- WS'> ⁇ *WS the initial The optimization is completed and the deep optimization is entered.
- Step 5 Traverse all the timing paths that do not meet the timing requirements, and only take one path with the worst timing margin between every two timing logic units;
- Step 6 Access the timing paths in step 5 in order of timing margin from small to large. During the same access process, if the nodes in this path have not been replaced, replace the highest fan-out F in this path. Threshold voltage cells are low threshold voltage cells until the access is completely completed;
- Step 7 If the circuit timing does not meet the requirements, perform steps 5-7 again until the circuit timing meets the requirements;
- Step 8 Output Circuit Unit.
- Preliminary optimization based on batch replacement can effectively save replacement time, and deep optimization based on point-by-point replacement can ensure a good optimization effect.
- the traditional method of batch processing only replaces the part with the worst timing margin in the circuit, which will lead to the problem that some critical paths are over-optimized and some non-critical paths cannot be optimized.
- the invention avoids the problem of excessive optimization of critical paths by optimizing the nodes that meet the requirements among some nodes with the worst timing margins in the circuit, and solves the problem that some non-critical paths cannot be optimized through deep optimization based on point-by-point replacement.
- Fig. 1 is the flow chart of the step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path of the present invention
- Figure 2a is a schematic diagram 1 (units in set 1) of nodes traversed in the preliminary optimization based on batch replacement;
- Figure 2b is a schematic diagram 2 (units in set 2) of nodes traversed in the preliminary optimization based on batch replacement;
- Fig. 3a is schematic diagram one (unit in set 3) of the path traversed in the depth optimization based on point-by-point replacement;
- Fig. 3b is a schematic diagram 2 (replaced unit) of the traversed path in the depth optimization based on point-by-point replacement.
- the specific embodiment of the present invention includes two steps of preliminary optimization based on batch replacement and deep optimization based on point-by-point replacement:
- Step 1 Read in the circuit netlist and design constraints as input to convert all combinational logic cells in the circuit to high threshold voltage cells.
- the combinational logic unit is then used as the circuit node for the first round of traversal.
- the timing margin WS of the worst timing path is obtained, and the parameter ⁇ is set, and the values of WS and ⁇ are used as the judgment basis for the iteration in the preliminary optimization process.
- the parameters ⁇ , ⁇ for step 3 are then set.
- the values of ⁇ , ⁇ , and ⁇ are fixed values in the iterative process, and 0 ⁇ , ⁇ , ⁇ 1.
- ⁇ represents the proportion of selected nodes with the worst timing margin among the target nodes.
- ⁇ represents the proportion of the node with the largest fanout selected among the object nodes.
- ⁇ represents the preliminary optimization scale. When the optimized worst timing margin is less than ⁇ times the original worst timing margin WS, it marks the end of the preliminary optimization.
- Step 2 Traverse the set nodes (each iteration, the node will be reset in step 4). Obtain the timing margin S of each circuit node, and obtain the total number of nodes N at this time.
- Step 3 Take the node with the worst timing margin S, the number of which is ( ⁇ *N), and denoted as set 1.
- set 1 take ( ⁇ *N)* ⁇ nodes with the largest fan-out F, denoted as set 2.
- Figures 2a and 2b provide a schematic diagram reflecting the units in Set 1 and Set 2. The nodes in set 2 are converted into low threshold voltage cells, and the timing margin WS' of the worst timing path at this time is obtained.
- Step 4 Judging whether the preliminary optimization is completed requires a comparison between the values of WS* ⁇ and WS', if not, iterates, and if it is completed, enters the deep optimization.
- the specific description is: when WS' ⁇ *WS, In this iteration process, the node with the timing margin S ⁇ S1 in step 2 is used as the circuit node for the next round of traversal, and then steps 2-4 are repeated.
- WS'> ⁇ *WS the preliminary optimization is completed and the deep optimization is entered. .
- Step 5 As shown in Figure 3a, traverse to obtain all timing paths that do not meet the timing requirements, among which only one path with the worst timing margin is taken between every two timing logic units, which is recorded as set 3.
- Step 6 Access the timing paths in set 3 in sequence in ascending order of timing margins.
- the node in this path has not been replaced (as shown in Figure 3b, when a unit is replaced in a certain path, since there are multiple paths where this unit is located, it will lead to other unvisited paths)
- the path has also been replaced by a cell), then replace the high threshold voltage cell with the largest fanout in this path to the low threshold voltage cell until the access is completely ended.
- Step 7 If the circuit timing does not meet the requirements, perform steps 5-7 again until the circuit timing meets the requirements.
- Step 8 Output the circuit unit as a result of the final assignment of high and low threshold voltages.
- the step-by-step multi-threshold voltage cell allocation method based on the cell timing margin and cell timing path of the present invention is used for testing, and the test object is an embedded SoC chip under the SMIC55nm process, and the total combinational logic nodes of the chip are 649,646.
- the embodiment is implemented based on the Tcl scripting language.
- the nodes used in the initial circuit of the chip are all low-threshold voltage nodes, and there is no timing violation (the node timing margin less than 0 is called timing violation).
- Read in the circuit netlist and design constraint file of the chip and perform static timing analysis in Prime Time software. After all nodes are replaced with high threshold voltage nodes, static timing analysis is performed. At this time, there is a timing violation in the circuit, and the worst timing margin at this time is recorded as the initial worst timing margin.
- a deep optimization based on point-wise replacement is performed. Get a timing report of the worst timing path between every two timing nodes in Prime time. The worst timing paths are accessed in ascending order of timing margins, and in each access, the node with the largest fanout of the current path is replaced. In order to avoid too many nodes being replaced at the same time and the static power consumption optimization effect is reduced, all paths where the replaced nodes are located are removed from this traversal path. After the traversal is completed, the static timing analysis is performed again, and the above operations are iterated until there is no timing violation in the circuit.
- the assignment results of the high and low threshold voltage nodes are output in Prime time for use in the subsequent physical design process.
- ⁇ represents the proportion of selected nodes with the worst timing margin among the target nodes.
- ⁇ represents the proportion of the node with the largest fanout selected among the object nodes.
- ⁇ represents the preliminary optimization scale.
- the optimized worst timing margin is less than ⁇ times the original worst timing margin WS, it marks the end of the preliminary optimization.
- a control group with only deep optimization, a control group with all high threshold voltage nodes, and a control group with all low threshold voltage nodes are set. Except for the groups that are all high-threshold nodes, the other groups have no timing violations.
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
Disclosed is a step-by-step multi-threshold voltage unit allocation method based on a unit timing margin and a unit timing path, the method belonging to the technical field of integrated circuit designs for low power consumption. The method comprises two steps: preliminary optimization based on batch replacement, and deep optimization based on point-by-point replacement, wherein the preliminary optimization based on batch replacement refers to some nodes having the maximum fan-out among some nodes having the lowest timing margin in a circuit being replaced, in batches, with low-threshold voltage units, and multiple rounds of iteration being performed; and the deep optimization based on point-by-point replacement refers to replacing, in each round, one unit in each violating timing path in the circuit, and performing iteration until a circuit timing meets requirements. According to the present invention, the number of nodes needing to be traversed during deep optimization is first effectively reduced by means of the preliminary optimization based on batch replacement, and then a circuit timing meeting requirements is ensured by means of the deep optimization based on point-by-point replacement.
Description
本发明属于集成电路设计的低功耗技术领域,具体涉及集成电路低功耗设计中的多阈值电压分配技术领域。The invention belongs to the technical field of low power consumption in integrated circuit design, and in particular relates to the technical field of multi-threshold voltage distribution in low power consumption design of integrated circuits.
随着集成电路的工艺尺寸不断缩小的演变过程,集成电路技术发展到纳米尺寸,芯片的时钟频率和集成度在不断的提高。此时速度已经不再是集成电路设计中需要考虑的唯一目标,功耗所带来的影响也越来越显著。集成电路功耗分为动态功耗和静态功耗,在集成电路技术节点不断发展的过程中,静态功耗所带来的影响也越来越大。As the process size of integrated circuits continues to shrink, and integrated circuit technology develops to nanometer size, the clock frequency and integration of chips are constantly improving. At this time, speed is no longer the only target that needs to be considered in integrated circuit design, and the impact of power consumption is becoming more and more significant. Integrated circuit power consumption is divided into dynamic power consumption and static power consumption. In the process of continuous development of integrated circuit technology nodes, the influence of static power consumption is also increasing.
多阈值电压技术是降低集成电路静态功耗的一种有效方法。集成电路单元的阈值电压越大,越能降低漏电流。但阈值电压较大时也会导致单元速度下降,影响性能。所以低阈值单元速度快漏电流大,用于关键路径;高阈值单元速度慢漏电流小,用于非关键路径。Multi-threshold voltage technology is an effective method to reduce the static power consumption of integrated circuits. The greater the threshold voltage of the integrated circuit unit, the more the leakage current can be reduced. However, a larger threshold voltage will also cause the cell speed to drop, affecting performance. Therefore, low-threshold cells with fast speed and large leakage current are used for critical paths; high-threshold cells with slow speed and small leakage current are used for non-critical paths.
多阈值电压分配方法是研究的一个热门问题,分配高阈值电压单元不当会导致电路的时序不满足要求,分配低阈值电压单元不当会导致电路的功耗没有得到最好的优化。多阈值电压分配方法对优化时间和优化效果有双面的要求,在现在的研究中,需要降低复杂度并取得更好的优化效果。The multi-threshold voltage allocation method is a hot research problem. Improper allocation of high-threshold voltage cells will lead to the unsatisfactory circuit timing, and improper allocation of low-threshold voltage cells will lead to the circuit's power consumption not being optimally optimized. The multi-threshold voltage allocation method has two-sided requirements on optimization time and optimization effect. In the current research, it is necessary to reduce the complexity and obtain better optimization effect.
发明内容SUMMARY OF THE INVENTION
鉴于集成电路设计对多阈值分配算法在优化时间和优化效果上有双方面的要求,本发明旨在提供一种基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法,降低替换时间并得到较好的优化结果。其具体技术方案如下:In view of the dual requirements of the multi-threshold allocation algorithm in integrated circuit design in terms of optimization time and optimization effect, the present invention aims to provide a step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path, reducing replacement time and get better optimization results. Its specific technical solutions are as follows:
一种基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法,包括以下步骤:基于批量替换的初步优化、基于逐点替换的深度优化;A step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path, comprising the following steps: preliminary optimization based on batch replacement, and deep optimization based on point-by-point replacement;
所述基于批量替换的初步优化是将电路中时序裕度最差的一部分节点中扇出最大的一部分批量替换为低阈值电压单元并迭代多轮;The preliminary optimization based on batch replacement is to batch replace a part of the node with the worst timing margin in the circuit with the largest fanout with a low threshold voltage unit and iterate for multiple rounds;
所述基于逐点替换的深度优化是每轮替换电路中每一条违例的时序路径中的一个单元并迭代,直到电路时序满足要求。The deep optimization based on point-by-point replacement is to replace one unit in each violation timing path in the circuit every round and iterate until the circuit timing meets the requirements.
进一步的,所述基于批量替换的初步优化的具体实现步骤如下:Further, the specific implementation steps of the preliminary optimization based on batch replacement are as follows:
步骤1:将电路中所有组合逻辑单元转化为高阈值电压单元,然后将组合逻辑单元作为节点,并得到最差时序路径的时序裕度WS,然后设定参数α、β、γ,α、β、γ的值在迭 代过程中为定值,且0<α、β、γ<1。α表示对象节点中所选取时序裕度最差的节点的比例。β表示对象节点中所选取扇出最大的节点的比例。γ表示初步优化尺度,当优化后的最差时序裕度小于最初最差时序裕度WS的γ倍时,则标志初步优化结束;Step 1: Convert all combinational logic units in the circuit into high threshold voltage units, then use the combinational logic unit as a node, and obtain the timing margin WS of the worst timing path, and then set parameters α, β, γ, α, β The value of , γ is a fixed value in the iterative process, and 0<α, β, γ<1. α represents the proportion of selected nodes with the worst timing margin among the target nodes. β represents the proportion of the node with the largest fanout selected among the object nodes. γ represents the preliminary optimization scale. When the optimized worst timing margin is less than γ times the original worst timing margin WS, it marks the end of the preliminary optimization;
步骤2:遍历节点,得到每一个节点的时序裕度S,并得到此时节点总数N;Step 2: Traverse the nodes, obtain the timing margin S of each node, and obtain the total number of nodes N at this time;
步骤3:取(α*N)个时序裕度S最差的节点,然后在这些节点中取(α*N)*β个扇出F最大的节点,将这些节点转化为低阈值电压单元,并得到此时最差时序路径的时序裕度WS’;Step 3: Take (α*N) nodes with the worst timing margin S, and then take (α*N)*β nodes with the largest fan-out F among these nodes, and convert these nodes into low-threshold voltage units, And get the timing margin WS' of the worst timing path at this time;
步骤4:当WS’<γ*WS时,将步骤2中时序裕度S小于0的节点作为下一轮遍历的节点,然后重复执行步骤2-4,当WS’>γ*WS时,初步优化完成并进入深度优化。Step 4: When WS'<γ*WS, take the node with the timing margin S less than 0 in step 2 as the node for the next round of traversal, and then repeat steps 2-4. When WS'>γ*WS, the initial The optimization is completed and the deep optimization is entered.
进一步的,所述基于逐点替换的深度优化的具体实现步骤如下:Further, the specific implementation steps of the deep optimization based on point-by-point replacement are as follows:
步骤5:遍历得到所有不满足时序要求的时序路径,其中每两个时序逻辑单元间只取一条时序裕度最差的路径;Step 5: Traverse all the timing paths that do not meet the timing requirements, and only take one path with the worst timing margin between every two timing logic units;
步骤6:按照时序裕度从小到大的顺序依次访问步骤5中的时序路径,在同一次访问过程中,若此路径内的节点没有被替换过,则替换此路径中扇出F最大的高阈值电压单元为低阈值电压单元,直到访问完全结束;Step 6: Access the timing paths in step 5 in order of timing margin from small to large. During the same access process, if the nodes in this path have not been replaced, replace the highest fan-out F in this path. Threshold voltage cells are low threshold voltage cells until the access is completely completed;
步骤7:若电路时序不满足要求,重新执行步骤5-7,直到电路时序满足要求;Step 7: If the circuit timing does not meet the requirements, perform steps 5-7 again until the circuit timing meets the requirements;
步骤8:输出电路单元。Step 8: Output Circuit Unit.
本发明的积极效果是:The positive effects of the present invention are:
1)基于批量替换的初步优化能够有效地节省替换时间,基于逐点替换的深度优化能够保证优化效果良好。1) Preliminary optimization based on batch replacement can effectively save replacement time, and deep optimization based on point-by-point replacement can ensure a good optimization effect.
2)批量处理的传统方法只替换电路中时序裕度最差的一部分,会导致部分关键路径优化过度,部分非关键路径得不到优化的问题。本发明通过优化电路中时序裕度最差的一部分节点中满足要求的节点来防止关键路径优化过度的问题,通过基于逐点替换的深度优化来解决部分非关键路径得不到优化的问题。2) The traditional method of batch processing only replaces the part with the worst timing margin in the circuit, which will lead to the problem that some critical paths are over-optimized and some non-critical paths cannot be optimized. The invention avoids the problem of excessive optimization of critical paths by optimizing the nodes that meet the requirements among some nodes with the worst timing margins in the circuit, and solves the problem that some non-critical paths cannot be optimized through deep optimization based on point-by-point replacement.
图1是本发明的基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法的流程图;Fig. 1 is the flow chart of the step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path of the present invention;
图2a是基于批量替换的初步优化中遍历的节点的示意图一(集合1中单元);Figure 2a is a schematic diagram 1 (units in set 1) of nodes traversed in the preliminary optimization based on batch replacement;
图2b是基于批量替换的初步优化中遍历的节点的示意图二(集合2中单元);Figure 2b is a schematic diagram 2 (units in set 2) of nodes traversed in the preliminary optimization based on batch replacement;
图3a是基于逐点替换的深度优化中遍历的路径的示意图一(集合3中单元);Fig. 3a is schematic diagram one (unit in set 3) of the path traversed in the depth optimization based on point-by-point replacement;
图3b是基于逐点替换的深度优化中遍历的路径的示意图二(被替换单元)。Fig. 3b is a schematic diagram 2 (replaced unit) of the traversed path in the depth optimization based on point-by-point replacement.
结合图1,本发明的具体实施方式包括基于批量替换的初步优化和基于逐点替换的深度优化两步:1, the specific embodiment of the present invention includes two steps of preliminary optimization based on batch replacement and deep optimization based on point-by-point replacement:
1)基于批量替换的初步优化1) Preliminary optimization based on batch replacement
步骤1:读入电路网表和设计约束作为输入,将电路中所有组合逻辑单元转化为高阈值电压单元。然后将组合逻辑单元作为第一轮遍历的电路节点。得到最差时序路径的时序裕度WS,并设定参数γ,通过WS和γ的值作为初步优化过程中迭代的判断依据。然后设定用于步骤3的参数α、β。其中α、β、γ的值在迭代过程中为定值,且0<α、β、γ<1。α表示对象节点中所选取时序裕度最差的节点的比例。β表示对象节点中所选取扇出最大的节点的比例。γ表示初步优化尺度,当优化后的最差时序裕度小于最初最差时序裕度WS的γ倍时,则标志初步优化结束。Step 1: Read in the circuit netlist and design constraints as input to convert all combinational logic cells in the circuit to high threshold voltage cells. The combinational logic unit is then used as the circuit node for the first round of traversal. The timing margin WS of the worst timing path is obtained, and the parameter γ is set, and the values of WS and γ are used as the judgment basis for the iteration in the preliminary optimization process. The parameters α, β for step 3 are then set. The values of α, β, and γ are fixed values in the iterative process, and 0<α, β, γ<1. α represents the proportion of selected nodes with the worst timing margin among the target nodes. β represents the proportion of the node with the largest fanout selected among the object nodes. γ represents the preliminary optimization scale. When the optimized worst timing margin is less than γ times the original worst timing margin WS, it marks the end of the preliminary optimization.
步骤2:遍历所设定的节点(每一次迭代,节点都会在步骤4被重新设定)。得到每一个电路节点的时序裕度S,并得到此时节点总数N。Step 2: Traverse the set nodes (each iteration, the node will be reset in step 4). Obtain the timing margin S of each circuit node, and obtain the total number of nodes N at this time.
步骤3:取时序裕度S最差的节点,其数目为(α*N)个,记作集合1。在集合1中取(α*N)*β个扇出F最大的节点,记作集合2。图2a和图2b提供了一个反映集合1和集合2中单元的示意图。将集合2中的节点转化为低阈值电压单元,并得到此时最差时序路径的时序裕度WS’。Step 3: Take the node with the worst timing margin S, the number of which is (α*N), and denoted as set 1. In set 1, take (α*N)*β nodes with the largest fan-out F, denoted as set 2. Figures 2a and 2b provide a schematic diagram reflecting the units in Set 1 and Set 2. The nodes in set 2 are converted into low threshold voltage cells, and the timing margin WS' of the worst timing path at this time is obtained.
步骤4:判断初步优化是否完成需要WS*γ、WS’的值之间的比较,如果未完成则进行迭代,如果完成则进入深度优化,具体所述为:当WS’<γ*WS时,将这一次迭代过程中步骤2中时序裕度S<S1的节点作为下一轮遍历的电路节点,然后重复执行步骤2-4,当WS’>γ*WS时,初步优化完成并进入深度优化。Step 4: Judging whether the preliminary optimization is completed requires a comparison between the values of WS*γ and WS', if not, iterates, and if it is completed, enters the deep optimization. The specific description is: when WS'<γ*WS, In this iteration process, the node with the timing margin S<S1 in step 2 is used as the circuit node for the next round of traversal, and then steps 2-4 are repeated. When WS'>γ*WS, the preliminary optimization is completed and the deep optimization is entered. .
2)基于逐点替换的深度优化2) Deep optimization based on point-by-point replacement
在完成基于批量替换的初步优化后开始基于逐点替换的深度优化。After completing the initial optimization based on batch replacement, start the deep optimization based on point-by-point replacement.
步骤5:如图3a所示,遍历得到所有不满足时序要求的时序路径,其中每两个时序逻辑单元间只取一条时序裕度最差的路径,记为集合3。Step 5: As shown in Figure 3a, traverse to obtain all timing paths that do not meet the timing requirements, among which only one path with the worst timing margin is taken between every two timing logic units, which is recorded as set 3.
步骤6:按照时序裕度从小到大的顺序依次访问集合3中的时序路径。在同一次访问过程中,若此路径内的节点没有被替换过(如图3b所示,当在某一条路径替换了一个单元时,由于此单元所在路径有多条,会导致其他还未访问的路径也已经被替换了一个单元),则替换此路径中扇出最大的高阈值电压单元为低阈值电压单元,直到访问完全结束。Step 6: Access the timing paths in set 3 in sequence in ascending order of timing margins. In the same visit process, if the node in this path has not been replaced (as shown in Figure 3b, when a unit is replaced in a certain path, since there are multiple paths where this unit is located, it will lead to other unvisited paths) The path has also been replaced by a cell), then replace the high threshold voltage cell with the largest fanout in this path to the low threshold voltage cell until the access is completely ended.
步骤7:若电路时序不满足要求,重新执行步骤5-7,直到电路时序满足要求。Step 7: If the circuit timing does not meet the requirements, perform steps 5-7 again until the circuit timing meets the requirements.
步骤8:输出电路单元作为最终分配高低阈值电压的结果。Step 8: Output the circuit unit as a result of the final assignment of high and low threshold voltages.
应用本发明基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法进行测试,所测试对象为SMIC55nm工艺下的嵌入式SoC芯片,芯片的总组合逻辑节点为649646个。实施例基于Tcl脚本语言实现。The step-by-step multi-threshold voltage cell allocation method based on the cell timing margin and cell timing path of the present invention is used for testing, and the test object is an embedded SoC chip under the SMIC55nm process, and the total combinational logic nodes of the chip are 649,646. The embodiment is implemented based on the Tcl scripting language.
首先进行基于批量替换的初步优化,以α=1/40、β=1/5、γ=0.96为例。芯片初始电路使用节点均为低阈值电压节点,时序不存在违例(节点时序裕度小于0被称为时序违例)。读入芯片的电路网表和设计约束文件,在Prime Time软件中进行静态时序分析。将所有节点替换为高阈值电压节点后再进行静态时序分析,此时电路存在时序违例,将此时最差时序裕度记为初始最差时序裕度。First, preliminary optimization based on batch replacement is performed, taking α=1/40, β=1/5, and γ=0.96 as an example. The nodes used in the initial circuit of the chip are all low-threshold voltage nodes, and there is no timing violation (the node timing margin less than 0 is called timing violation). Read in the circuit netlist and design constraint file of the chip, and perform static timing analysis in Prime Time software. After all nodes are replaced with high threshold voltage nodes, static timing analysis is performed. At this time, there is a timing violation in the circuit, and the worst timing margin at this time is recorded as the initial worst timing margin.
在Prime Time中遍历高阈值电压节点,得到每一个节点的时序裕度信息与扇出信息。筛选遍历节点,先选取时序裕度最差的1/40的节点,再从结果中选取扇出最大的1/5的节点,然后将此部分节点替换为低阈值电压节点。进行静态时序分析,如果此时最差时序裕度大于初始时序裕度的0.96倍,则需要进行迭代,重新回到遍历节点的步骤,此时对象节点为当前存在时序违例的高阈值电压节点;反之,初步优化结束。Traverse the high threshold voltage nodes in Prime Time to obtain the timing margin information and fanout information of each node. Filter the traversed nodes, first select the 1/40 node with the worst timing margin, then select the 1/5 node with the largest fanout from the result, and then replace this part of the node with the low threshold voltage node. Perform static timing analysis. If the worst timing margin is greater than 0.96 times the initial timing margin at this time, it is necessary to iterate and return to the step of traversing nodes. At this time, the object node is a high threshold voltage node with a current timing violation; Otherwise, the preliminary optimization ends.
然后进行基于逐点替换的深度优化。在Prime time中得到每两个时序节点之间最差时序路径的时序报告。按时序裕度从小到大的顺序来访问这些最差时序路径,每一次访问中,替换当前路径扇出最大的一个节点。为了避免节点同时被替换过多而使得静态功耗优化效果下降,将被替换节点所在的所有路径从此次遍历路径中移除。遍历结束后,重新进行静态时序分析,迭代以上操作直到电路不存在时序违例。Then a deep optimization based on point-wise replacement is performed. Get a timing report of the worst timing path between every two timing nodes in Prime time. The worst timing paths are accessed in ascending order of timing margins, and in each access, the node with the largest fanout of the current path is replaced. In order to avoid too many nodes being replaced at the same time and the static power consumption optimization effect is reduced, all paths where the replaced nodes are located are removed from this traversal path. After the traversal is completed, the static timing analysis is performed again, and the above operations are iterated until there is no timing violation in the circuit.
该方法执行结束后,在Prime time中输出高低阈值电压节点的分配结果,以供后续的物理设计流程使用。After the method is executed, the assignment results of the high and low threshold voltage nodes are output in Prime time for use in the subsequent physical design process.
在测试过程中,通过设置不同参数测试优化的结果,如表1所示。其中α表示对象节点中所选取时序裕度最差的节点的比例。β表示对象节点中所选取扇出最大的节点的比例。γ表示初步优化尺度,当优化后的最差时序裕度小于最初最差时序裕度WS的γ倍时,则标志初步优化结束。其中设置了只进行深度优化的对照组、全为高阈值电压节点的对照组、全为低阈值电压节点的对照组。除全为高阈值节点的组别外,其余组别时序均无违例。During the testing process, the optimized results were tested by setting different parameters, as shown in Table 1. where α represents the proportion of selected nodes with the worst timing margin among the target nodes. β represents the proportion of the node with the largest fanout selected among the object nodes. γ represents the preliminary optimization scale. When the optimized worst timing margin is less than γ times the original worst timing margin WS, it marks the end of the preliminary optimization. Among them, a control group with only deep optimization, a control group with all high threshold voltage nodes, and a control group with all low threshold voltage nodes are set. Except for the groups that are all high-threshold nodes, the other groups have no timing violations.
表1Table 1
不同设计约束下优化时间和优化效果的结果如表1所示,由表1可知,只深度优化时漏电流功耗的降低量与全替换为高阈值电压时漏电流功耗的降低量的比值为91.75%,在保证时序的前提下,漏电流功耗优化结果较好。当α=1/40,β=1/5,γ=0.96时,初步优化的引入在保证漏电流功耗不变的情况下进一步降低了分配的运行时间。可证实本发明的积极效果:基于批量替换的初步优化能够有效地节省替换时间,基于逐点替换的深度优化能够保证优化效果良好。The results of optimization time and optimization effect under different design constraints are shown in Table 1. From Table 1, it can be seen that the ratio of the reduction of leakage current power consumption when only deep optimization is performed to the reduction of leakage current power consumption when all replacements are made with high threshold voltages It is 91.75%. Under the premise of ensuring the timing, the optimization result of leakage current power consumption is better. When α=1/40, β=1/5, γ=0.96, the introduction of preliminary optimization further reduces the allocated running time while keeping the leakage current power consumption unchanged. The positive effects of the present invention can be confirmed: preliminary optimization based on batch replacement can effectively save replacement time, and deep optimization based on point-by-point replacement can ensure a good optimization effect.
以上具体实施方式描述了本发明的实现过程。任何所属技术领域的技术人员对本发明的构思所做的适当变化,皆应落入本发明的权利要求书所确定的专利保护范围。The above specific embodiments describe the implementation process of the present invention. Appropriate changes made to the concept of the present invention by any person skilled in the art shall fall within the scope of patent protection determined by the claims of the present invention.
Claims (3)
- 一种基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法,其特征在于:包括以下步骤:基于批量替换的初步优化、基于逐点替换的深度优化;A step-by-step multi-threshold voltage cell allocation method based on cell timing margins and cell timing paths, comprising the following steps: preliminary optimization based on batch replacement, and deep optimization based on point-by-point replacement;所述基于批量替换的初步优化是将电路中时序裕度最差的一部分节点中扇出最大的一部分批量替换为低阈值电压单元并迭代多轮;The preliminary optimization based on batch replacement is to batch replace a part of the node with the worst timing margin in the circuit with the largest fanout with a low threshold voltage unit and iterate for multiple rounds;所述基于逐点替换的深度优化是每轮替换电路中每一条违例的时序路径中的一个单元并迭代,直到电路时序满足要求。The deep optimization based on point-by-point replacement is to replace one unit in each violation timing path in the circuit every round and iterate until the circuit timing meets the requirements.
- 如权利要求1所述的基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法,其特征在于:The step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path according to claim 1, wherein:所述基于批量替换的初步优化的具体实现步骤如下:The specific implementation steps of the preliminary optimization based on batch replacement are as follows:步骤1:将电路中所有组合逻辑单元转化为高阈值电压单元,然后将组合逻辑单元作为节点,并得到最差时序路径的时序裕度WS,然后设定参数α、β、γ,α、β、γ的值在迭代过程中为定值,且0<α、β、γ<1;α表示对象节点中所选取时序裕度最差的节点的比例,β表示对象节点中所选取扇出最大的节点的比例,γ表示初步优化尺度;Step 1: Convert all combinational logic units in the circuit into high threshold voltage units, then use the combinational logic unit as a node, and obtain the timing margin WS of the worst timing path, and then set parameters α, β, γ, α, β The value of , γ is a fixed value in the iterative process, and 0<α, β, γ<1; α represents the proportion of the node with the worst timing margin selected in the object node, and β represents the largest fan-out selected in the object node The proportion of nodes, γ represents the initial optimization scale;步骤2:遍历节点,得到每一个节点的时序裕度S,并得到此时节点总数N;Step 2: Traverse the nodes, obtain the timing margin S of each node, and obtain the total number of nodes N at this time;步骤3:取(α*N)个时序裕度S最差的节点,然后在这些节点中取(α*N)*β个扇出F最大的节点,将这些节点转化为低阈值电压单元,并得到此时最差时序路径的时序裕度WS’;Step 3: Take (α*N) nodes with the worst timing margin S, and then take (α*N)*β nodes with the largest fan-out F among these nodes, and convert these nodes into low-threshold voltage units, And get the timing margin WS' of the worst timing path at this time;步骤4:当WS’<γ*WS时,将步骤2中时序裕度S小于0的节点作为下一轮遍历的节点,然后重复执行步骤2-4,当WS’>γ*WS时,初步优化完成并进入深度优化。Step 4: When WS'<γ*WS, take the node with the timing margin S less than 0 in step 2 as the node for the next round of traversal, and then repeat steps 2-4. When WS'>γ*WS, the initial The optimization is completed and the deep optimization is entered.
- 如权利要求2所述的基于单元时序裕度和单元时序路径的分步多阈值电压单元分配方法,其特征在于:The step-by-step multi-threshold voltage cell allocation method based on cell timing margin and cell timing path according to claim 2, wherein:所述基于逐点替换的深度优化的具体实现步骤如下:The specific implementation steps of the deep optimization based on point-by-point replacement are as follows:步骤5:遍历得到所有不满足时序要求的时序路径,其中每两个时序逻辑单元间只取一条时序裕度最差的路径;Step 5: Traverse all the timing paths that do not meet the timing requirements, and only take one path with the worst timing margin between every two timing logic units;步骤6:按照时序裕度从小到大的顺序依次访问步骤5中的时序路径,在同一次访问过程中,若此路径内的节点没有被替换过,则替换此路径中扇出F最大的高阈值电压单元为低阈值电压单元,直到访问完全结束;Step 6: Access the timing paths in step 5 in order of timing margin from small to large. During the same access process, if the nodes in this path have not been replaced, replace the highest fan-out F in this path. Threshold voltage cells are low threshold voltage cells until the access is completely completed;步骤7:若电路时序不满足要求,重新执行步骤5-7,直到电路时序满足要求;Step 7: If the circuit timing does not meet the requirements, perform steps 5-7 again until the circuit timing meets the requirements;步骤8:输出电路单元。Step 8: Output Circuit Unit.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373900.2A CN112183003B (en) | 2020-11-30 | 2020-11-30 | Step-by-step multi-threshold voltage unit distribution method based on time sequence margin and time sequence path |
CN202011373900.2 | 2020-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022110815A1 true WO2022110815A1 (en) | 2022-06-02 |
Family
ID=73918267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/105086 WO2022110815A1 (en) | 2020-11-30 | 2021-07-08 | Step-by-step multi-threshold voltage unit allocation method based on timing margin and timing path |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112183003B (en) |
WO (1) | WO2022110815A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293083A (en) * | 2022-09-30 | 2022-11-04 | 深圳鸿芯微纳技术有限公司 | Integrated circuit time sequence prediction method and device, electronic equipment and storage medium |
CN116090399A (en) * | 2023-04-06 | 2023-05-09 | 中国人民解放军国防科技大学 | Trigger conversion method and device based on time margin established by data output end |
CN116108797A (en) * | 2023-04-06 | 2023-05-12 | 中国人民解放军国防科技大学 | Trigger replacement method and device based on trigger fanout number and storage medium |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183003B (en) * | 2020-11-30 | 2021-03-30 | 浙江大学 | Step-by-step multi-threshold voltage unit distribution method based on time sequence margin and time sequence path |
CN112668261B (en) * | 2021-01-06 | 2024-10-01 | 江南大学 | Multi-threshold low-power-consumption optimization method based on critical path number and sensitivity |
CN113343622B (en) * | 2021-06-23 | 2023-06-13 | 海光信息技术股份有限公司 | Circuit optimization method and device, electronic equipment and readable storage medium |
CN117787169B (en) * | 2023-12-25 | 2024-08-09 | 苏州异格技术有限公司 | Netlist optimization method and device based on FPGA, computer equipment and storage medium |
Citations (5)
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 |
CN107526874A (en) * | 2017-07-28 | 2017-12-29 | 广州星海集成电路基地有限公司 | A kind of low power consumption integrated circuit design method based on dual threashold threshold voltage |
CN107862161A (en) * | 2017-12-08 | 2018-03-30 | 江南大学 | A kind of multi thresholds unit replacement method based on stratification processing and sub-clustering constraint |
CN112183003A (en) * | 2020-11-30 | 2021-01-05 | 浙江大学 | Step-by-step multi-threshold voltage unit distribution method based on time sequence margin and time sequence path |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226632B (en) * | 2013-03-29 | 2016-03-30 | 龙芯中科技术有限公司 | The defining method of threshold voltage device to be replaced and device |
CN110471522A (en) * | 2019-06-28 | 2019-11-19 | 杭州宙其科技有限公司 | A method of optimizing quiescent dissipation using implicated relationship figure |
-
2020
- 2020-11-30 CN CN202011373900.2A patent/CN112183003B/en active Active
-
2021
- 2021-07-08 WO PCT/CN2021/105086 patent/WO2022110815A1/en active Application Filing
Patent Citations (5)
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 |
CN107526874A (en) * | 2017-07-28 | 2017-12-29 | 广州星海集成电路基地有限公司 | A kind of low power consumption integrated circuit design method based on dual threashold threshold voltage |
CN107862161A (en) * | 2017-12-08 | 2018-03-30 | 江南大学 | A kind of multi thresholds unit replacement method based on stratification processing and sub-clustering constraint |
CN112183003A (en) * | 2020-11-30 | 2021-01-05 | 浙江大学 | Step-by-step multi-threshold voltage unit distribution method based on time sequence margin and time sequence path |
Non-Patent Citations (1)
Title |
---|
RAN FAN: "Design and Research on Power Optimization for Chip Based Dual-threshold Voltage Assignment Algorithm", CHINESE MASTER'S THESES FULL-TEXT DATABASE, 1 January 2014 (2014-01-01), pages 1 - 76, XP055933234 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293083A (en) * | 2022-09-30 | 2022-11-04 | 深圳鸿芯微纳技术有限公司 | Integrated circuit time sequence prediction method and device, electronic equipment and storage medium |
CN116090399A (en) * | 2023-04-06 | 2023-05-09 | 中国人民解放军国防科技大学 | Trigger conversion method and device based on time margin established by data output end |
CN116108797A (en) * | 2023-04-06 | 2023-05-12 | 中国人民解放军国防科技大学 | Trigger replacement method and device based on trigger fanout number and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN112183003B (en) | 2021-03-30 |
CN112183003A (en) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022110815A1 (en) | Step-by-step multi-threshold voltage unit allocation method based on timing margin and timing path | |
US6427226B1 (en) | Selectively reducing transistor channel length in a semiconductor device | |
US7716612B1 (en) | Method and system for integrated circuit optimization by using an optimized standard-cell library | |
US7849422B2 (en) | Efficient cell swapping system for leakage power reduction in a multi-threshold voltage process | |
CN113177380B (en) | Time sequence optimization method based on dummy | |
US20120123745A1 (en) | Adaptive Content-aware Aging Simulations | |
EP2529283A2 (en) | Zone-based leakage power optimization | |
CN112597733A (en) | Storage unit identification method and device and computer readable storage medium | |
CN115496647A (en) | GPU module low-power-consumption processing method | |
JP2010257164A (en) | Design method of semiconductor integrated circuit device, and program | |
Najm | On the need for statistical timing analysis | |
CN111488722B (en) | Design method for full-customized low-leakage digital circuit standard unit | |
US8527927B2 (en) | Zone-based area recovery in electronic design automation | |
US7882460B2 (en) | Method of circuit power tuning through post-process flattening | |
CN115796088A (en) | Voltage distribution method for double-track standard cell library | |
CN114490506A (en) | Multi-core system core selection algorithm considering communication delay and thermal effect | |
JPH1092942A (en) | Apparatus and method for optimizing semiconductor integrated circuit | |
TW200416998A (en) | Method for allocating spare cells in auto-place-route blocks | |
Shin et al. | Register allocation for high-level synthesis using dual supply voltages | |
CN117408224A (en) | Method for reducing static power consumption in verification stage in digital chip physical design | |
TWI838610B (en) | Timing-adjusting method and non-transitory computer readable medium | |
Rao et al. | Circuit optimization techniques to mitigate the effects of soft errors in combinational logic | |
Tsai et al. | Yield-driven, false-path-aware clock skew scheduling | |
Yu et al. | Voltage-island driven floorplanning considering level-shifter positions | |
CN118036528A (en) | Input vector generation method and device for relieving NBTI aging of digital circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21896322 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21896322 Country of ref document: EP Kind code of ref document: A1 |