2021-12-07 09:06:35 -06:00
|
|
|
#!/bin/bash
|
2022-04-19 21:05:27 -05:00
|
|
|
# Run top-level LVS on caravel. The extraction in magic does not include the SoC,
|
|
|
|
# which is abstracted.
|
2021-11-21 21:07:16 -06:00
|
|
|
#
|
2021-12-17 21:27:32 -06:00
|
|
|
echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null
|
2022-04-09 13:29:19 -05:00
|
|
|
echo ${PDK:=sky130A} > /dev/null
|
2021-12-07 09:32:22 -06:00
|
|
|
|
2022-04-19 21:05:27 -05:00
|
|
|
cd ../mag
|
2022-04-08 11:05:58 -05:00
|
|
|
magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF
|
2021-12-02 19:45:39 -06:00
|
|
|
drc off
|
|
|
|
crashbackups stop
|
|
|
|
load caravel
|
|
|
|
select top cell
|
|
|
|
expand
|
2022-08-27 01:03:00 -05:00
|
|
|
extract no all ;# <-- large speed-up
|
2021-12-02 19:45:39 -06:00
|
|
|
extract do local
|
|
|
|
extract all
|
|
|
|
ext2spice lvs
|
|
|
|
ext2spice
|
|
|
|
EOF
|
2021-12-07 21:21:49 -06:00
|
|
|
rm -f *.ext
|
2021-12-02 19:45:39 -06:00
|
|
|
|
2021-11-21 21:07:16 -06:00
|
|
|
export NETGEN_COLUMNS=60
|
2022-04-19 21:05:27 -05:00
|
|
|
netgen -batch lvs "caravel.spice caravel" "../verilog/gl/caravel.v caravel" \
|
|
|
|
$PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl caravel_comp.out
|
|
|
|
|
2022-08-27 01:03:00 -05:00
|
|
|
# mv caravel.spice ../spi/lvs/caravel_lvs.spice
|
|
|
|
mv caravel.spice ../spi/lvs/caravel.spice
|
2022-04-19 21:05:27 -05:00
|
|
|
mv caravel_comp.out ../signoff/
|
|
|
|
exit 0
|