Automated physical implementation method and system for four-level structured low-skew clock tree
Through the automated physical implementation method of the four-level structured low-skew clock tree, the problem of large clock skew in super-large-size designs is solved, and the reduction of clock skew and improvement of timing convergence is achieved.
Patent Information
- Application Number
- CN202411855949.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2044-12-17
AI Technical Summary
In super-large-size design, existing clock tree synthesis algorithms are difficult to achieve zero clock skew, resulting in large clock skews, affecting timing convergence.
The automatic physical implementation method of the four-level structured low-skew clock tree is adopted. By determining the initial position and number of valve points at the end of the synchronous clock, the basic constraints of the clock tree are configured, the clock backbone is symmetrically grown, and a multi-valve point balanced subtree is generated to realize the automatic physical implementation of the clock tree.
Through the non-mesh structure, the clock skew under the super-large-size design is reduced, and the clock skew is reduced to below 20ps, improving timing convergence.
Smart Images

Figure CN119312764B_ABST
Abstract
Description
Technical Field
[0001] The present invention mainly relates to the technical field of clock trees, and in particular to an automated physical implementation method and system for a four-level structured low-skew clock tree. Background Art
[0002] In the physical design of integrated circuit modules or full chips, clock trees need to be grown from the clock input signal to each timing logic clock end to drive and achieve timing convergence. The process of growing a clock tree is usually called Clock Tree Synthesis (CTS). In early clock tree synthesis, due to the small circuit scale, simple clock structure and clear hierarchy, it was relatively easy to achieve zero clock skew in the clock tree structure. With the continuous growth of design complexity, the increasing diversification of circuit functions and the increasing complexity of clock structures, it is difficult for clock tree synthesis to achieve zero clock skew. In the actual implementation process, the current clock tree synthesis algorithm mainly consists of three steps: cluster analysis and implementation, global delay balance, and actual physical routing of clock lines, so as to achieve the routing delay and clock skew targets constrained by global delay.
[0003] In the existing clock tree synthesis algorithms, there are many types of clock tree structures, such as balanced tree, H-tree, mesh, etc. The balanced tree is the most basic clock structure, but its disadvantage is that the clock skew is large in large designs; mesh design is conducive to obtaining smaller clock skew, but often requires a lot of manual design and simulation work, and the degree of automation is low; H-tree has moderate flexibility and structural characteristics and is widely used. However, for ultra-large designs with short side dimensions of thousands or even 20,000 microns, H-trees will also show clock skews of more than 50ps, and large clock skews may make it difficult to converge the setup time and hold timing. Summary of the invention
[0004] In view of the technical problems existing in the prior art, the present invention provides an automated physical implementation method and system for a four-level structured low-skew clock tree for reducing clock skew.
[0005] In order to solve the above technical problems, the technical solution proposed by the present invention is:
[0006] An automated physical implementation method for a four-level structured low-skew clock tree comprises the steps of:
[0007] S101, determining the initial position and number of the synchronous clock terminal valve points: according to the layout shape and the macro module position, in accordance with the principle of row and column regularity, determining the initial position and number N of the synchronous clock terminal valve points;
[0008] S102, configure the basic constraints of the clock tree: select the pre-designed strong drive inverter or buffer as the clock unit of the first to second level valve points and the first to third level symmetrical structure clock trunk, select the inverter / buffer as the clock unit of the end valve point, select the clock inverter and the clock buffer as the clock unit of the multi-valve point balancing subtree; select the top two layers of metal in the target process as the long-distance interconnection line of the first to third level symmetrical structure clock trunk; select the remaining metal as the interconnection line of the multi-valve point balancing subtree; configure the value range of the clock jump; according to the clock jump requirements, calculate and configure the maximum driving distance L_max of the strong drive clock unit through simulation; configure the maximum fanout fanout_max of the multi-valve point balancing subtree;
[0009] S103, symmetrically growing the first-level clock trunk: according to the preliminary positions of the tap3rd points of all the terminal valves and the structural characteristics of the power grid, calculating the precise positions of the tap3rd points of all the terminal valves; calculating the precise positions of the tap1st points of the two first-level valves on the left and right, and then symmetrically growing the first-level clock trunk with the clock input as the starting point, symmetrically connecting the clock input with the tap1st points of the two first-level valves;
[0010] S104, symmetrically grow the second-level clock trunk: for each column end valve tap3rd point, combined with the power grid structure characteristics, calculate the precise position of a second-level valve tap2nd point corresponding to each column; first, symmetrically grow the second-level clock trunk with the left tap1st point as the starting point, so that all the tap2nd points on the left are symmetrically connected to the tap1st point on the left; then copy the second-level clock trunk on the left and mirror it to the corresponding position on the right, modify the unit name and line name, and then connect the tap2nd point on the right with the tap1st point on the right;
[0011] S105, symmetrically grow the third-level clock trunk: for the tap3rd point of the end valve of the first column, take its corresponding tap2nd point as the starting point, and grow the third-level clock trunk symmetrically up and down, so as to connect the tap3rd point of the end valve of the first column with its corresponding tap2nd point; then for each of the remaining columns of end valve points, copy the third-level clock trunk of the first column and translate it to the corresponding position, modify the unit name and line name, and then connect the end valve point of the corresponding column with its corresponding tap2nd point symmetrically up and down;
[0012] S106, generation of a multi-valve point balanced subtree: taking the end valve tap3rd point as the final valve point, complete the automatic generation of a balanced subtree, thereby achieving a balanced connection between the end valve point and the clock leaf node and satisfying the global timing.
[0013] Preferably, in step S103, according to the initial positions of the tap3rd points of all the terminal valves and in combination with the structural characteristics of the power grid, calculating the precise positions of the tap3rd points of all the terminal valves comprises the following steps:
[0014] S1031a, obtaining the interval Space_top between the top two metal layers of the power grid, obtaining the starting point of the top two metal layers of the power grid in the horizontal direction as x0_top and the starting point in the vertical direction as y0_top;
[0015] S1032a, for the i-th end valve point, its initial coordinates are (x3rd_i_init, y3rd_i_init), and its precise position is calculated using the following formula:
[0016] x3rd_i_ic=round((x3rd_i_init–x0_top) / (2×Space_top))×2×Space_top+x0_top;
[0017] y3rd_i_ic=round((y3rd_i_init–y0_top) / (2×Space_top))×2×Space_top+y0_top;
[0018] in ;
[0019] S1033a, for the precise position (x3rd_i_ic, y3rd_i_ic) of the i-th terminal valve point, determine whether it overlaps with the respective nearby macromodule positions; if so, search for the final precise position in the order of (1, 1), (1, -1), (-1, -1), (-1, 1) in a diagonal manner, recorded as (x3rd_i_c, y3rd_i_c);
[0020] S1034a, if i is less than N, i is increased by 1 and returns to step S1032a; if i is equal to N, the final precise position calculation of all end valve points is completed and the current step ends.
[0021] Preferably, in step S103, the precise positions of the left and right first-stage valve tap1st points are calculated, and then the first-stage clock trunk is symmetrically grown with the clock input as the starting point, and the clock input is symmetrically connected to the two first-stage valve tap1st points, including the steps of:
[0022] S1301b, obtaining the coordinates of the center of gravity of the layout: according to the shape of the layout, obtaining the coordinates of the center of gravity of the layout (x_fp, y_fp);
[0023] S1302b, calculate the initial x coordinate of the tap1st point of the first-stage valve on the left: the number of columns of the end valve points is Nc. If Nc is a multiple of 2, that is, Nc=2k, the center of gravity of the end valve points of the 1st to kth columns on the left in the x direction is As the x coordinate of the tap1st point on the left; if Nc=2k-1, first calculate the centroid x1st_c{k}_fp of the end valve point of the kth column in the x direction. If x1st_c{k}_fp<=x_fp, then use the centroid of the end valve point of the kth column on the left in the x direction As the x coordinate of the tap1st on the left; if Nc=2k-1, and x1st_c{k}_fp>x_fp, then the center of gravity of the valve point at the end of the k-1 column on the left in the x direction As the x coordinate of tap1st on the left;
[0024] S1303b, calculate the initial x coordinate of the tap1st point of the first-level valve on the right: if Nc=2k, then the centroid x1st_r_fp of the end valve points of the k+1~2k columns on the right in the x direction is used as the x coordinate of the tap1st point on the right; if Nc=2k-1, and x1st_c{k}_fp<=x_fp, first observe the symmetry of the left and right sides. If a column of dummy end valve points is added between the kth column and the k+1th column, so that the end valve points of the kth column on the right and the kth column on the left are in a translation relationship, then the dummy valve points of this column are called the kyth column, and the centroid x1st of the end valve points of the k+1~2k-1 columns on the right in the x direction is used. _r_fp is used as the x-coordinate of the tap1st point on the right; if a column of dummy end valve points is added after 2k-1, so that the k columns on the right and the k columns on the left can be in a left-right mirror relationship, then the column of dummy valve points is called the nyth column, and the centroid x1st_r_fp of the end valve points of the k+1th to 2k-1th columns and the nyth columns on the right in the x-direction is used as the x-coordinate of the tap1st point on the right; if Nc=2k-1, and x1st_c{k}_fp>x_fp, then the centroid x1st_r_fp of the end valve points of the kth to 2k-1th columns on the right in the x-direction is used as the x-coordinate of the tap1st on the right, and the x-coordinate of the tap1st on the left is updated at the same time;
[0025] S1304b, determine the initial y coordinates of the two tap1st points: the number of rows of the end valve points is Nr. If Nr is a multiple of 2, it satisfies , then y_fp is the y coordinate of the two tap1sts y1st_fp; if , then take The y coordinate value of the valve point at the end of the row plus an offset Δy is used as the y coordinate y1st_fp of the two tap1sts; the offset Δy is an even multiple of the metal spacing Space_top between the top two layers of the power grid;
[0026] S1305b, calculate the precise coordinates of the tap1st points of the two first-stage valves according to the characteristics of the power grid: the calculation formula is as follows:
[0027] y1st_fp_c=round((y1st_fp_c–y0_top) / (2×Space_top)-6)×2×Space_top+y0_top;
[0028] ;
[0029] x1st_r_fp_c=round((x1st_r_fp–x0_top) / (2×Space_top))×2×Space_top+x0_top;
[0030] The round function indicates rounding;
[0031] S1306b, calculate the actual Manhattan distance L1st from the clock input to the two first-level valve points: the position of the clock input is recorded as (x_ckin, y_ckin), first calculate the x coordinates x1st_mean of the left and right tap1st center points; ; Calculate the Manhattan distance L0 from the clock input to the two tap1st center points, where L0=|x1st_mean–x_ckin|+|y1st_fp–y_ckin|, the distances from the two tap1st center points to each other are equal, recorded as L1, satisfying ; Finally, the actual Manhattan distance from the clock input to the two first-stage valve points is obtained as L1st=L0+L1;
[0032] S1307b. Calculate the number of clock units required for the first-level clock backbone: First, round down L_max to Space_top to obtain L_max_std = rounddown(L_max / Space_top) × Space_top; then calculate num1st_0 = rounddown(L0 / L_max_std), and place num1st_0 clock units between the clock input and the two tap1st center points; thus, the Manhattan distance between the num1st_0th clock unit and the two tap1st center points is L0_end = L0 – num1st_0 × L_max_std; then calculate num1st_1 = rounddown(L1 – (L_max_std – L0_end) / 2); if L1 < num1st_1 × L_max_std, then the distance between the num1st_1 clock units between the center point and the left / right tap1st is rounddown(L1 / (num1st_1 × Space_top)) × Space_top; otherwise, the distance remains L_max_std; where roundup means rounding up and rounddown means rounding down.
[0033] S1308b. Complete the growth of the first-level clock backbone: Calculate the total number of clock units num1st of the first-level clock backbone, where num1st = num1st_0 + 2 × num1st_1; place num1st clock units according to the calculated distance relationship, connect them with the top two layers of metal according to the logical relationship, and set the wound top two layers of metal to be fixed and unchangeable in attributes.
[0034] Preferably, in step S1303b, the step of updating the x coordinate of the left tap1st is as follows: First, observe the symmetry between the left and right sides. If a dummy end valve point column is added before the first column, and the left k column end valve points can be translated with the right k column, then this column of dummy valve points is called the 0y column, and the center of gravity of the left 0y column and the end valve points of columns 1 to k - 1 in the x direction is used as the x coordinate of the left tap1st point; if a dummy end valve point column is added between the k - 1th column and the kth column, and the left k column can be mirror-imaged with the right k column, then this column of dummy valve points is called the ky column, and the center of gravity of the left columns 1 to k - 1 and the end valve points of the ky column in the x direction is used as the x coordinate of the left tap1st point.
[0035] Preferably, in step S104, for each column end valve tap3rd point, combined with the power grid structure characteristics, calculating the precise position of a second-stage valve tap2nd point corresponding to each column includes the following steps:
[0036] S1041a, calculate the y coordinates of all tap2nd points based on the y coordinate of tap1st point: if Nr is a multiple of 2, that is, , then take Row and The mean y coordinate of the valve point at the end of the row is used as the y coordinate of all tanp2nd, and the calculation formula is y2nd_fp_c= ; If Nr is not a multiple of 2, then , then take The mean y coordinate of the valve point at the end of the row plus an offset Δy2 is used as the y coordinate of all tanp2nd. The calculation formula is: y2nd_fp_c= +Δy2; Δy2 is an even multiple of Space_top, the metal spacing between the top two layers of the power grid;
[0037] S1042a, for the tap3rd point of the end valve of the jth column, calculate the x initial coordinate x2nd_j_ic of the tap2nd point corresponding to the column, where x2nd_j_ic=x3rd_j_c+6×2×Space_top; ;
[0038] S1043a, for the j-th tap2nd point, if its initial position overlaps with the macroblock position nearby, search for the final precise position in a manner of spacing twice Space_top to the left / right, recorded as (x2nd_j_c, y2nd_j_c);
[0039] S1044a, if j is less than Nc, j is increased by 1 and returns to step S1042b; if j is equal to Nc, the precise position calculation of all second-stage terminal valve points is completed and the current step ends.
[0040] Preferably, in step S104, the second-level clock trunk is first symmetrically grown with the tap1st point on the left as the starting point, so that all the tap2nd points on the left are symmetrically connected to the tap1st point on the left, including the steps of:
[0041] S1041b, record the number of tap2nd points of the second-stage valve on the left as ;if If it cannot be expressed as a power of 2, add the minimum number of dummy valve points on the left, so that ;
[0042] S1042b, the number of tap2nd points of the second-stage valve on the left satisfies or , then select the center point of the nth and n+1th from left to right as the bifurcation point of the left branch of the second-level clock trunk, and the left side of the bifurcation point is recorded as ,in , ;
[0043] S1043b, calculate the first-stage valve point on the left to the left The maximum distance L2nd_max of the second-level valve points, where ;
[0044] S1044b, estimate the left first stage valve point to the The number of clock units num2nd_0 between the second-level valve points satisfies num2nd_0=roundup(L2nd_max / L_max_std+m / 2);
[0045] S1045b, according to the left Based on the positional relationship of the second-level valve points and the symmetry constraints of the second-level clock trunk, calculate the positions of the common clock unit and other clock units between the first-level valve point on the left and the second-level valve points on the left; place the clock units symmetrically and connect them with the top two layers of metal according to the logical relationship, and set the wound top two layers of metal to fixed and unchanging properties.
[0046] Preferably, in step S105, for the tap3rd point of the first column end valve, the tap2nd point corresponding to the tap3rd point is used as the starting point, and a third-level clock trunk is grown symmetrically up and down, so as to connect the tap3rd point of the first column end valve with the tap2nd point corresponding to the tap3rd point, including the steps of:
[0047] S1051, divide the first column of end valves tap3rd, which has a total number of Nr, into two parts, upper and lower, according to the position of the first tap2nd. The number of the lower part is recorded as Nr_dn. If Nr_dn cannot be expressed as a power of 2, add the minimum number of dummy valve points at the bottom, so that Nr_dn_new = 2^mr.
[0048] S1052, if Nr_dn satisfies Nr_dn = 2nr or Nr_dn = 2nr+1, then the center point between the nrth and nr+1th terminal valve points from the bottom up is selected as the bifurcation point of the lower branch of the third-level clock trunk, and the left side of the bifurcation point is recorded as (x3rd_nb_0, y3rd_nb_0), x3rd_nb_0=x2nd_1_c, y3rd_nb_0=(x3rd_{nr}_c+x3rd_{nr+1}_c) / 2;
[0049] S1053, calculate the maximum distance L3rd_max from the first second-stage valve tap2nd point to the end valve point at the bottom of the first column, L3rd_max=|y2nd_1_c–y3rd_nb_0|+|y3rd_nb_0–y3rd_1_c|+|x3rd_nb_0–x3rd_1_c|;
[0050] S1054, estimate the number of clock units num3rd_0 between the first second-level valve point and the end valve point at the bottom of the first column, satisfying num3rd_0=roundup(L3rd_max / L_max_std+mr / 2);
[0051] S1055, according to the position relationship of all the terminal valves tap3rd points at the bottom of the first column and the symmetry constraint of the third-level clock trunk, calculate the positions of the common clock unit and other clock units between the first second-level valve tap2nd point and the terminal valve points at the bottom; symmetrically place the clock units, and connect them with the top two layers of metal according to the logical relationship, and set the wound top two layers of metal to be fixed and unchanged;
[0052] S1056, for all the terminal tap3rd points on the top of the 1st column, according to the upper and lower symmetrical relationship, the position of the corresponding clock unit on the top is obtained by mirroring according to the position of the third-level clock unit in the 1st column, and the clock unit is placed. Then, according to the logical connection relationship between the first tap2nd point and all the terminal tap3rd points on the top of the 1st column, they are connected with the top two layers of metal, and the wound top two layers of metal are set to fixed and unchanging properties.
[0053] The present invention also discloses an automated physical implementation system for a four-level structured low-skew clock tree, comprising an interconnected memory and a processor, wherein a computer program is stored on the memory, and when the computer program is run by the processor, the steps of the method described above are executed.
[0054] Compared with the prior art, the advantages of the present invention are:
[0055] The present invention intervenes in the clock tree synthesis during the layout and routing process of super-large-size design, realizes highly symmetrical clock trunk layout and routing for super-large-size design, and automatically generates multi-valve point clock subtrees, thereby reducing the clock skew under super-large-size design to less than 20ps through a non-mesh structure. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1 The figure is a flow chart of a physical implementation method of the present invention in an embodiment.
[0057] Figure 2 It is a schematic diagram of the distribution of the first-stage valve points, the second-stage valve points and the terminal valve points in an embodiment of the present invention.
[0058] Figure 3 It is a schematic diagram of the structure of the first-level clock trunk in an embodiment of the present invention.
[0059] Figure 4 It is a schematic diagram of an embodiment of the second-level clock trunk grown under tap1stA in the present invention.
[0060] Figure 5 It is a schematic diagram of an embodiment of the third-level clock trunk grown under tap2nd1 in the present invention. DETAILED DESCRIPTION
[0061] The present invention is further described below in conjunction with the accompanying drawings and specific embodiments.
[0062] like Figure 1 As shown, the automated physical implementation method of the four-level structured low-skew clock tree provided by the embodiment of the present invention includes the steps of:
[0063] S101, determine the initial position and number of terminal valve points: For ultra-large size design, after completing the layout floorplan planning and power supply planning, according to the layout floorplan shape and macro module position, in accordance with the principle of relatively regular rows and columns, determine the initial position of the synchronous clock terminal valve point, and determine its number to be 20, such as Figure 2 As shown;
[0064] S102, configure the basic constraints of the clock tree: select the pre-designed strong drive buffer CKBUFFXX16 under the target process as the clock unit of the first to second level valve points and the first to third level symmetrical structure clock trunk, select a buffer CKBUFFX4 as the clock unit of the end valve point, select the clock inverter and clock buffer in the target process commercial library as the clock unit of the multi-valve point balancing subtree; select the top two metal layers in the target process as the long-distance interconnection lines of the first to third level symmetrical structure clock trunk; select the remaining metal layers as the interconnection lines of the multi-valve point balancing subtree; configure the value range of the clock jump (slew); according to the slew requirements, calculate and configure the maximum driving distance L_max of the strong drive clock unit to 1000um through SPICE (simulation circuit simulator) post-simulation under the target process to ensure that the slew requirements are met; configure the maximum fanout fanout_max of the multi-valve point balancing subtree to 32;
[0065] S103, symmetrically grow the first-level clock trunk: according to the initial positions of all the terminal valves tap3rd points, combined with the characteristics of the power grid structure, calculate the precise positions of all 20 terminal valves tap3rd points; calculate the precise positions of the two first-level valves tap1st points tap1stA and tap1stB on the left and right, and then symmetrically grow the first-level clock trunk with the clock input as the starting point, and symmetrically connect the clock input with tap1stA and tap1stB;
[0066] S104, symmetrically grow the second-level clock trunk: for each column end valve tap3rd point, combined with the power grid structure characteristics, calculate the precise position of a second-level valve tap2nd point corresponding to each column; first, symmetrically grow the second-level clock trunk with the left tap1st point tap1stA as the starting point, so that all the tap2nd points on the left are symmetrically connected to the left tap1st point tap1stA; then copy the left second-level clock trunk and mirror it to the corresponding position on the right, modify the unit name and line name, and then connect the right tap2nd point with the right tap1st point tap1stB respectively;
[0067] S105, symmetrically grow the third-level clock trunk: for the tap3rd point of the end valve of the first column, take its corresponding tap2nd point as the starting point, and grow the third-level clock trunk symmetrically up and down, so as to connect the tap3rd point of the end valve of the first column with its corresponding tap2nd point; then for each of the remaining columns of end valve points, copy the third-level clock trunk of the first column and translate it to the corresponding position, modify the unit name and line name, and then connect the end valve point of the corresponding column with its corresponding tap2nd point symmetrically up and down;
[0068] S106, generation of a balanced subtree with multiple valve points: taking the end valve tap3rd point as the final valve point, use commercial / open source layout and routing tools to complete the automatic generation of a balanced subtree, thereby achieving balanced connection from the end valve point to the clock leaf node and satisfying the global timing.
[0069] The present invention is applied to the field of chip design and EDA technology, including determining the preliminary position and quantity of terminal valve points; configuring the basic constraints of the clock tree; symmetrically growing the first-level clock trunk; symmetrically growing the second-level clock trunk; symmetrically growing the third-level clock trunk; and finally completing the generation of a multi-valve point balanced subtree, thereby greatly reducing the clock skew of the design under ultra-large size.
[0070] In this embodiment, in step S103, according to the preliminary positions of the tap3rd points of all the terminal valves and in combination with the structural characteristics of the power grid, the precise positions of the tap3rd points of all 20 terminal valves are calculated, including the following steps:
[0071] S1031a, obtaining the interval between the top two metal layers of the power grid, recorded as Space_top, obtaining the starting point of the horizontal (or x) direction of the M9 metal in the top two metal layers of the power grid as x0_top, and the starting point of the vertical (or y) direction of the M9 metal as y0_top;
[0072] S1032a, for the i-th end valve point (i∈[1,20]), its initial coordinates are (x3rd_i_init, y3rd_i_init), and its initial precise position is calculated using the following formula:
[0073] x3rd_i_ic=round((x3rd_i_init–x0_top) / (2×Space_top))×2×Space_top+x0_top;
[0074] y3rd_i_ic=round((y3rd_i_init–y0_top) / (2×Space_top))×2×Space_top+y0_top;
[0075] S1033a, for the precise position (x3rd_i_ic, y3rd_i_ic) of the i-th terminal valve point, determine whether it overlaps with the respective nearby macromodule positions; if it overlaps, search for the final precise position in the order of (1, 1), (1, -1), (-1, -1), (-1, 1) in a diagonal manner, and record it as (x3rd_i_c, y3rd_i_c); in this implementation case, there is no overlap, so the position of the i-th terminal valve point remains unchanged after the implementation of this step;
[0076] S1034 a, if i is less than 20, i is increased by 1 and the process returns to step S1032; if i is equal to 20, the precise position calculation of all terminal valve points is completed and the current step ends.
[0077] In this embodiment, in step S103, the precise positions of the two left and right first-stage valve tap1st points tap1stA and tap1stB are calculated, and then the first-stage clock trunk is symmetrically grown with the clock input as the starting point, and the clock input is symmetrically connected to tap1stA and tap1stB. Specifically, the steps include:
[0078] S1031b, according to the shape of the floorplan, obtain the centroid coordinates (x_fp, y_fp) of the floorplan;
[0079] S1032b, calculate the initial x coordinate of the tap1st point tap1stA of the first-stage valve on the left: Figure 2 As shown, the number of columns of the end valve points is Nc=5, which satisfies Nc=2k-1, where k=3. Then, the centroid x1st_c3_fp of the end valve points in the third column in the x direction is calculated first; if x1st_c3_fp<=x_fp is satisfied, the centroid x1st_c3_fp of the end valve points in the left three columns is used. As the x coordinate of the tap1st point on the left, tap1stA;
[0080] S1033b, calculate the x initial coordinate of the first-stage valve tap1st point tap1stB on the right: Since Nc=2k-1, where k=3, and x1st_c3_fp<=x_fp, by observing the symmetry of the left and right sides, it is found that a column of dummy end valve points (dummy valve points refer to clock units that do not drive any load and are only used for balancing) is added between the 3rd column and the 4th column, so that the end valve points of the 3 columns on the right and the 3 columns on the left are in a translation relationship, then the column of dummy valve points is called the kyth column, and the center of gravity x1st_r_fp of the end valve points of the ky column on the right and the 4th to 5th columns in the x direction is used as the x coordinate of the tap1st point tap1stB on the right;
[0081] S1034b, determine the initial y coordinates of the two tap1st points tap1stA and tap1stB: Figure 2 As shown, in this embodiment, the number of rows of terminal valve points is Nr=4, satisfying ,in , then y_fp is the y coordinate y1st_fp of the two tap1st points tap1stA and tap1stB;
[0082] S1035b, calculate the precise coordinates of the two first-stage valve tap1st points tap1stA and tap1stB according to the characteristics of the power grid: the calculation formula is as follows:
[0083] y1st_fp_c=round((y1st_fp_c–y0_top) / (2×Space_top)-6)×2×Space_top+y0_top;
[0084] ;
[0085] x1st_r_fp_c=round((x1st_r_fp–x0_top) / (2×Space_top))×2×Space_top+x0_top;
[0086] The round function indicates rounding;
[0087] S1036b, calculate the actual Manhattan distance L1st from the clock input to the two first-level valve points: the position of the clock input is recorded as (x_ckin, y_ckin), first calculate the x coordinate x1st_mean of the center point of the two left and right tap1st points tap1stA and tap1stB, where ; Calculate the Manhattan distance L0 from the clock input to the two tap1st center points, where L0=|x1st_mean–x_ckin|+|y1st_fp–y_ckin|, the distances from the two tap1st center points to each other are equal, recorded as L1, satisfying ; Finally, the actual Manhattan distance from the clock input to the two first-stage valve points is obtained as L1st=L0+L1;
[0088] S1037b, calculate the number of clock units required for the first-level clock trunk: first, round L_max by Space_top to obtain L_max_std=rounddown(L_max / Space_top)×Space_top;
[0089] Then calculate num1st_0 = rounddown (L0 / L_max_std), then num1st_0 clock units need to be placed between the clock input and the two tap1st center points; therefore, the Manhattan distance between the num1st_0th clock unit and the two tap1st center points is L0_end = L0–num1st_0×L_max_std;
[0090] Then calculate num1st_1 = rounddown(L1 – (L_max_std – L0_end) / 2). If L1 < num1st_1 × L_max_std, then the distance between the num1st_1 clock units between the center point and the left / right tap1st is rounddown(L1 / (num1st_1 × Space_top)) × Space_top; otherwise, the distance remains L_max_std. Here, roundup means rounding up, and rounddown means rounding down.
[0091] S1038b. Complete the growth of the first-level clock backbone: Calculate the total number of clock units num1st of the first-level clock backbone, where num1st = num1st_0 + 2 × num1st_1. In this embodiment, num1st_0 is equal to 5, and num1st_1 is equal to 3. Thus, the total number of clock units num1st of the first-level clock backbone is equal to 11. Place these num1st clock units according to the calculated distance relationship and connect them with the top two layers of metal in a logical relationship. As Figure 3 shown, then set the wound top two layers of metal to be fixed and unchangeable in properties.
[0092] In this embodiment, in step S104, for each tap3rd point at the end of each column, in combination with the characteristics of the power grid structure, calculating the exact position of a corresponding tap2nd point for each column includes the steps:
[0093] S1041a. Calculate the y coordinates of all tap2nds based on the y coordinate of the tap1st point: As Figure 2 shown, since Nr satisfies , then use the average value of the y coordinates of the end valve points in the th row and the th row as the y coordinates of all tanp2nds. The calculation formula is y2nd_fp_c = .
[0094] S1042a. For the tap3rd point at the end of the jth column (j ∈ [1, Nc]), calculate the initial x coordinate x2nd_j_ic of the corresponding tap2nd point in this column, where x2nd_j_ic = x3rd_j_c + 6 × 2 × Space_top.
[0095] S1043a. For the jth tap2nd point, if its initial position overlaps with the position of the nearby macro module, search for the final exact position in the way of spacing twice Space_top to the left / right, denoted as (x2nd_j_c, y2nd_j_c).
[0096] S1044a, if j is less than Nc, j is increased by 1 and returns to step S1042a; if j is equal to Nc, the precise position calculation of all second-stage end valve points is completed and the current step ends.
[0097] In this embodiment, in step S104, the second-level clock trunk is first symmetrically grown with the left tap1st point tap1stA as the starting point, so that all the left tap2nd points are symmetrically connected to the left tap1st point tap1stA respectively, including:
[0098] S1041b, record the number of tap2nd points of the second-stage valve on the left as ,like Figure 2 As shown, , cannot be expressed as a power of 2, then add the minimum number of dummy valve points on the left (dummy valve points refer to clock units that do not drive any load and are only used for balancing), so that , where m=2;
[0099] S1042b, the number of tap2nd points of the second-stage valve on the left satisfies , then select the center point of the nth and n+1th from left to right as the bifurcation point of the left branch of the second-level clock trunk, and the left side of the bifurcation point is recorded as ,in , ;
[0100] S1043b, calculate the first-stage valve point on the left to the left The maximum distance L2nd_max of the second-level valve points, where ;
[0101] S1044b, estimate the left first stage valve point to the The number of clock units num2nd_0 between the second-level valve points satisfies num2nd_0=roundup(L2nd_max / L_max_std+m / 2);
[0102] S1045b, according to the left Based on the positional relationship of the second-level valve points and the symmetry constraints of the second-level clock trunk, the positions of the common clock units and other clock units between the first-level valve point on the left and the second-level valve points on the left are calculated; these clock units are placed symmetrically and connected with the top two layers of metal according to the logical relationship. The connection effect is as follows Figure 4 As shown, finally the top two layers of wound metal are set to fixed and unchanged properties.
[0103] In this embodiment, in step S105, for the tap3rd point of the first column end valve, taking its corresponding tap2nd point as the starting point, a third-level clock trunk is grown symmetrically up and down, thereby connecting the tap3rd point of the first column end valve and its corresponding tap2nd point, including the steps of:
[0104] S1051, the total number of the first column of end valves tap3rd, which is Nr, is divided into two parts, upper and lower parts, according to the position of the first tap2nd, and the number of the lower part is recorded as Nr_dn; since Nr_dn is equal to 2 in this embodiment, Nr_dn=2^mr is satisfied, where mr=1, and no dummy valve point needs to be added;
[0105] S1052, if Nr_dn satisfies Nr_dn=2nr or Nr_dn=2nr+1, where nr=1, then the center point between the nrth and nr+1th terminal valve points from the bottom up is selected as the bifurcation point of the lower branch of the third-level clock trunk, and the left side of the bifurcation point is recorded as (x3rd_nb_0, y3rd_nb_0), x3rd_nb_0=x2nd_1_c, y3rd_nb_0=(x3rd_{nr}_c+x3rd_{nr+1}_c) / 2;
[0106] S1053, calculate the maximum distance L3rd_max from the first second-stage valve tap2nd point to the end valve point at the bottom of the first column, L3rd_max=|y2nd_1_c–y3rd_nb_0|+|y3rd_nb_0–y3rd_1_c|+|x3rd_nb_0–x3rd_1_c|;
[0107] S1054, estimate the number of clock units num3rd_0 between the first second-level valve point and the end valve point at the bottom of the first column, satisfying num3rd_0=roundup(L3rd_max / L_max_std+mr / 2);
[0108] S1055, according to the position relationship of all the terminal valves tap3rd points at the bottom of the first column and the symmetry constraint of the third-level clock trunk, calculate the positions of the common clock unit and other clock units between the first second-level valve tap2nd point and the terminal valve points at the bottom; symmetrically place these clock units, and connect them with the top two layers of metal according to the logical relationship, and set the wound top two layers of metal to be fixed and unchanged;
[0109] S1056, for all the terminal tap3rd points on the top of the first column, according to the upper and lower symmetric relationship, the position of the corresponding clock unit on the top is obtained by mirroring according to the position of the third-level clock unit in the first column, and these clock units are placed, and then according to the logical connection relationship between the first tap2nd point and all the terminal tap3rd points on the top of the first column, they are connected with the highest two layers of metal, such as Figure 5 As shown, the top two layers of wound metal are set to fixed and unchanged properties.
[0110] The present invention intervenes in the clock tree synthesis during the layout and routing process of super-large-size design, realizes highly symmetrical clock trunk layout and routing for super-large-size design, and automatically generates multi-valve point clock subtrees, thereby reducing the clock skew under super-large-size design to less than 20ps through a non-mesh structure.
[0111] An embodiment of the present invention also provides an automated physical implementation system for a four-level structured low-skew clock tree, comprising a memory and a processor connected to each other, wherein a computer program is stored on the memory, and when the computer program is executed by the processor, the steps of the method described above are executed.
[0112] The above are only preferred embodiments of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should be regarded as the protection scope of the present invention.
Claims
1. An automated physical implementation method for a four-level structured low-skew clock tree, characterized in that: Includes steps: S101, determining the initial position and number of the synchronous clock terminal valve points: according to the layout shape and the macro module position, in accordance with the principle of row and column regularity, determining the initial position and number N of the synchronous clock terminal valve points; S102, configure the basic constraints of the clock tree: select the pre-designed strong drive inverter or buffer as the clock unit of the first to second level valve points and the first to third level symmetrical structure clock trunk, select the inverter / buffer as the clock unit of the end valve point, select the clock inverter and the clock buffer as the clock unit of the multi-valve point balancing subtree; select the top two layers of metal in the target process as the long-distance interconnection line of the first to third level symmetrical structure clock trunk; select the remaining metal as the interconnection line of the multi-valve point balancing subtree; configure the value range of the clock jump; according to the clock jump requirements, calculate and configure the maximum driving distance L_max of the strong drive clock unit through simulation; configure the maximum fanout fanout_max of the multi-valve point balancing subtree; S103, symmetrically growing the first-level clock trunk: according to the preliminary positions of the tap3rd points of all the terminal valves and the structural characteristics of the power grid, calculating the precise positions of the tap3rd points of all the terminal valves; calculating the precise positions of the tap1st points of the two first-level valves on the left and right, and then symmetrically growing the first-level clock trunk with the clock input as the starting point, symmetrically connecting the clock input with the tap1st points of the two first-level valves; S104, symmetrically grow the second-level clock trunk: for each column end valve tap3rd point, combined with the power grid structure characteristics, calculate the precise position of a second-level valve tap2nd point corresponding to each column; first, symmetrically grow the second-level clock trunk with the left tap1st point as the starting point, so that all the tap2nd points on the left are symmetrically connected to the tap1st point on the left; then copy the second-level clock trunk on the left and mirror it to the corresponding position on the right, modify the unit name and line name, and then connect the tap2nd point on the right with the tap1st point on the right; S105, symmetrically grow the third-level clock trunk: for the tap3rd point of the end valve of the first column, take its corresponding tap2nd point as the starting point, and grow the third-level clock trunk symmetrically up and down, so as to connect the tap3rd point of the end valve of the first column with its corresponding tap2nd point; then for each of the remaining columns of end valve points, copy the third-level clock trunk of the first column and translate it to the corresponding position, modify the unit name and line name, and then connect the end valve point of the corresponding column with its corresponding tap2nd point symmetrically up and down; S106, generation of a multi-valve point balanced subtree: taking the end valve tap3rd point as the final valve point, complete the automatic generation of a balanced subtree, thereby achieving a balanced connection between the end valve point and the clock leaf node and satisfying the global timing.
2. The method for automated physical implementation of a four-level structured low-skew clock tree according to claim 1, characterized in that: In step S103, according to the initial positions of the tap3rd points of all the terminal valves and in combination with the structural characteristics of the power grid, the precise positions of the tap3rd points of all the terminal valves are calculated, including the following steps: S1031a, obtaining the interval Space_top between the top two metal layers of the power grid, obtaining the starting point of the top two metal layers of the power grid in the horizontal direction as x0_top and the starting point in the vertical direction as y0_top; S1032a, for the i-th end valve point, its initial coordinates are (x3rd_i_init, y3rd_i_init), and its precise position is calculated using the following formula: x3rd_i_ic=round((x3rd_i_init–x0_top) / (2×Space_top))×2×Space_top+x0_top; y3rd_i_ic=round((y3rd_i_init–y0_top) / (2×Space_top))×2×Space_top+y0_top; in ; S1033a, for the precise position (x3rd_i_ic, y3rd_i_ic) of the i-th terminal valve point, determine whether it overlaps with the respective nearby macromodule positions; if so, search for the final precise position in the order of (1, 1), (1, -1), (-1, -1), (-1, 1) in a diagonal manner, recorded as (x3rd_i_c, y3rd_i_c); S1034a, if i is less than N, i is increased by 1 and returns to step S1032a; if i is equal to N, the final precise position calculation of all end valve points is completed and the current step ends.
3. The automated physical implementation method of a four-level structured low-skew clock tree according to claim 2, characterized in that: In step S103, the precise positions of the tap1st points of the left and right first-stage valves are calculated, and then the first-stage clock trunk is symmetrically grown with the clock input as the starting point, and the clock input is symmetrically connected to the tap1st points of the two first-stage valves, including the steps of: S1301b, obtaining the coordinates of the center of gravity of the layout: according to the shape of the layout, obtaining the coordinates of the center of gravity of the layout (x_fp, y_fp); S1302b, calculate the initial x coordinate of the tap1st point of the first-stage valve on the left: the number of columns of the end valve points is Nc. If Nc is a multiple of 2, that is, Nc=2k, the center of gravity of the end valve points of the 1st to kth columns on the left in the x direction is As the x coordinate of the tap1st point on the left; if Nc=2k-1, first calculate the centroid x1st_c{k}_fp of the end valve point of the kth column in the x direction. If x1st_c{k}_fp<=x_fp, then use the centroid of the end valve point of the kth column on the left in the x direction As the x coordinate of the tap1st on the left; if Nc=2k-1, and x1st_c{k}_fp>x_fp, then the center of gravity of the valve point at the end of the k-1 column on the left in the x direction As the x coordinate of tap1st on the left; S1303b, calculate the initial x coordinate of the tap1st point of the first-level valve on the right: if Nc=2k, then the centroid x1st_r_fp of the end valve points of the k+1~2k columns on the right in the x direction is used as the x coordinate of the tap1st point on the right; if Nc=2k-1, and x1st_c{k}_fp<=x_fp, first observe the symmetry of the left and right sides. If a column of dummy end valve points is added between the kth column and the k+1th column, so that the end valve points of the kth column on the right and the kth column on the left are in a translation relationship, then the dummy valve points of this column are called the kyth column, and the centroid x1st of the end valve points of the k+1~2k-1 columns on the right in the x direction is used. _r_fp is used as the x-coordinate of the tap1st point on the right; if a column of dummy end valve points is added after 2k-1, so that the k columns on the right and the k columns on the left can be in a left-right mirror relationship, then the column of dummy valve points is called the nyth column, and the centroid x1st_r_fp of the end valve points of the k+1th to 2k-1th columns and the nyth columns on the right in the x-direction is used as the x-coordinate of the tap1st point on the right; if Nc=2k-1, and x1st_c{k}_fp>x_fp, then the centroid x1st_r_fp of the end valve points of the kth to 2k-1th columns on the right in the x-direction is used as the x-coordinate of the tap1st on the right, and the x-coordinate of the tap1st on the left is updated at the same time; S1304b, determine the initial y coordinates of the two tap1st points: the number of rows of the end valve points is Nr. If Nr is a multiple of 2, it satisfies , then y_fp is the y coordinate of the two tap1sts y1st_fp; if , then take The y coordinate value of the valve point at the end of the row plus an offset Δy is used as the y coordinate y1st_fp of the two tap1sts; the offset Δy is an even multiple of the metal spacing Space_top between the top two layers of the power grid; S1305b, calculate the precise coordinates of the tap1st points of the two first-stage valves according to the characteristics of the power grid: the calculation formula is as follows: y1st_fp_c=round((y1st_fp_c–y0_top) / (2×Space_top)-6)×2×Space_top+y0_top; ; x1st_r_fp_c=round((x1st_r_fp–x0_top) / (2×Space_top))×2×Space_top+x0_top; The round function indicates rounding; S1306b, calculate the actual Manhattan distance L1st from the clock input to the two first-level valve points: the position of the clock input is recorded as (x_ckin, y_ckin), first calculate the x coordinates x1st_mean of the left and right tap1st center points; ; Calculate the Manhattan distance L0 from the clock input to the two tap1st center points, where L0=|x1st_mean–x_ckin|+|y1st_fp–y_ckin|, the distances from the two tap1st center points to each other are equal, recorded as L1, satisfying ; Finally, the actual Manhattan distance from the clock input to the two first-stage valve points is obtained as L1st=L0+L1; S1307b. Calculate the number of clock cells required for the first-level clock backbone: First, round down L_max to Space_top to get L_max_std = rounddown(L_max / Space_top) × Space_top; then calculate num1st_0 = rounddown(L0 / L_max_std), and place num1st_0 clock cells between the clock input and the midpoints of the two tap1st; thus, the Manhattan distance between the num1st_0th clock cell and the midpoints of the two tap1st is L0_end = L0 – num1st_0 × L_max_std; then calculate num1st_1 = rounddown(L1 – (L_max_std – L0_end) / 2); if L1 < num1st_1 × L_max_std, then the distance between the num1st_1 clock cells between the midpoint and the left / right tap1st is rounddown(L1 / (num1st_1 × Space_top)) × Space_top; otherwise, the distance remains L_max_std; where roundup means rounding up, and rounddown means rounding down; S1308b. Complete the growth of the first-level clock backbone: Calculate the total number of clock cells num1st for the first-level clock backbone, where num1st = num1st_0 + 2 × num1st_1; place num1st clock cells according to the calculated distance relationship, connect them with the top two metal layers according to the logical relationship, and set the wound top two metal layers to be fixed and unchangeable in properties.
4. The method for automated physical implementation of a four-level structured low-skew clock tree according to claim 3, characterized in that: In step S1303b, the steps for updating the x coordinate of the left tap1st are as follows: first observe the symmetry of the left and right sides. If a column of dummy end valve points is added before the 1st column, so that the end valve points of the left k columns and the right k columns are in a translation relationship, then the column of dummy valve points is called the 0y column, and the center of gravity of the end valve points of the left 0y column and the 1st to k-1 columns in the x direction is As the x coordinate of the tap1st point on the left; If a column of dummy terminal valve points is added between the k-1th column and the kth column, so that the left k column and the right k column can present a left-right mirror relationship, then the column of dummy valve points is called the kyth column, and the centroid of the left 1 to k-1 columns and the kyth column terminal valve points in the x direction is As the x coordinate of the tap1st point on the left.
5. The automated physical implementation method of the four-level structured low-skew clock tree according to claim 3 or 4, characterized in that: In step S104, for each tap3rd point at the end of each column, combined with the characteristics of the power grid structure, calculate the exact position of a corresponding tap2nd point for each column, including the steps: S1041a, calculate the y coordinates of all tap2nd points based on the y coordinate of tap1st point: if Nr is a multiple of 2, that is, , then take Row and The mean y coordinate of the valve point at the end of the row is used as the y coordinate of all tanp2nd, and the calculation formula is y2nd_fp_c= ; If Nr is not a multiple of 2, then , then take The mean y coordinate of the valve point at the end of the row plus an offset Δy2 is used as the y coordinate of all tanp2nd. The calculation formula is: y2nd_fp_c= +Δy2; Δy2 is an even multiple of Space_top, the metal spacing between the top two layers of the power grid; S1042a, for the tap3rd point of the end valve of the jth column, calculate the x initial coordinate x2nd_j_ic of the tap2nd point corresponding to the column, where x2nd_j_ic=x3rd_j_c+6×2×Space_top; ; S1043a. For the jth tap2nd point, if its initial position overlaps with the position of the nearby macro module, search for the final exact position at an interval of twice Space_top to the left / right, denoted as (x2nd_j_c, y2nd_j_c); S1044a. If j is less than Nc, increment j by 1 and return to step S1042b; if j is equal to Nc, the calculation of the exact positions of all the second-level end valve points is completed, and the current step ends.
6. The method for automated physical implementation of a four-level structured low-skew clock tree according to claim 5, characterized in that: In step S104, first symmetrically grow the second-level clock backbone starting from the left tap1st point, so as to connect all the left tap2nd points to the points symmetric to the left tap1st point respectively, including the steps: S1041b, record the number of tap2nd points of the second-stage valve on the left as ;if If it cannot be expressed as a power of 2, add the minimum number of dummy valve points on the left, so that ; S1042b, the number of tap2nd points of the second-stage valve on the left satisfies or , then select the center point of the nth and n+1th from left to right as the bifurcation point of the left branch of the second-level clock trunk, and the left side of the bifurcation point is recorded as ,in , ; S1043b, calculate the first-stage valve point on the left to the left The maximum distance L2nd_max of the second-level valve points, where ; S1044b, estimate the left first stage valve point to the The number of clock units num2nd_0 between the second-level valve points satisfies num2nd_0=roundup(L2nd_max / L_max_std+m / 2); S1045b, according to the left Based on the positional relationship of the second-level valve points and the symmetry constraints of the second-level clock trunk, calculate the positions of the common clock unit and other clock units between the first-level valve point on the left and the second-level valve points on the left; place the clock units symmetrically and connect them with the top two layers of metal according to the logical relationship, and set the wound top two layers of metal to fixed and unchanging properties.
7. The automated physical implementation method of a four-level structured low-skew clock tree according to claim 3 or 4, characterized in that: In step S105, for the tap3rd point at the end of the first column, starting from its corresponding tap2nd point, symmetrically grow the third-level clock backbone up and down, so as to connect the tap3rd point at the end of the first column to its corresponding tap2nd point, including the steps: S1051, divide the first column of end valves tap3rd, which has a total number of Nr, into two parts, upper and lower, according to the position of the first tap2nd. The number of the lower part is recorded as Nr_dn. If Nr_dn cannot be expressed as a power of 2, add the minimum number of dummy valve points at the bottom, so that Nr_dn_new = 2^mr. S1052, if Nr_dn satisfies Nr_dn = 2nr or Nr_dn = 2nr+1, then the center point between the nrth and nr+1th terminal valve points from the bottom up is selected as the bifurcation point of the lower branch of the third-level clock trunk, and the left side of the bifurcation point is recorded as (x3rd_nb_0, y3rd_nb_0), x3rd_nb_0=x2nd_1_c, y3rd_nb_0=(x3rd_{nr}_c+x3rd_{nr+1}_c) / 2; S1053, calculate the maximum distance L3rd_max from the first second-stage valve tap2nd point to the end valve point at the bottom of the first column, L3rd_max=|y2nd_1_c–y3rd_nb_0|+|y3rd_nb_0–y3rd_1_c|+|x3rd_nb_0–x3rd_1_c|; S1054, estimate the number of clock units num3rd_0 between the first second-level valve point and the end valve point at the bottom of the first column, satisfying num3rd_0=roundup(L3rd_max / L_max_std+mr / 2); S1055, according to the position relationship of all the terminal valves tap3rd points at the bottom of the first column and the symmetry constraint of the third-level clock trunk, calculate the positions of the common clock unit and other clock units between the first second-level valve tap2nd point and the terminal valve points at the bottom; symmetrically place the clock units, and connect them with the top two layers of metal according to the logical relationship, and set the wound top two layers of metal to be fixed and unchanged; S1056, for all the terminal tap3rd points on the top of the 1st column, according to the upper and lower symmetrical relationship, the position of the corresponding clock unit on the top is obtained by mirroring according to the position of the third-level clock unit in the 1st column, and the clock unit is placed. Then, according to the logical connection relationship between the first tap2nd point and all the terminal tap3rd points on the top of the 1st column, they are connected with the top two layers of metal, and the wound top two layers of metal are set to fixed and unchanging properties.
8. An automated physical implementation system for a four-level structured low-skew clock tree, comprising a memory and a processor connected to each other, wherein a computer program is stored on the memory, characterized in that: When the computer program is executed by a processor, the computer program performs the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Clock tree structure and implementation method thereof
CN116306471A
Clock-tree structure and method for synthesizing the same
US20120110538A1