Tapcell#
Tapcell and endcap insertion.
Commands#
Note
Parameters in square brackets
[-param param]
are optional.Parameters without square brackets
-param2 param2
are required.
Add Tapcell/Endcap#
This command inserts tapcells or endcaps.
The figures below show two examples of tapcell insertion. When only the
-tapcell_master
and -endcap_master
masters are given, the tapcell placement
is similar to Figure 1. When the remaining masters are give, the tapcell
placement is similar to Figure 2.
Figure 1: Tapcell insertion representation |
Figure 2: Tapcell insertion around macro representation |
tapcell
[-tapcell_master tapcell_master]
[-tap_prefix tap_prefix]
[-endcap_master endcap_master]
[-endcap_prefix endcap_prefix]
[-distance dist]
[-disallow_one_site_gaps]
[-halo_width_x halo_x]
[-halo_width_y halo_y]
[-tap_nwin2_master tap_nwin2_master]
[-tap_nwin3_master tap_nwin3_master]
[-tap_nwout2_master tap_nwout2_master]
[-tap_nwout3_master tap_nwout3_master]
[-tap_nwintie_master tap_nwintie_master]
[-tap_nwouttie_master tap_nwouttie_master]
[-cnrcap_nwin_master cnrcap_nwin_master]
[-cnrcap_nwout_master cnrcap_nwout_master]
[-incnrcap_nwin_master incnrcap_nwin_master]
[-incnrcap_nwout_master incnrcap_nwout_master]
[-tbtie_cpp tbtie_cpp]
[-endcap_cpp endcap_cpp]
[-no_cell_at_top_bottom]
Options#
Switch Name |
Description |
---|---|
|
Master used as a tapcell. |
|
Prefix for the tapcell instances. The default value is |
|
Master used as an endcap. |
|
Prefix for the endcaps instances. The default value is |
|
Distance (in microns) between each tapcell in the checkerboard. |
|
KIV. |
|
Horizontal halo size (in microns) around macros during cut rows. |
|
Vertical halo size (in microns) around macros during cut rows. |
|
Master cell placed at the top and bottom of |
|
Master cell placed at the top and bottom of macros and the core area according the row orientation. This master should be smaller than |
|
Master cell placed at the top and bottom of macros and the core area according the row orientation. This master should be smaller than |
|
Master cell placed at the top and bottom of macros and the core area according the row orientation. |
|
Master cell placed at the top and bottom of macros and the core area according the row orientation. This master should be smaller than |
|
Master cell placed at the top and bottom of macros and the core area according the row orientation |
|
Master cell placed at the corners of macros, according the row orientation. |
|
Master cell placed at the corners of macros, according the row orientation. |
|
Macro cell placed at the corners the core area according the row orientation. |
|
Macro cell placed at the corners the core area according the row orientation. |
|
Option is deprecated. |
|
Option is deprecated. |
|
Option is deprecated. |
Cut Rows#
This command cuts rows.
cut_rows
[-endcap_master endcap_master]
[-halo_width_x halo_x]
[-halo_width_y halo_y]
Options#
Switch Name |
Description |
---|---|
|
Master used as an endcap. |
|
Horizontal halo size (in microns) around macros during cut rows. |
|
Vertical halo size (in microns) around macros during cut rows. |
Only adding boundary/endcap cells#
Place endcaps into the design, the naming for the arguments to place_endcaps
is based on the
LEF58 CLASS
specification foe endcaps.
place_endcaps
[-corner master]
[-edge_corner master]
[-endcap masters]
[-endcap_horizontal masters]
[-endcap_vertical master]
[-prefix prefix]
[-left_top_corner master]
[-right_top_corner master]
[-left_bottom_corner master]
[-right_bottom_corner master]
[-left_top_edge master]
[-right_top_edge master]
[-left_bottom_edge master]
[-right_bottom_edge master]
[-left_edge master]
[-right_edge master]
[-top_edge masters]
[-bottom_edge masters]
Options#
Switch Name |
Description |
---|---|
|
Prefix to use for the boundary cells. Defaults to “PHY_”. |
|
Master for the corner cells on the outer corners. |
|
Master for the corner cells on the inner corners. |
|
Master used as an endcap. |
|
List of masters for the top and bottom row endcaps. (overrides |
|
Master for the left and right row endcaps. (overrides |
|
Master for the corner cells on the outer top left corner. (overrides |
|
Master for the corner cells on the outer top right corner. (overrides |
|
Master for the corner cells on the outer bottom left corner. (overrides |
|
Master for the corner cells on the outer bottom right corner. (overrides |
|
Master for the corner cells on the inner top left corner. (overrides |
|
Master for the corner cells on the inner top right corner. (overrides |
|
Master for the corner cells on the inner bottom left corner. (overrides |
|
Master for the corner cells on the inner bottom right corner. (overrides |
|
Master for the left row endcaps. (overrides |
|
Master for the right row endcaps. (overrides |
|
List of masters for the top row endcaps. (overrides |
|
List of masters for the bottom row endcaps. (overrides |
Only adding Tapcells#
This command is used for tapcell placement only.
place_tapcells
-master tapcell_master
-distance dist
Options#
Switch Name |
Description |
---|---|
|
Master to use for the tapcells. |
|
Distance between tapcells. |
Remove Tapcells/Endcaps#
This command is used for removing tapcells or endcaps based on their prefix.
tapcell_ripup
-tap_prefix tap_prefix
-endcap_prefix endcap_prefix
Options#
Switch Name |
Description |
---|---|
|
Remove tapcells with said prefix. |
|
Remove endcaps with said prefix. |
Example scripts#
You can find script examples for both 45nm and 14nm in ./etc/scripts
./etc/scripts/example_14nm.tcl
./etc/scripts/example_45nm.tcl
Regression tests#
There are a set of regression tests in ./test
. For more information, refer to this section.
Simply run the following script:
./test/regression
Limitations#
FAQs#
Check out GitHub discussion about this tool.
License#
BSD 3-Clause License. See LICENSE file.