mirror of https://github.com/efabless/caravel.git
60 lines
1.8 KiB
Bash
Executable File
60 lines
1.8 KiB
Bash
Executable File
#!/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
|
|
|