Open d-m-bailey opened 3 years ago
@d-m-bailey: Thanks!
I have renamed the old device names to the new sky130 equivalents in the SRAM spice netlist we got from OpenRAM. Please check if this helps: https://github.com/efabless/sky130_sram_macros/blob/sky130_name_mapping/sram_1rw1r_32_256_8_sky130/sram_1rw1r_32_256_8_sky130.lvs.converted.sp
For running device level LVS and CVC on other projects on the MPW (assuming user_project_wrapper
is the only difference).
gds/user_project_wrapper.gds
verilog/gl/user_project_wrapper.v
awk '/ \(/ {print $1}' verilog/gl/user_project_wrapper.v | sort -u | grep -v sky130_fd_sc_hd__
openlane/user_project_wrapper/config.tcl
set ::env(LVS_EXTRA_GATE_LEVEL_VERILOG) "
$script_dir/../../verilog/gl/submodule1.v
$script_dir/../../verilog/gl/submodule2.v
..."
flow.tcl -design user_project_wrapper -tag lvs -lvs -net ../verilog/gl/user_project_wrapper.v -gds ../gds/user_project_wrapper.gds
cat > spi2cdl <<'!'
# /bin/bash
mkdir -p $1/runs/lvs/results/cvc
awk '
/^X. .pr[^ ]fet.=/ {
print "M" $0;
next;
}
/^X.*prdiode/ {
print "D" $0;
next;
}
/^X.pr__cap_mimm3. / {
print "C" $0;
next;
}
/^X.prres_xhigh_po / {
$4 = "";
print "R" $0;
next;
}
/^X.*prresgeneric.d/ {
$6 = sprintf("$SUB=%s %s", $4, $6);
$4 = "";
print "R" $0;
next;
}
{ print $0; }
' $1/runs/lvs/results/magic/$1.gds.spice > $1/runs/lvs/results/cvc/$1.cdl
!
This issue is an on going list of the device level LVS and CVC issues with caravel modules. origin/develop commit 384a7d517a82c49a0c4411c8132ce3f97eebfad5
magic 8.3.133
The indentation of the list is intended to show the hierachy. Unless otherwise indicated, CVC was run on the netlist extracted from GDS.