Mitch Bailey

10/18/2021, 5:06 PM
@User I'm using netgen 1.5.205 in docker and getting a segfault on the
LVS. I don't get the segfault on the same data when I use the native netgen (with a few unrelated changes). I'm thinking that the problem may be in the spice libraries. This is the script that I'm running.
readnet spice $::env(PDK_ROOT)/sky130A/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice 1
readnet spice $::env(PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/spice/sky130_ef_io.spice 1
readnet spice $::env(PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/spice/sky130_fd_io.spice 1
lvs {chip_io/runs/cvc/results/magic/chip_io.gds.spice chip_io} {../verilog/gl/chip_io.v chip_io} $::env(PDK_ROOT)/sky130A/ chip_io/runs/cvc/results/lvs/chip_io.lvs.gds.log -json
From previous discussions, I know that this is not the canonical way to combine netlists, but it appears to work. One problem that I'm noticing, is that the
command outputs are not logged anywhere. Is there a way to combine those with the LVS log output? Reading the
file, gives the following error message.
Parameter list mismatch in sky130_fd_io__signal_5_sym_hv_local_5termclamp_q0: Not enough parameters in call!
line number 1824 = 'Xclamp_q0 VSSD VDDIO VSSD VDDIO PAD sky130_fd_io__signal_5_sym_hv_local_5term'
However, this does not cause a fatal error, and LVS begins. Is there anyway to have netgen refuse to process files with errors? This may be what's causing the segfault in the initial
. I'll fix the cdl and report what happens. You can create the extracted netlist by running
flow.tcl -design chip_io -lvs -tag cvc -gds ../gds/chip_io.gds -net /dev/null
in the
directory in docker.