Is your setup file correct? `.../netgen/sky130A_se...
# lvs
m
Is your setup file correct?
.../netgen/sky130A_setup.tcl
Check your netgen output for error messages (ie. can't find file, etc.) Also, I recommend putting the layout netlist first and the schematic netlist second. From the setup file.
Copy code
# NOTE:  In accordance with the LVS manager GUI, the schematic is
# always circuit2, so some items like property "par1" only need to
# be specified for circuit2.
m
Oh man. You are exactly right. I had accidentally broken the path to the config file (in the last message I had just truncated the path to keep the message clear). Oddly, however, I don’t see any error messages about no config file or a bad path. I have also swapped the layout and schematic netlists. Thank you so much for your help! I’m sorry it was such a stupid mistake.
m
The error messages don't appear in the log file but you should be able to see them in the stdout.
m
Copy code
netgen -batch lvs "./xschem/user_analog_project_wrapper.spice user_analog_project_wrapper" "./mag/user_analog_project_wrapper.spice user_analog_project_wrapper" ./netgen/sky130A_setup.tcl ./netgen/user_analog_project_wrapper_comp.out
Netgen 1.5.219 compiled on Sun Jul 10 14:34:31 UTC 2022
Warning: netgen command 'format' use fully-qualified name '::netgen::format'
Warning: netgen command 'global' use fully-qualified name '::netgen::global'
Reading netlist file ./xschem/user_analog_project_wrapper.spice
Call to undefined subcircuit sar-adc
Creating placeholder cell definition.
Call to undefined subcircuit sky130_fd_pr__pfet_01v8_hvt
Creating placeholder cell definition.
Call to undefined subcircuit sky130_fd_pr__nfet_01v8
Creating placeholder cell definition.
Call to undefined subcircuit sky130_fd_sc_hd__nand2_2
Creating placeholder cell definition.
Call to undefined subcircuit sky130_fd_sc_hd__nor2_2
Creating placeholder cell definition.
Reading netlist file ./mag/user_analog_project_wrapper.spice
Call to undefined subcircuit sky130_fd_pr__pfet_01v8_hvt
Creating placeholder cell definition.
Call to undefined subcircuit sky130_fd_pr__nfet_01v8
Creating placeholder cell definition.
Comparison output logged to file ./netgen/user_analog_project_wrapper_comp.out
Logging to file "./netgen/user_analog_project_wrapper_comp.out" enabled
Circuit sky130_fd_pr__pfet_01v8_hvt contains no devices.
Circuit sky130_fd_pr__nfet_01v8 contains no devices.

Contents of circuit 1:  Circuit: 'sky130_fd_sc_hd__and2_0'
Circuit sky130_fd_sc_hd__and2_0 contains 6 device instances.
  Class: sky130_fd_pr__nfet_01v8 instances:   3
  Class: sky130_fd_pr__pfet_01v8_hvt instances:   3
Circuit contains 9 nets.
Contents of circuit 2:  Circuit: 'sky130_fd_sc_hd__and2_0'
Circuit sky130_fd_sc_hd__and2_0 contains 6 device instances.
  Class: sky130_fd_pr__nfet_01v8 instances:   3
  Class: sky130_fd_pr__pfet_01v8_hvt instances:   3
Circuit contains 9 nets.

Circuit 1 contains 6 devices, Circuit 2 contains 6 devices.
Circuit 1 contains 9 nets,    Circuit 2 contains 9 nets.

  Flattening non-matched subcircuits sky130_fd_sc_hd__and2_0 sky130_fd_sc_hd__and2_0

Flattening instances of sky130_fd_sc_hd__and2_0 in file ./xschem/user_analog_project_wrapper.spice
Flattening instances of sky130_fd_sc_hd__and2_0 in file ./mag/user_analog_project_wrapper.spice

Contents of circuit 1:  Circuit: 'sar-adc'
Circuit sar-adc contains 10 device instances.
  Class: sky130_fd_pr__nfet_01v8 instances:   3
  Class: sky130_fd_pr__pfet_01v8_hvt instances:   3
  Class: sky130_fd_pr__res_generic_m1 instances:   4
Circuit contains 11 nets.
Contents of circuit 2:  Circuit: 'sar-adc'
Circuit sar-adc contains 10 device instances.
  Class: sky130_fd_pr__nfet_01v8 instances:   3
  Class: sky130_fd_pr__pfet_01v8_hvt instances:   3
  Class: sky130_fd_pr__res_generic_m1 instances:   4
Circuit contains 11 nets.

Circuit 1 contains 10 devices, Circuit 2 contains 10 devices.
Circuit 1 contains 11 nets,    Circuit 2 contains 11 nets.

  Flattening non-matched subcircuits sar-adc sar-adc

Flattening instances of sar-adc in file ./xschem/user_analog_project_wrapper.spice
Flattening instances of sar-adc in file ./mag/user_analog_project_wrapper.spice

Contents of circuit 1:  Circuit: 'user_analog_project_wrapper'
Circuit user_analog_project_wrapper contains 13 device instances.
  Class: sky130_fd_pr__nfet_01v8 instances:   3
  Class: sky130_fd_pr__pfet_01v8_hvt instances:   3
  Class: sky130_fd_pr__res_generic_m1 instances:   4
  Class: sky130_fd_pr__res_generic_m3 instances:   3
Circuit contains 14 nets, and 651 disconnected pins.
Contents of circuit 2:  Circuit: 'user_analog_project_wrapper'
Circuit user_analog_project_wrapper contains 13 device instances.
  Class: sky130_fd_pr__nfet_01v8 instances:   3
  Class: sky130_fd_pr__pfet_01v8_hvt instances:   3
  Class: sky130_fd_pr__res_generic_m1 instances:   4
  Class: sky130_fd_pr__res_generic_m3 instances:   3
Circuit contains 14 nets, and 651 disconnected pins.

Circuit 1 contains 13 devices, Circuit 2 contains 13 devices.
Circuit 1 contains 14 nets,    Circuit 2 contains 14 nets.

Result: Netlists do not match.
Logging to file "./netgen/user_analog_project_wrapper_comp.out" disabled
LVS Done.
Hmmm….Is there debugging flags or envs?
m
This is the output from a correct setup, I believe. Compare it to the output with a bad setup file.
m
Huh. That’s the old output without a setup file
Oh, I found a line now: with a setup file there is a line that says,
Reading setup file ./netgen/sky130A_setup.tcl
So I must look for that line in the future. Thanks a lot!
👍 1