CN110688723A - Rapid design method for clock distribution network - Google Patents
Rapid design method for clock distribution network 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
The invention relates to a method for quickly designing a clock distribution network, which divides a clock network into a first-stage clock network and a second-stage clock network, wherein the first-stage clock network is driven by a first-stage clock network driving unit, and the second-stage clock network is driven by a second-stage clock network driving unit, and comprises the following steps: adopting a time sequence-first layout and acquiring the position of a trigger; dividing the trigger into a plurality of local areas by adopting a clustering algorithm according to the layout parameters, and establishing a second-level clock network; dividing the second-level clock network driving unit into a plurality of uniformly loaded areas by adopting a clustering algorithm according to the layout parameters, and establishing a first-level clock network; and winding the first-stage clock network and the second-stage clock network. The invention can reduce the delay of the clock network and reduce the load of the clock network.
Description
Technical Field
The invention relates to the technical field of sequential circuit design, in particular to a rapid design method of a clock distribution network.
Background
In high performance microprocessing, the clock network is a critical component that affects processor performance and power consumption. A low-delay and low-skew clock network can effectively reduce the time sequence overhead, and the performance of the processor can be further improved by reducing the on-chip skew and delay on the clock path. Meanwhile, the power consumption of the clock network accounts for more than 40% of the dynamic power consumption of the whole processor. Reducing the power consumption of the clock network thus helps to reduce processor power consumption. Reducing the clock network is generally achieved by reducing the load of the clock network. It can be seen that a low-latency, low-skew, low-power consumption clock network is critical to implementing an energy-efficient processor.
To realize a low-delay and low-skew clock network, it is necessary to shorten the driving stage number of the clock network as much as possible, and all flip-flops have close delays to the driving point. It is common practice to increase the drive reduction delay by gathering flip-flops near the drive point or by forming the clock network into a large grid using multi-point drive. The former will influence the time sequence because the trigger position under the best condition of time sequence is changed, the latter will increase the power consumption of the clock network because of the direct current path problem generated by the multi-point drive, and simultaneously, a large number of clock grid lines occupy a large amount of high-quality winding resources, thereby influencing the design performance. Therefore, the design of the high-energy-efficiency clock network needs to solve the two problems at the same time, and the clock network with few driving stages, low delay and single-point driving is designed under the condition of not influencing the time sequence and the winding of a chip.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a method for quickly designing a clock distribution network, which can reduce the delay of the clock network and reduce the load of the clock network.
The technical scheme adopted by the invention for solving the technical problems is as follows: the method for quickly designing the clock distribution network is provided, the clock network is divided into a first-stage clock network and a second-stage clock network, wherein the first-stage clock network is driven by a first-stage clock network driving unit, and the second-stage clock network is driven by a second-stage clock network driving unit, and the method comprises the following steps:
(1) adopting a time sequence-first layout and acquiring the position of a trigger;
(2) dividing the trigger into a plurality of local areas by adopting a clustering algorithm according to the layout parameters, establishing the connection relation of a second-level clock network, determining the position of a second-level clock network driving unit in each local area, and establishing a fishbone-shaped backbone clock network in the range of each local area;
(3) dividing the second-level clock network driving unit into a plurality of uniformly loaded areas by adopting a clustering algorithm according to the layout parameters, establishing a first-level clock network connection relation, determining the first-level clock network driving unit of each uniformly loaded area, and establishing a binary tree-form backbone clock network in each uniformly loaded area;
(4) and winding the first-stage clock network and the second-stage clock network.
And (3) the clustering algorithm in the step (2) gives the position of the second-level clock network driving unit under the condition that the total connection amount from the trigger to the second-level clock network is shortest after multiple iterations, so that the total load of the second-level clock network is minimum.
And (4) the clustering algorithm in the step (3) gives the position of the first-stage clock network driving unit under the condition that the total connecting line between the second-stage clock network driving unit and the first-stage clock network is the shortest after multiple iterations, so that the total load of the first-stage clock network is the smallest.
The layout parameters in the step (2) and the step (3) comprise a clock network delay constraint, a winding layer selection constraint and a driving point number constraint.
The method also comprises the following steps after the step (4): parasitic parameters of the whole clock system are extracted, the load conditions of the first-stage clock network and the second-stage clock network are analyzed, and the driving and load sizes of the first-stage clock network driving unit and the second-stage clock network driving unit are adjusted according to the load conditions.
The method also comprises the following steps after the step (4): and performing redundancy cutting on network backbones of the first clock network and the second clock network, judging the backbones of the effective clock networks by identifying the positions of connecting holes of the backbones and the branches, changing the length attribute of the connecting lines one by one, and deleting the whole backbone if no branch is connected.
Advantageous effects
Due to the adoption of the technical scheme, compared with the prior art, the invention has the following advantages and positive effects: the invention does not need to adjust the position of the trigger, reduces the influence on the time sequence, reduces the delay of the clock network by adjusting the position of the driving point through the K-means algorithm, reduces the load of the clock network, not only improves the highest working frequency of the processor, but also reduces the power consumption of the microprocessor.
Drawings
FIG. 1 is a schematic diagram of a clock network according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a first-stage clock network driving unit structure;
FIG. 3 is a schematic diagram of a second stage clock network driving unit structure;
fig. 4 is a flow chart of the present invention.
Detailed Description
The invention will be further illustrated with reference to the following specific examples. It should be understood that these examples are for illustrative purposes only and are not intended to limit the scope of the present invention. Further, it should be understood that various changes or modifications of the present invention may be made by those skilled in the art after reading the teaching of the present invention, and such equivalents may fall within the scope of the present invention as defined in the appended claims.
The embodiment of the invention relates to a method for quickly designing a clock distribution network, which divides a clock network into a first-stage clock network (FLCN for short) and a second-stage clock network (SLCN for short) as shown in figure 1, wherein the first-stage clock network is driven by a first-stage clock network driving unit (FLCD for short) and the second-stage clock network is driven by a second-stage clock network driving unit (SLCD for short). The first-stage clock network is the interconnection of the input of the second-stage clock network driving unit and adopts H-type interconnection. The second-level clock network is the interconnection of the trigger clock input and adopts fishbone-shaped interconnection.
The structure of the first-stage clock network driving unit is shown in fig. 2, the first-stage clock network driving unit comprises a high-low frequency circuit switching circuit for preventing glitch, a driving adjustable buffer and a load adjustable capacitor array, and the driving and the load adjustment are realized by driving the adjustable buffer and the load adjustable capacitor array.
The structure of the second-stage clock network driving unit is shown in fig. 3, the second-stage clock network driving unit includes a duty cycle adjusting circuit, a clock gating circuit, a drive adjustable buffer and a load adjustable capacitor array, and the drive and the load adjustment are realized by driving the adjustable buffer and the load adjustable capacitor array.
Fig. 4 is a flowchart of the present embodiment. The input of the process is as follows: and then, performing area planning on a second clock network under the influence of user-defined clock network delay constraint, winding layer selection constraint and driving point quantity constraint, and performing position optimization on a second clock network driving unit through a K-means algorithm. And performing area planning of the first clock network according to the position of the second clock network driving unit, and performing position optimization of the first clock network driving unit through an optimized K-means algorithm. And after the range and the driving point position of the two-stage clock network are determined, clock grid wiring is carried out. The method adopts a bottom-up method to carry out hierarchical clock driving unit position optimization and clock network design according to a time sequence-first trigger layout result, and comprises the following specific steps:
(1) and adopting the layout with the priority of the time sequence and acquiring the positions of the triggers, namely, acquiring the positions of the triggers firstly after the chip finishes the layout with the priority of the time sequence to prepare for the area planning of the second clock network.
(2) And dividing the trigger into a plurality of local areas by adopting a clustering algorithm according to the layout parameters, establishing the connection relation of a second-level clock network, determining the position of a second-level clock network driving unit in each local area, and establishing a fishbone-shaped backbone clock network in each local area. Specifically, according to a second-level clock network delay constraint customized by a user, a winding layer selection constraint of a second-level clock network and a number constraint of second clock network driving units, a trigger is divided into a plurality of local areas by adopting a K-means algorithm, a second-level clock network connection relation is established, the position of the second clock network driving unit of each local area is determined, and a fishbone-shaped main clock network is established in each local area. When the K-means algorithm is carried out, the position of a second-stage clock network driving unit under the condition that the total connecting line between the trigger and the second-stage clock network is the shortest is given after multiple iterations, so that the total load of the second-stage clock network is the smallest.
(3) And dividing the second-level clock network driving unit into a plurality of uniformly loaded areas by adopting a clustering algorithm according to the layout parameters, establishing a first-level clock network connection relation, determining the first-level clock network driving unit of each uniformly loaded area, and establishing a binary tree-form trunk clock network in each uniformly loaded area. Specifically, according to a first-level clock network delay constraint customized by a user, a winding layer selection constraint of a first-level clock network and a number constraint of first clock network driving units, a trigger is divided into a plurality of uniformly loaded areas by adopting a K-means algorithm, a first-level clock network connection relation is established, the position of the first clock network driving unit of each uniformly loaded area is determined, and a binary tree type trunk clock network is established in each uniformly loaded area. When the K-means algorithm is carried out, the position of the first-stage clock network driving unit under the condition that the total connecting line between the second-stage clock network driving unit and the first-stage clock network is the shortest is given after multiple iterations, so that the total load of the first-stage clock network is the smallest.
It is easy to find that, in the embodiment, the propagation delay of the clock network is adjusted by setting the length and the width of the target clock network area, the selection of the metal winding layer of the clock network and the upper limit of the number of the first-stage clock network driving units and the second-stage clock network driving units in the K-means algorithm, and the clock skew is controlled at the same time, so that the configurable delay and skew of the two-stage clock network are realized at the same time.
(4) And winding the first-stage clock network and the second-stage clock network. During winding, the driving end and the load end of the same clock network are wound according to different rules, and the probability of SEM violation is reduced. The first-level clock network and the second-level clock network both have the characteristics of high fan-out and high load, so that during winding, the load is temporarily disconnected from the clock network to wind the large-line-width high-metal layer at the driving end, and then the winding at the driving end is locked to wind the fishbone-shaped second clock network with the low line width at the load end, so that the finished winding at the driving end cannot be changed, the driving end of the clock network has stronger winding at the driving end, and SEM violation is avoided roughly.
(5) The method is characterized in that key parameters such as delay, load and shielding of the wired clock network are simulated, and the driving size and the load value are modified in real time, so that the delay of the clock network is reduced as much as possible, and the load of the clock network is balanced. Specifically, after the winding of the two-stage clock network is completed, parasitic parameters of the whole clock system are extracted, the load conditions of each first-stage clock network and each second-stage clock network are analyzed, and the driving and internal load sizes of the first-stage clock network driving unit and the second-stage clock network driving unit are adjusted according to the load conditions. On the premise of balancing the load of the clock network, the slope of the clock signal is ensured to meet the design requirement.
(6) And cutting a redundant clock backbone of the finally optimized clock network, and reducing the load of the clock network as much as possible, thereby reducing the power consumption of the clock network and reducing the delay of the clock network. Specifically, after the winding is completed, redundant cutting is carried out on network backbones of the first clock network and the second clock network, the backbones of the effective clock network are judged by identifying the positions of connecting holes of the backbones and the branches, the length attribute of the connecting lines is changed one by one, and the whole backbone is deleted if no branch is connected, so that the effect of deleting the redundant network is achieved, the load of the clock network is reduced, and the clock network has benefits on time delay and power consumption.
Therefore, the invention does not need to adjust the position of the trigger, reduces the influence on the time sequence, reduces the delay of the clock network by adjusting the position of the driving point through the K-means algorithm, reduces the load of the clock network, not only improves the highest working frequency of the processor, but also reduces the power consumption of the microprocessor. The two-stage clock network generated by the method has short delay and small deviation. By adopting the design method, the design of hundreds of thousands of triggers can reach the clock deviation less than 15ps, thereby greatly reducing the time sequence expense, improving the design frequency and simultaneously reducing the design power consumption.
Claims (6)
1. A method for quickly designing a clock distribution network is characterized in that a clock network is divided into a first-stage clock network and a second-stage clock network, wherein the first-stage clock network is driven by a first-stage clock network driving unit, and the second-stage clock network is driven by a second-stage clock network driving unit, and the method comprises the following steps:
(1) adopting a time sequence-first layout and acquiring the position of a trigger;
(2) dividing the trigger into a plurality of local areas by adopting a clustering algorithm according to the layout parameters, establishing the connection relation of a second-level clock network, determining the position of a second-level clock network driving unit in each local area, and establishing a fishbone-shaped backbone clock network in the range of each local area;
(3) dividing the second-level clock network driving unit into a plurality of uniformly loaded areas by adopting a clustering algorithm according to the layout parameters, establishing a first-level clock network connection relation, determining the first-level clock network driving unit of each uniformly loaded area, and establishing a binary tree-form backbone clock network in each uniformly loaded area;
(4) and winding the first-stage clock network and the second-stage clock network.
2. The method according to claim 1, wherein the clustering algorithm in step (2) provides the position of the driving unit of the second-stage clock network when the total connection amount from the trigger to the second-stage clock network is the shortest through multiple iterations, so that the total load of the second-stage clock network is the smallest.
3. The method for rapidly designing a clock distribution network according to claim 1, wherein the clustering algorithm in the step (3) gives the position of the first-stage clock network driving unit under the condition that the total connection amount from the second-stage clock network driving unit to the first-stage clock network is the shortest through multiple iterations, so that the total load of the first-stage clock network is the smallest.
4. The method for rapidly designing a clock distribution network according to claim 1, wherein the layout parameters in the steps (2) and (3) comprise a clock network delay constraint, a winding layer selection constraint and a driving point number constraint.
5. The method for rapidly designing a clock distribution network according to claim 1, wherein the step (4) is followed by the steps of: parasitic parameters of the whole clock system are extracted, the load conditions of the first-stage clock network and the second-stage clock network are analyzed, and the driving and load sizes of the first-stage clock network driving unit and the second-stage clock network driving unit are adjusted according to the load conditions.
6. The method for rapidly designing a clock distribution network according to claim 5, wherein the step (4) is followed by the steps of: and performing redundancy cutting on network backbones of the first clock network and the second clock network, judging the backbones of the effective clock networks by identifying the positions of connecting holes of the backbones and the branches, changing the length attribute of the connecting lines one by one, and deleting the whole backbone if no branch is connected.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910835765.XA CN110688723B (en) | 2019-09-05 | 2019-09-05 | Rapid design method for clock distribution network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910835765.XA CN110688723B (en) | 2019-09-05 | 2019-09-05 | Rapid design method for clock distribution network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688723A true CN110688723A (en) | 2020-01-14 |
CN110688723B CN110688723B (en) | 2023-04-18 |
Family
ID=69108898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910835765.XA Active CN110688723B (en) | 2019-09-05 | 2019-09-05 | Rapid design method for clock distribution network |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688723B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257375A (en) * | 2020-10-26 | 2021-01-22 | 海光信息技术股份有限公司 | Layout adjustment method and device for integrated circuit design and electronic equipment |
TWI758720B (en) * | 2020-04-30 | 2022-03-21 | 創意電子股份有限公司 | Apparatus for adjusting skew of circuit signal and adjusting method thereof |
CN114722763A (en) * | 2021-01-06 | 2022-07-08 | 上海复旦微电子集团股份有限公司 | Method and equipment for laying out clock wire network in FPGA chip |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605863A (en) * | 2013-11-27 | 2014-02-26 | 中国人民解放军国防科学技术大学 | Method for planning size of trunk of clock meshes of integrated circuit board |
CN106960087A (en) * | 2017-03-13 | 2017-07-18 | 上海华力微电子有限公司 | A kind of clock distributing network structure and its generation method |
CN109976503A (en) * | 2017-12-28 | 2019-07-05 | 炬芯(珠海)科技有限公司 | A kind of core network of chip multi-source Clock Tree |
-
2019
- 2019-09-05 CN CN201910835765.XA patent/CN110688723B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605863A (en) * | 2013-11-27 | 2014-02-26 | 中国人民解放军国防科学技术大学 | Method for planning size of trunk of clock meshes of integrated circuit board |
CN106960087A (en) * | 2017-03-13 | 2017-07-18 | 上海华力微电子有限公司 | A kind of clock distributing network structure and its generation method |
CN109976503A (en) * | 2017-12-28 | 2019-07-05 | 炬芯(珠海)科技有限公司 | A kind of core network of chip multi-source Clock Tree |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI758720B (en) * | 2020-04-30 | 2022-03-21 | 創意電子股份有限公司 | Apparatus for adjusting skew of circuit signal and adjusting method thereof |
US11630479B2 (en) | 2020-04-30 | 2023-04-18 | Global Unichip Corporation | Apparatus for adjusting skew of circuit signal and adjusting method thereof |
CN112257375A (en) * | 2020-10-26 | 2021-01-22 | 海光信息技术股份有限公司 | Layout adjustment method and device for integrated circuit design and electronic equipment |
CN112257375B (en) * | 2020-10-26 | 2023-10-10 | 海光信息技术(苏州)有限公司 | Layout adjustment method and device for integrated circuit design and electronic equipment |
CN114722763A (en) * | 2021-01-06 | 2022-07-08 | 上海复旦微电子集团股份有限公司 | Method and equipment for laying out clock wire network in FPGA chip |
Also Published As
Publication number | Publication date |
---|---|
CN110688723B (en) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6311313B1 (en) | X-Y grid tree clock distribution network with tunable tree and grid networks | |
CN110688723B (en) | Rapid design method for clock distribution network | |
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 | |
US7941689B2 (en) | Minimizing clock uncertainty on clock distribution networks using a multi-level de-skewing technique | |
CN107908884B (en) | Interactive ECO method for improving time sequence by adjusting clock tree branches | |
CN107862154A (en) | A kind of timing adjusting method | |
CN113987984A (en) | On-chip inductor automatic design system and design method | |
CN111539182B (en) | Grading method for equivalent verification of combinational logic circuit | |
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 | |
US7984415B1 (en) | Merging of equivalent logic blocks in a circuit design | |
US9355202B2 (en) | Promoting efficient cell usage to boost QoR in automated design | |
US20230385492A1 (en) | Method for reconstructing physical connection relationships of general EDA model layouts | |
WO2003034290A2 (en) | Clock skew verification methodology for grid-based design | |
US11630479B2 (en) | Apparatus for adjusting skew of circuit signal and adjusting method thereof | |
US8966428B2 (en) | Fixed-outline floorplanning approach for mixed-size modules | |
CN107742051B (en) | Method for quickly optimizing size of FPGA circuit transistor | |
CN114662446B (en) | Wiring optimization method for reducing dynamic power consumption | |
CN108629093B (en) | Noise-aware dynamic voltage frequency regulation transition sequence design method | |
CN108563882B (en) | noise-sensing on-chip clock domain control sequence design method | |
US20080079468A1 (en) | Layout method for semiconductor integrated circuit | |
US8739100B2 (en) | Distributed LC resonant tanks clock tree synthesis | |
US20030074175A1 (en) | Simulation by parts method for grid-based clock distribution design | |
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 |