Nicolas Orcasitas Garcia
10/17/2024, 1:37 PMLeo Moser
10/17/2024, 2:37 PMschematic
variable to be set. This can be done by running the LVS script using the provided Python script.
Another way to run the LVS script from inside the GUI is to install the latest version of this package: https://github.com/efabless/sky130_klayout_pdk
It can also be installed using KLayout's package manager. This will add the "Efabless sky130" dropdown menu where you can select "Run LVS". Clicking on that will open the file manager to select a schematic file.Nicolas Orcasitas Garcia
10/21/2024, 5:32 PMNicolas Orcasitas Garcia
10/21/2024, 5:39 PMNicolas Orcasitas Garcia
10/21/2024, 5:45 PMNicolas Orcasitas Garcia
10/21/2024, 5:47 PMLeo Moser
10/22/2024, 6:50 AM$PDK_ROOT/$PDK/libs.tech/klayout/lvs/run_lvs.py
which runs KLayout in batch mode and passes the necessary variables to KLayout for LVS. (I think you need to install docopt
to run the script, I don't know why there's no standard library used to parse the command line arguments...)
You should be able to run the script from outside KLayout via python3 run_lvs.py --design=my_layout.gds --net=my_netlist.spice
+ other arguments that you may need (see python3 run_lvs.py -h
for all arguments).
If you would like to run sky130.lvs from inside KLayouts "Macro Development" you can set $schematic or other global variables by writing to the console: $schematic = "test.spice"
. You do not need to edit the file.
"sky130_gnd" is the default name for the substrate, a different name can be set via $lvs_sub.
Thanks for giving "Efabless sky130" a try. It seems there's an unexpected issue importing Qt from pya. From what I see you are using the IIC-OSIC-TOOLS. What version does KLayout come with?Nicolas Orcasitas Garcia
11/03/2024, 1:22 AMLeo Moser
11/03/2024, 8:25 AMu
for 1e-6, or set the global scale
option to true.
Another peculiarity of the sky130 PDK is that all transistor dimensions are given in um instead of SI units. KLayout expects SI units, therefore we need to scale them using one of the methods.
3. Set the subtrate name via lvs_sub
. In my case, I have set lvs_sub
to VSS
.
Note: The cell names should not contain a hyphen (-
) as this can be problematic for KLayout.
In the case of the tutorial, the command to start KLayout is klayout -e inverter.gds -rd schematic=../netlist/inverter.spice -rd lvs_sub=VSS -rd scale=true
to succesfully run LVS.
Regarding the Qt issue, thanks for letting me kow you are working with the IIC-OSIC-TOOLS, then it shouldn't be too hard to reproduce for me.Nicolas Orcasitas Garcia
11/03/2024, 3:06 PMLeo Moser
11/06/2024, 6:57 AMscale
by default, as all models in sky130 use 1e-6 as the scaling factor.