Tim Edwards
05/25/2024, 1:54 PMcomp.out
output has entries like this:
Net: dummy_11 |Net: sky130_fd_pr__nfet_01v8_4MHCRP:XM3/a_
sky130_fd_pr__nfet_01v8/proxy4 = 1 | sky130_fd_pr__nfet_01v8/(1|3) = 2
Since you specified the schematic netlist first (usually it's the other way around, that's why it's called "LVS" and not "SVL"), the left-hand side is the schematic netlist. The "proxy4" pin name indicates that there was no pin 4 (bulk terminal) on the nFET ("M3").
If I go back to the netlist source, I see entries like this:
XM3 VSS out VSS sky130_fd_pr__nfet_01v8 L=10 W=100 nf=4 m=1
This is an invalid entry. There are only three pins (VSS, out, VSS) passed to the nFET, which is a 4-terminal device. Normally xschem won't do that, but my guess (without being able to see the schematic) is that you used one of the 3-terminal device symbols, and the bulk terminal, which is a property of the symbol rather than a pin, was left as an empty string, instead of being set to "VSS".Miguel Correa
05/25/2024, 2:05 PMMiguel Correa
05/25/2024, 2:06 PMnetgen -batch lvs "inv_sky130_a_v4_layout.spice inv_sky130_a_v4" "inv_sky130_a_v4.spice inv_sky130_a_v4" /usr/local/share/pdk/sky130A/libs.tech/netgen/sky130A_setup.tcl
But I got the same errorTim Edwards
05/25/2024, 2:25 PMNet: sky130_fd_pr__nfet_01v8_4MHCRP:XM3/a_2029_n250 |(no matching net)
sky130_fd_pr__nfet_01v8/(1|3) = 2 |
This indicates that the net is connected to two device sources/drains. Since the devices are fingered, the contact between any two fingers of the device is already connected to two device sources/drains. That means that the fingers of the device aren't connected to anything else, so you're probably missing contacts between the device fingers in M3, M4, and M5 in the layout.Miguel Correa
05/25/2024, 5:18 PMLinen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by