mirror of
https://github.com/The-OpenROAD-Project/OpenLane.git
synced 2026-05-29 00:23:55 +08:00
Expose magic polygon subcells (#1566)
through MAGIC_GDS_POLYGON_SUBCELLS minor formatting changes to other variables' documentation
This commit is contained in:
@@ -71,6 +71,7 @@ set ::env(MAGIC_CONVERT_DRC_TO_RDB) 1
|
||||
set ::env(MAGIC_DEF_NO_BLOCKAGES) 1
|
||||
set ::env(MAGIC_DEF_LABELS) 1
|
||||
set ::env(MAGIC_GDS_ALLOW_ABSTRACT) 0
|
||||
set ::env(MAGIC_GDS_POLYGON_SUBCELLS) 0
|
||||
|
||||
### Klayout-Specific
|
||||
set ::env(RUN_KLAYOUT) 1
|
||||
|
||||
@@ -258,8 +258,9 @@ These variables worked initially, but they were too sky130 specific and will be
|
||||
| `MAGIC_INCLUDE_GDS_POINTERS` | A flag to choose whether to include GDS pointers in the generated mag files or not. 1 = Enabled, 0 = Disabled <br> (Default: `0` )|
|
||||
| `MAGIC_DISABLE_HIER_GDS` | A flag to disable cif hier and array during GDSII writing.* 1=Enabled `<so this hier gds will be disabled>`, 0=Disabled `<so this hier gds will be enabled>`. <br> (Default: `1` )|
|
||||
| `MAGIC_DEF_NO_BLOCKAGES` | A flag to choose whether blockages are read with DEF files or not (they are read as a sheet of metal by Magic). 1 = No Blockages, 0 = Blockages as Metal Sheets <br> (Default: `1` )|
|
||||
| `MAGIC_DEF_LABELS` | A flag to choose whether labels are read with DEF files or not. From the magic docs: "The '-labels' option to the 'def read' command causes each net in the NETS and SPECIALNETS sections of the DEF file to be annotated with a label having the net name as the label text." 1 = Labels, 0 = Unlabeled <br> (Default: `1` )|
|
||||
| `MAGIC_GDS_ALLOW_ABSTRACT` | A flag to allow abstract view of macros during magic gds generation" 1 = Allow, 0 = Disallow <br> (Default: `0` )|
|
||||
| `MAGIC_DEF_LABELS` | A flag to choose whether labels are read with DEF files or not. From magic docs: "The '-labels' option to the 'def read' command causes each net in the NETS and SPECIALNETS sections of the DEF file to be annotated with a label having the net name as the label text." 1 = Labels, 0 = Unlabeled <br> (Default: `1` )|
|
||||
| `MAGIC_GDS_ALLOW_ABSTRACT` | A flag to allow abstract view of macros during magic gds generation. 1 = Allow, 0 = Disallow <br> (Default: `0` )|
|
||||
| `MAGIC_GDS_POLYGON_SUBCELLS` | A flag to enable polygon subcells in magic for gds read potentially speeding up magic. From magic docs: "Put non-Manhattan polygons. This prevents interations with other polygons on the same plane and so reduces tile splitting" 1 = Allow, 0 = Disallow <br> (Default: `0` )|
|
||||
> * Tim Edwards's Explanation on disabling hier gds: The following is an explanation by Tim Edwards, provided in a slack thread, on how this affects the GDS writing process: "Magic can take a very long time writing out GDS while checking hierarchical interactions in a standard cell layout. If your design is all digital, I recommend using "gds *hier write disable" before "gds write" so that it does not try to resolve hierarchical interactions (since by definition, standard cells are designed to just sit next to each other without creating DRC issues). That can actually make the difference between a 20 hour GDS write and a 2 minute GDS write. For a standard cell design that takes up the majority of the user space, a > 24 hour write time (without disabling the hierarchy checks) would not surprise me."
|
||||
|
||||
### LVS
|
||||
|
||||
@@ -64,6 +64,11 @@ if { $::env(MAGIC_GENERATE_GDS) } {
|
||||
# GDS data gets copied verbatim
|
||||
gds readonly true
|
||||
gds rescale false
|
||||
|
||||
if { $::env(MAGIC_GDS_POLYGON_SUBCELLS) } {
|
||||
gds polygon subcells true
|
||||
}
|
||||
|
||||
if { [info exist ::env(EXTRA_GDS_FILES)] } {
|
||||
set gds_files_in $::env(EXTRA_GDS_FILES)
|
||||
foreach gds_file $gds_files_in {
|
||||
|
||||
@@ -21,6 +21,10 @@ drc off
|
||||
gds readonly true
|
||||
gds rescale false
|
||||
|
||||
if { $::env(MAGIC_GDS_POLYGON_SUBCELLS) } {
|
||||
gds polygon subcells true
|
||||
}
|
||||
|
||||
if { [info exist ::env(EXTRA_GDS_FILES)] } {
|
||||
set gds_files_in $::env(EXTRA_GDS_FILES)
|
||||
foreach gds_file $gds_files_in {
|
||||
|
||||
Reference in New Issue
Block a user