This commit creates a LEF abstract view of the top level, which

establishes all the pin names, positions, classes, and uses.  Adds
a script which uses the LEF abstract view to annotate the top level
layouts for caravel and caravan with the chip pins (not yet run---
waiting for a valid top level layout after top-level routing).
Also:  Updated the copyright block to increase the chip version
number and update the date.
This commit is contained in:
Tim Edwards 2022-10-11 16:19:06 -04:00
parent fe96857e5e
commit 0fd05dde39
4 changed files with 4168 additions and 55 deletions

4038
lef/caravel.lef Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
magic
tech sky130A
magscale 1 2
timestamp 1649268499
timestamp 1665519328
<< fillblock >>
rect -262 -266 31304 2764
rect -140 -5140 35048 -1424
rect 26 -10348 13322 -6358
rect 26 -10348 17310 -6358
use font_2D font_2D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786817
transform 1 0 8038 0 1 -4642
@ -14,6 +14,10 @@ use font_4B font_4B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766293
transform 1 0 33598 0 1 -4282
box 0 0 1080 2520
use font_4F font_4F_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598767855
transform 1 0 336 0 1 -9314
box 0 0 1080 2520
use font_6B font_6B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776472
transform 1 0 11278 0 1 -4282
@ -30,10 +34,6 @@ use font_6C font_6C_2
timestamp 1598776550
transform 1 0 5878 0 1 -4282
box 0 0 360 2520
use font_6C font_6C_3
timestamp 1598776550
transform 1 0 5588 0 1 -9278
box 0 0 360 2520
use font_6E font_6E_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776997
transform 1 0 27838 0 1 -4282
@ -50,6 +50,10 @@ use font_6F font_6F_2
timestamp 1598777049
transform 1 0 23518 0 1 -4282
box 0 0 1080 1800
use font_6F font_6F_3
timestamp 1598777049
transform 1 0 4610 0 1 -9314
box 0 0 1080 1800
use font_20 font_20_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598785497
transform 1 0 9360 0 1 0
@ -80,27 +84,23 @@ transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 9074 0 1 -9234
transform 1 0 12898 0 1 -9300
box 0 0 1080 2520
use font_32 font_32_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 7634 0 1 -9234
transform 1 0 11458 0 1 -9300
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 10514 0 1 -9234
transform 1 0 14338 0 1 -9300
box 0 0 1080 2520
use font_32 font_32_2
timestamp 1598787041
transform 1 0 11914 0 1 -9234
transform 1 0 15738 0 1 -9300
box 0 0 1080 2520
use font_34 font_34_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787136
transform 1 0 12014 0 1 6
box 0 0 1080 2520
use font_41 font_41_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763107
transform 1 0 290 0 1 -9294
use font_35 font_35_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787165
transform 1 0 12014 0 1 -2
box 0 0 1080 2520
use font_43 font_43_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763351
@ -154,6 +154,14 @@ use font_62 font_62_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_62 font_62_1
timestamp 1598775406
transform 1 0 6024 0 1 -9316
box 0 0 1080 2520
use font_63 font_63_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598836169
transform 1 0 1780 0 1 -9314
box 0 0 1080 1800
use font_65 font_65_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775915
transform 1 0 7200 0 1 0
@ -178,6 +186,10 @@ use font_65 font_65_5
timestamp 1598775915
transform 1 0 26398 0 1 -4282
box 0 0 1080 1800
use font_65 font_65_6
timestamp 1598775915
transform 1 0 7454 0 1 -9316
box 0 0 1080 1800
use font_66 font_66_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775974
transform 1 0 21680 0 1 0
@ -186,18 +198,10 @@ use font_67 font_67_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776042
transform 1 0 4438 0 1 -4282
box 0 -720 1080 1800
use font_69 font_69_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776260
transform 1 0 4530 0 1 -9278
box 0 0 720 2520
use font_70 font_70_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777090
transform 1 0 24958 0 1 -4282
box 0 -720 1080 1800
use font_70 font_70_1
timestamp 1598777090
transform 1 0 1720 0 1 -9266
box 0 -720 1080 1800
use font_72 font_72_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777237
transform 1 0 2880 0 1 0
@ -206,9 +210,9 @@ use font_72 font_72_1
timestamp 1598777237
transform 1 0 20638 0 1 -4282
box 0 0 1080 1800
use font_72 font_72_2
use font_72 font_72_3
timestamp 1598777237
transform 1 0 3120 0 1 -9280
transform 1 0 8868 0 1 -9316
box 0 0 1080 1800
use font_73 font_73_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777283
@ -222,6 +226,10 @@ use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_74 font_74_1
timestamp 1598777367
transform 1 0 3194 0 1 -9314
box 0 0 1080 2160
use font_76 font_76_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777472
transform 1 0 5760 0 1 0

View File

