Bugfixing multi-DEF reader with LEF cache, adding a testcase. Making unknown vias an error.

This commit is contained in:
Matthias Koefferlein
2025-05-18 22:00:39 +02:00
parent a07d742bee
commit e27e24ff4f
14 changed files with 270 additions and 23 deletions
Binary file not shown.
+20
View File
@@ -0,0 +1,20 @@
VERSION 5.8 ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
DESIGN comp_a ;
UNITS DISTANCE MICRONS 1000 ;
DIEAREA ( 0 0 ) ( 10000 2000 ) ;
VIAS 2 ;
- via1 + VIARULE M1M2_PR + CUTSIZE 150 150 + LAYERS met1 via met2 + CUTSPACING 170 170 + ENCLOSURE 85 165 55 85 + ROWCOL 2 2 ;
- via2 + VIARULE M2M3_PR + CUTSIZE 200 200 + LAYERS met2 via2 met3 + CUTSPACING 200 200 + ENCLOSURE 40 85 65 65 + ROWCOL 3 3 ;
END VIAS
SPECIALNETS 2 ;
- VGND ( PIN VGND ) ( * VNB ) ( * VGND ) + USE GROUND
+ ROUTED met1 480 + SHAPE FOLLOWPIN ( 0 1000 ) ( 2000 1000 )
NEW met1 0 + SHAPE STRIPE ( 2000 1000 ) via1
+ ROUTED met2 480 + SHAPE FOLLOWPIN ( 2000 1000 ) ( 4000 1000 )
NEW met2 0 + SHAPE STRIPE ( 4000 1000 ) via2 ;
END SPECIALNETS
END DESIGN
+12
View File
@@ -0,0 +1,12 @@
VERSION 5.7 ;
NOWIREEXTENSIONATPIN ON ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO comp_a
CLASS BLOCK ;
FOREIGN comp_a ;
ORIGIN 0.000 0.000 ;
SIZE 10000.000 BY 2000.000 ;
END comp_a
END LIBRARY
+20
View File
@@ -0,0 +1,20 @@
VERSION 5.8 ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
DESIGN comp_b ;
UNITS DISTANCE MICRONS 1000 ;
DIEAREA ( 0 0 ) ( 10000 2000 ) ;
VIAS 2 ;
- via1 + VIARULE M1M2_PR + CUTSIZE 150 150 + LAYERS met1 via met2 + CUTSPACING 170 170 + ENCLOSURE 85 165 55 85 + ROWCOL 2 1 ;
- via2 + VIARULE M2M3_PR + CUTSIZE 200 200 + LAYERS met2 via2 met3 + CUTSPACING 200 200 + ENCLOSURE 40 85 65 65 + ROWCOL 3 2 ;
END VIAS
SPECIALNETS 2 ;
- VGND ( PIN VGND ) ( * VNB ) ( * VGND ) + USE GROUND
+ ROUTED met1 480 + SHAPE FOLLOWPIN ( 0 1000 ) ( 2000 1000 )
NEW met1 0 + SHAPE STRIPE ( 2000 1000 ) via1
+ ROUTED met2 480 + SHAPE FOLLOWPIN ( 2000 1000 ) ( 4000 1000 )
NEW met2 0 + SHAPE STRIPE ( 4000 1000 ) via2 ;
END SPECIALNETS
END DESIGN
+12
View File
@@ -0,0 +1,12 @@
VERSION 5.7 ;
NOWIREEXTENSIONATPIN ON ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO comp_b
CLASS BLOCK ;
FOREIGN comp_b ;
ORIGIN 0.000 0.000 ;
SIZE 10000.000 BY 2000.000 ;
END comp_b
END LIBRARY
+16
View File
@@ -0,0 +1,16 @@
VERSION 5.8 ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
DESIGN comp_c ;
UNITS DISTANCE MICRONS 1000 ;
DIEAREA ( 0 0 ) ( 10000 2000 ) ;
SPECIALNETS 2 ;
- VGND ( PIN VGND ) ( * VNB ) ( * VGND ) + USE GROUND
+ ROUTED met1 480 + SHAPE FOLLOWPIN ( 0 1000 ) ( 2000 1000 )
NEW met1 0 + SHAPE STRIPE ( 2000 1000 ) via1
+ ROUTED met2 480 + SHAPE FOLLOWPIN ( 2000 1000 ) ( 4000 1000 )
NEW met2 0 + SHAPE STRIPE ( 4000 1000 ) via2 ;
END SPECIALNETS
END DESIGN
+12
View File
@@ -0,0 +1,12 @@
VERSION 5.7 ;
NOWIREEXTENSIONATPIN ON ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
MACRO comp_c
CLASS BLOCK ;
FOREIGN comp_c ;
ORIGIN 0.000 0.000 ;
SIZE 10000.000 BY 2000.000 ;
END comp_c
END LIBRARY
+7
View File
@@ -0,0 +1,7 @@
met1 VIA,LEFPIN,PIN,SPNET,NET 1 0
via VIA,LEFPIN,PIN,SPNET,NET 2 0
met2 VIA,LEFPIN,PIN,SPNET,NET 3 0
via2 VIA,LEFPIN,PIN,SPNET,NET 4 0
met3 VIA,LEFPIN,PIN,SPNET,NET 5 0
DIEAREA ALL 100 0
+13
View File
@@ -0,0 +1,13 @@
VERSION 5.8 ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
DESIGN caravel ;
UNITS DISTANCE MICRONS 1000 ;
DIEAREA ( 0 0 ) ( 10000 10000 ) ;
COMPONENTS 4 ;
- comp_a comp_a + PLACED ( 0 0 ) N ;
- comp_b comp_b + PLACED ( 0 2000 ) N ;
- comp_c comp_c + PLACED ( 0 4000 ) N ;
#- comp_d comp_d + PLACED ( 0 4000 ) N ;
END COMPONENTS
END DESIGN
Binary file not shown.
+89
View File
@@ -0,0 +1,89 @@
VERSION 5.7 ;
BUSBITCHARS "[]" ;
DIVIDERCHAR "/" ;
USEMINSPACING OBS OFF ;
UNITS
DATABASE MICRONS 1000 ;
END UNITS
MANUFACTURINGGRID 0.005 ;
LAYER met1
TYPE ROUTING ;
DIRECTION HORIZONTAL ;
PITCH 0.34 ;
OFFSET 0.17 ;
WIDTH 0.14 ;
END met1
LAYER via
TYPE CUT ;
WIDTH 0.15 ;
SPACING 0.17 ;
END via
LAYER met2
TYPE ROUTING ;
DIRECTION VERTICAL ;
PITCH 0.46 ;
OFFSET 0.23 ;
WIDTH 0.14 ;
END met2
LAYER via2
TYPE CUT ;
WIDTH 0.2 ;
SPACING 0.2 ;
END via2
LAYER met3
TYPE ROUTING ;
DIRECTION HORIZONTAL ;
PITCH 0.68 ;
OFFSET 0.34 ;
WIDTH 0.3 ;
END met3
VIA via1 DEFAULT
LAYER via ;
RECT -0.075 -0.075 0.075 0.075 ;
LAYER met1 ;
RECT -0.16 -0.24 0.16 0.24 ;
LAYER met2 ;
RECT -0.13 -0.24 0.13 0.24 ;
END via1
VIARULE M1M2_PR GENERATE
LAYER met1 ;
ENCLOSURE 0.085 0.055 ;
LAYER met2 ;
ENCLOSURE 0.055 0.085 ;
LAYER via ;
RECT -0.075 -0.075 0.075 0.075 ;
SPACING 0.32 BY 0.32 ;
END M1M2_PR
VIA via2 DEFAULT
LAYER via2 ;
RECT -0.1 -0.1 0.1 0.1 ;
LAYER met2 ;
RECT -0.14 -0.24 0.14 0.24 ;
LAYER met3 ;
RECT -0.165 -0.165 0.165 0.165 ;
END via2
VIARULE M2M3_PR GENERATE
LAYER met2 ;
ENCLOSURE 0.04 0.085 ;
LAYER met3 ;
ENCLOSURE 0.065 0.065 ;
LAYER via2 ;
RECT -0.1 -0.1 0.1 0.1 ;
SPACING 0.4 BY 0.4 ;
END M2M3_PR
END LIBRARY