Emanuel Caceres
09/19/2021, 7:43 PMPhilipp Gühring
09/20/2021, 1:21 PMTim Edwards
09/20/2021, 1:29 PM-d
(distributed) switch with ext2spice
to distribute source/drain area and perimeter equally among devices. That is occasionally inaccurate but generally more realistic than lumping all areas and perimeters on one device. By far, the largest effect of the area and perimeter is from the calculation of the capacitance of the source and drain; for capacitance calculations, lumping all areas and perimeters onto one device on a net is equivalent to specifying area and perimeter individually for each device.Tim Edwards
09/20/2021, 1:48 PMtb_buf2.spice
is including all of the PDK model files. Normally this should not affect the outcome. However, if I redirect output from the run_lvs_buf.sh
script to a file, I see that there is a huge dump of parsing errors where something in the model files is making netgen's SPICE parser unhappy. I will need to look into that. The quick workaround is to comment out the .include
lines in the tb_buf2.spice
so that netgen doesn't try to read the model files. Then it gives a correct match. A good working method is to extract the netlist from the buffer schematic in xschem, not the testbench schematic. Use the menu item Simulation --> LVS netlist: Top level is a .subckt
in xschem to make sure that the output has a .subckt ... .ends
wrapper around the buffer.Emanuel Caceres
09/20/2021, 4:07 PMTim Edwards
09/20/2021, 5:06 PM.lib sky130.lib.spice tt
file, the LVS works (that is what was used in the caravel_user_project_analog
example). That might be because netgen doesn't known how to parse a .lib
line.Tim Edwards
09/20/2021, 5:12 PM.lib
statement, which is why it doesn't produce the errors that occur when you include the individual model files with .include
.Emanuel Caceres
09/20/2021, 5:21 PM