Corrected the CLASS for custom macros in sky130_ef_sc_hd, and modified the
fix_digital_lef.py script to correct the CLASS of vendor standard cells
that need to be set to CLASS CORE SPACER. Solves open_pdks github issue
tracker issue #270 from Arman Avetisyan.
diff --git a/VERSION b/VERSION
index be2a1fc..6698d2c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.326
+1.0.327
diff --git a/sky130/custom/scripts/fix_digital_lef.py b/sky130/custom/scripts/fix_digital_lef.py
index d0d13e0..5cf24a9 100755
--- a/sky130/custom/scripts/fix_digital_lef.py
+++ b/sky130/custom/scripts/fix_digital_lef.py
@@ -46,12 +46,17 @@
if mmatch:
macroname = mmatch.group(1)
- # Check for "CLASS" related to "DIODE"
+ # Check for "CLASS" related to "DIODE" and also fill/decap cells
cmatch = classrex.match(line)
if cmatch and macroname:
if '__diode_' in macroname:
- line = ' CLASS CORE ANTENNACELL ;'
- modified = True
+ if 'ANTENNACELL' not in line:
+ line = ' CLASS CORE ANTENNACELL ;'
+ modified = True
+ elif '__fill_' in macroname or '__decap_' in macroname:
+ if 'SPACER' not in line:
+ line = ' CLASS CORE SPACER ;'
+ modified = True
fixedlines.append(line)
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef
index e790b49..112d043 100644
--- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef
+++ b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef
@@ -3,7 +3,7 @@
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_ef_sc_hd__decap_12
- CLASS BLOCK ;
+ CLASS CORE SPACER ;
FOREIGN sky130_ef_sc_hd__decap_12 ;
ORIGIN 0.000 0.000 ;
SIZE 5.520 BY 2.720 ;
diff --git a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef
index 1087873..5e28142 100644
--- a/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef
+++ b/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__fill_12.lef
@@ -3,7 +3,7 @@
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO sky130_ef_sc_hd__fill_12
- CLASS CORE ;
+ CLASS CORE SPACER ;
FOREIGN sky130_ef_sc_hd__fill_12 ;
ORIGIN 0.000 0.000 ;
SIZE 5.520 BY 2.720 ;