ICC2Design Planning03Power Network Synthesis
ICC2Design Planning03Power Network Synthesis
blog.csdn.net/m0_61544122/article/details/127880446
After the shape block, pg planning can be done next. Power network creation can be
divided into the following parts:
To insert power io, you can use the method of inserting signal io, or you can use the
independent command set_power_io_constraints+place_io to insert power io
1) set_power_io_constraints+place_io
set_power_io_constraints \
1/21
-ratio <the maximum number of signal io between continuous power io> ;#Only look at
signal io, not power io
-offset <the maximum distance between the starting point of io guide and the nearest
power io>
-share <a bump can connect to the maximum number of power io>
As shown in the figure above, VDD_NS radio is 7, and seven signal ios are placed between
two power ios, while VSS_NS ratio is 8, corresponding to 8 signal ios between two ground
ios.
2) set_signal_io_constraints+place_io
Users can manually set the relative position and quantity of power io and signal io.
Examples are as follows:
## all_pads.io
...
pad_iopad_13
} {{40}
pg_vss_left_1
2/21
pg_vddh_left_1
{{order_only}
pad_iopad_14
...
After power io and signal io are placed, physical only I/O cells can be placed, including the
following three types:
1) create_io_corner_cell
Insert the corner cell between the two io guides, generally at the four corners of the chip,
and the direction of the corner cell follows the first io guide.
There are two ways to add, one is to specify the inst name and the other is to specify the
ref cell name. The former requires corner cells in the netlist.
create_io_corner_cell \
-cell <inst> \
{ <io_guide1 io_guide2> }
create_io_corner_cell \
-reference_cell <lib_cell> \
{ <io_guide1 io_guide2> }
3/21
2) create_io_break_cells
create_io_break_cells
[-reference_cells lib_cell_name_list]
[-cells cell_name_list]
io_guide_list
4/21
3) Add I/O Filler Cell
5/21
1.3 Route Flip Chip Nets
6/21
3) optional,remove or reduce the amount of U and Z routing shape。
7/21
2.1 PG Regions
pg region can be created based on core area, block, voltage area, macro/groups of macros,
groups of regions, polygon.
Example:
8/21
2.2 PG Ring
To define a pg ring, you need to specify the horizontal and vertical layers, as well as
conditions such as spacing, width, and via rule. You can also set the width and spacing for
each edge individually.
compile_pg -strategies s1
9/21
pattern also has the extended usage of blockage, parameters, and extension, which
represent shielding, parameters, and extension respectively. The usage can be seen in the
following example:
10/21
2.3 PG Mesh
The pg mesh pattern usage process is as follows:
11/21
create_pg_mesh_pattern mesh1 \
12/21
set_pg_via_master_rule VIA36_2x3 -contact_code {VIA34SQ VIA45SQ VIA56QS} -
via_array_dimension {2 3} -offset {0.4 0.2} -offset_start center (default) -cut_spacing
{0.2 0.1}
Set the via rule to connect different strategy straps or strategies with existing shapes.
#let _ Holes are punched between M2 and M7 of the two strategies. If you
don’t want them to punch via master, you can write "NIL".
If set_pg_strategy_via_rule is not used or compile_pg does not use the -via_rule option,
via will be inserted on all intersecting shapes of different layers of the same pg net.
If you only want to use one via rule strategy, you can use the compile_pg -via_rule
rule_name option.
13/21
2.6 Standard Cell Connection Pattern
create_pg_macro_conn_pattern
14/21
Three modes controlled by -pin_conn_type
1) scattered_pin
create_pg_macro_conn_pattern P_HM_pins \
2) long_pin
The pg pin is long, and the pg mesh intersects with the pg pin.
create_pg_macro_conn_pattern macro_long_pins \
-pin_conn_type long_pin \
-direction vertical \
15/21
-spacing interleaving \
-pitch $M5_pitch \
-width $M5_width \
-layers M5
3) ring_pin
16/21
The ring pin inside the macro, the finger is connected to the strap or macro ring.
compile_pg -undo
If the via is not inserted because of the drc problem, you can use compile_pg to report
compile_pg -show_phantom
The pg net department created by PNS is directly applied to the top level. For example, to
specify pg strategies for a block, you need to give its complete hierarchy name.
set_pg_strategy s_top \
–blocks I_TOP/I_SWITCHED \
17/21
If -block is not specified, then I_TOP/I_SWITCHED/VDD_SW will be a dummy net at
the top. To avoid this problem you need pg characterize.
1) Design input
2) Characterize Block PG
18/21
For example, add boundary Cell to the block. By default, only the top level is added.
19/21
Among them, the stagger is in a staggered form as shown in the figure above, which is
generally applied in this form, which can reduce the number of tap cells.
According to the power/ground cutoff, it can be divided into the Header type that cuts off
the power and the Footer type that cuts off the ground. The former uses pmos transistors
of the same size and has lower leakage, and the latter uses nmos transistors, which tend to
have smaller ir drop and area. .
In terms of placement, the switch cell is mostly placed under the strap of the main supply
to facilitate punching and connection.
20/21
The sleep signal connection method mostly adopts the daisy chain method, besides, there
are two forms of hfn and fishbone.
Check for DRC issues that violate the technology design rule.
2) check_pg_missing_vias
3) check_pg_connectivity
21/21