@ -1,11 +1,11 @@
magic
tech sky130A
magscale 1 2
timestamp 1649951985
timestamp 1665519472
<< fillblock >>
rect -262 -266 31304 2764
rect -140 -5140 35048 -1424
rect -18 -10162 13166 -6340
rect -18 -10162 17506 -6340
use font_2D font_2D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786817
transform 1 0 8038 0 1 -4642
@ -14,15 +14,15 @@ use font_4B font_4B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766293
transform 1 0 33598 0 1 -4282
box 0 0 1080 2520
use font_4F font_4F_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598767855
transform 1 0 306 0 1 -9238
box 0 0 1080 2520
use font_6B font_6B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776472
transform 1 0 11278 0 1 -4282
box 0 0 1080 2520
use font_6C font_6C_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776550
transform 1 0 5640 0 1 -9282
box 0 0 360 2520
use font_6C font_6C_1
use font_6C font_6C_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776550
transform 1 0 26000 0 1 0
box 0 0 360 2520
@ -50,6 +50,10 @@ use font_6F font_6F_2
timestamp 1598777049
transform 1 0 23518 0 1 -4282
box 0 0 1080 1800
use font_6F font_6F_3
timestamp 1598777049
transform 1 0 4594 0 1 -9254
box 0 0 1080 1800
use font_20 font_20_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598785497
transform 1 0 9360 0 1 0
@ -80,27 +84,23 @@ transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 8812 0 1 -9272
transform 1 0 13212 0 1 -9272
box 0 0 1080 2520
use font_32 font_32_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 7372 0 1 -9272
transform 1 0 11772 0 1 -9272
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 10252 0 1 -9272
transform 1 0 14652 0 1 -9272
box 0 0 1080 2520
use font_32 font_32_2
timestamp 1598787041
transform 1 0 11664 0 1 -9273
transform 1 0 16064 0 1 -9273
box 0 0 1080 2520
use font_33 font_33_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787077
transform 1 0 11998 0 1 -8
box 0 0 1080 2520
use font_41 font_41_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763107
transform 1 0 306 0 1 -9282
use font_34 font_34_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787136
transform 1 0 11984 0 1 -30
box 0 0 1080 2520
use font_43 font_43_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763351
@ -158,7 +158,19 @@ use font_62 font_62_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_65 font_65_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
use font_62 font_62_1
timestamp 1598775406
transform 1 0 6024 0 1 -9268
box 0 0 1080 2520
use font_63 font_63_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598836169
transform 1 0 1736 0 1 -9238
box 0 0 1080 1800
use font_65 font_65_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775915
transform 1 0 7454 0 1 -9284
box 0 0 1080 1800
use font_65 font_65_1
timestamp 1598775915
transform 1 0 20240 0 1 0
box 0 0 1080 1800
@ -186,18 +198,10 @@ use font_67 font_67_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776042
transform 1 0 4438 0 1 -4282
box 0 -720 1080 1800
use font_69 font_69_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776260
transform 1 0 4570 0 1 -9282
box 0 0 720 2520
use font_70 font_70_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777090
transform 1 0 24958 0 1 -4282
box 0 -720 1080 1800
use font_70 font_70_1
timestamp 1598777090
transform 1 0 1732 0 1 -9276
box 0 -720 1080 1800
use font_72 font_72_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777237
transform 1 0 2880 0 1 0
@ -208,7 +212,7 @@ transform 1 0 20638 0 1 -4282
box 0 0 1080 1800
use font_72 font_72_2
timestamp 1598777237
transform 1 0 3158 0 1 -9282
transform 1 0 8884 0 1 -9284
box 0 0 1080 1800
use font_73 font_73_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777283
@ -222,6 +226,10 @@ use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_74 font_74_1
timestamp 1598777367
transform 1 0 3166 0 1 -9254
box 0 0 1080 2160
use font_76 font_76_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777472
transform 1 0 5760 0 1 0

View File

@ -0,0 +1,59 @@
#!/bin/bash
#
# create_top_pins.sh ---
#
# Generate the top level pins for caravel and caravan.
# Most of the work is done by importing the LEF file for caravel (which has the
# same content as caravan), then formatting the labels.
#
# Run this script from the mag/ directory
#
# This script may be run on a layout that already has pins without affecting the
# layout.
echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null
echo ${PDK:=sky130A} > /dev/null
magic -dnull -noconsole -rcfile ${PDK_ROOT}/${PDK}/libs.tech/magic/${PDK}.magicrc << EOF
drc off
set pins {resetb clock flash_clk flash_csb flash_io0 flash_io1 gpio \
mprj_io\[0\] mprj_io\[1\] mprj_io\[2\] mprj_io\[3\] mprj_io\[4\] \
mprj_io\[5\] mprj_io\[6\] mprj_io\[7\] mprj_io\[8\] mprj_io\[9\] \
mprj_io\[10\] mprj_io\[11\] mprj_io\[12\] mprj_io\[13\] mprj_io\[14\] \
mprj_io\[15\] mprj_io\[16\] mprj_io\[17\] mprj_io\[18\] mprj_io\[19\] \
mprj_io\[20\] mprj_io\[21\] mprj_io\[22\] mprj_io\[23\] mprj_io\[24\] \
mprj_io\[25\] mprj_io\[26\] mprj_io\[27\] mprj_io\[28\] mprj_io\[29\] \
mprj_io\[30\] mprj_io\[31\] mprj_io\[32\] mprj_io\[33\] mprj_io\[34\] \
mprj_io\[35\] mprj_io\[36\] mprj_io\[37\] \
vccd vccd1 vccd2 vdda vdda1 vdda1_2 vdda2 vddio vddio_2 \
vssa vssa1 vssa1_2 vssa2 vssd vssd1 vssd2 vssio vssio_2}
load caravel
select top cell
expand
lef read ../lef/caravel.lef -annotate
foreach pin \$pins {
goto \$pin
select area label
setlabel font FreeSans
setlabel size 10um
setlabel just c
}
writeall force caravel
load caravan
select top cell
expand
# Use caravel.lef to annotate caravan top level
lef read ../lef/caravel.lef -annotate
foreach pin \$pins {
goto \$pin
select area label
setlabel font FreeSans
setlabel size 10um
setlabel just c
}
writeall force caravan
quit -noprompt
EOF