After doing some debugging from my side, I found t...
# magic
s
After doing some debugging from my side, I found that the pins where it is showing the mismatch are not numbered in the same order in the layout as they are numbered in schematic. The order should be "Drain Gate Source Bulk". But it is not the case for two of the NMOS transistors in the layout. Therefore, I manually corrected the order of pins for those two transistors and created a new .spice file. Here is the updated .spice file after manually updating the pin sequence for those two NMOS transistors:
m
@Shavika Rastogi mosfet source and drain pins are generally interchangeable. You should be using the netgen setup file from the pdk to enable source-drain swapping on mosfets. The setup file will also ignore the property errors for non extracted parameters.
Copy code
netgen lvs "OTA_updated.spice OTA" "gm_mos_bias.spice gm_mos_bias" $PDK_ROOT/$PDK/libs.tech/netgen/sky130A_setup.tcl
s
@Mitch Bailey I have used the same command to run lvs. It looked like this : netgen -batch lvs "OTA_updated.spice OTA" "gm_mos_bias.spice gm_mos_bias" ~/foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl
But still I have got property errors in the resulting comp.out file.
m
@Shavika Rastogi Can you dump the screen output to a log file and share that file?
Copy code
netgen -batch lvs "OTA_updated.spice OTA" "gm_mos_bias.spice gm_mos_bias" ~/foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl | tee lvs.log
s
@Mitch Bailey Here is the log file:
m
@Shavika Rastogi Can you make sure the setup file exists?
Copy code
ls ~/foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl
s
@Mitch Bailey I tried to locate the setup file using the command pasted by you, but it does not exist. However, when I removed ~ sign used the command as : ls /foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl, I was able to locate the setup file.
Therefore, I again ran the lvs without ~ sign on "OTA.spice" file (directly extracted from layout) and on "gm_mos_bias.spice" file (extracted from schematic). I used the following command: netgen -batch lvs "OTA.spice OTA" "gm_mos_bias.spice gm_mos_bias" /foss/pdks/sky130A/libs.tech/netgen/sky130A_setup.tcl"
This time, netgen is able to match circuits uniquely as shown in the following comp.out file:
Following is the log file extracted out of this lvs test :
@Mitch Bailey As per the log file, there are some warnings such as "No property found....". Do we need to pay attention to these warnings even if lvs test is successful ?
m
@Shavika Rastogi Congratulations on passing LVS. Please ignore the “No property found” errors.
🙌 1