https://open-source-silicon.dev logo
Channels
aa
abcc
activity
adiabatonauts
analog-design
announce
announcements
b2aws
b2aws-tutorial
bag
basebands
beagleboard
bluetooth
board-respin
cadence-genus
cadence-innovus
cadence-spectre
cadence-virtuoso
caravan
caravel
caravel-board
chilechipmakers
chip-yard
chipignite
chipignite2206q_stanford_bringup
chisel
coalition-for-digital-environmental-sustainability
community_denmark_dtu
containers
courses
design-review
design-services
dffram
digital-design
digital-electronics-learners
discord-mods
dynamic-power-estimation
efabless
electric
events
fasoc
fault
foss-asic-tools
fossee-iitb-esim
fossee-iitb-google-sky130
fpga
funding
fuserisc
general
generative-ai-silicon-challenge
genius-vlsi
gf180
gf180mcu
hardware-beginners
help-
ieee-sscs-cac-23
ieee-sscs-dc-21q3
ieee-sscs-dc-22
ieee-sscs-dc-23
ihp-sg13g2
images
infiniband
j-core
japan-region
junk
klayout
latam_vlsi
layouteditor
lvs
lvs-analysis
magic
magical
maker-projects
maker-zone
microwatt
mpw-2-silicon
mpw-one-clean-short
mpw-one-silicon
neuro-mem
nydesign
open_pdks
open-pdk
openadiabaticlogic
openfpga
openhighqualityresonators
openlane
openlane_cloudrunner
openlane-development
openocd
openpositarithmetic
openpower
openram
openroad
opentitan
osu
pa-test-chip
paracells
pd-openlane-and-sky130
picosoc
pll
popy_neel
power
private-shuttle
rad-lab-silicon
radio
rdircd
reram
researchers
rf-mmw-design
rios
riscv
sdram
serdes
shuttle
shuttle-precheck
shuttle-status
silicon-photonics
silicon-validation
silicon-validation-private
sky130
sky130-ci
sky130-pv-workshop
sky65
sky90
skywater
sram
stdcelllib
strive
swerv
system-verilog-learners
tapeout-job
tapeout-pakistan
team-awesome
timing-closure
toysram
travis-ci
uvm-learners
vendor-synopsys
venn
verification-be
verification-fe
verilog-learners
vh2v
vhdl
vhdl-learners
vliw
vlsi_verilog_using_opensource_eda
vlsi_verilog_using_opensoure_eda
vlsi-learners-group
vlsi101
waveform-viewers
xls
xschem
xyce
zettascale
Powered by
Title
j

Juan Andres

03/10/2023, 3:37 AM
Hello, does anyone know why the lvs says that the circuits are black boxes?
m

Mitch Bailey

03/10/2023, 8:22 AM
For netgen compares 2 subcircuits. For the sky130 PDK, primitive mosfet devices are extracted as subckt references. (The spice lines begin with
X
. ) There is no subckt definition for these devices, so netgen compares them as black boxes - the device names and the terminal connections must match. This is normal behavior. The
equate elements: no current cell
is worrisome, though. Can you post your
inverter_mag.spice
,
inverter_spice
, and netgen command?
t

Tim Edwards

03/10/2023, 2:31 PM
The
equate elements
output suggests that the
equate elements
command has been added to the setup file, probably in error.
equate elements
and
equate nodes
are very obscure, low-level commands that can only be used in the middle of running a comparison. They cannot be used in a setup file because the circuits have not yet been partitioned into nodes and elements.
j

Juan Andres

03/10/2023, 2:33 PM
Netgen -bash lvs inverter_mag.spice inverter.spice
t

Tim Edwards

03/10/2023, 2:36 PM
I assue you mean
-batch
, not
-bash
. You also need to specify the netgen setup file, such as
/usr/share/pdk/sky130A/libs.tech/netgen/sky130A_setup.tcl
.
j

Juan Andres

03/10/2023, 2:38 PM
Yes, I’m sorry, is netgen -batch lvs inverter_mag.spice inverter.spice and route sky130A_setup.tcl
t

Tim Edwards

03/10/2023, 2:39 PM
Please post the
comp.out
output file?
j

Juan Andres

03/10/2023, 2:58 PM
comp.out
inverter.spice,inverter_mag.spice
t

Tim Edwards

03/10/2023, 4:04 PM
You are comparing a subcircuit against a top level. The simplest thing to do is to write the netlist from xschem using the "output subckt" option so that it gets a ".subckt" line and all the pins are declared (those are in the file and you can also just edit the file and remove the
**
from the
.subckt
and
.ends
lines). Then, run the LVS with the name of the subcircuit declared:
netgen -batch lvs "inverter_mag.spice inverter" "inverter.spice inverter" /usr/share/pdk/sky130A/libs.tech/netgen/sky130A_setup.tcl
This produces a correct result from netgen.
m

Mitch Bailey

03/10/2023, 4:22 PM
@Juan Andres When you output your netlist from xschem, be sure to select
Simulation -> LVS netlist: Top level is a .subckt
j

Juan Andres

03/10/2023, 5:37 PM
I did this but I have the same error
@Tim Edwards For example, if I do that from the schematic where the sources are and everything, does it extract that too? or just the symbol?
If I do the lvs thing in xschem, I run the same in command, call the device?
t

Tim Edwards

03/10/2023, 6:37 PM
You just want to make sure that the option
Top level is a .subckt
is set, and then click on
Netlist
as usual; then your netlist should have uncommented
.subckt
and
.ends
lines in it. It really is doing nothing more than just not writing the comment characters in front of those lines. Otherwise, the netlister is behaving exactly the same.
j

Juan Andres

03/10/2023, 6:40 PM
But I have issues in the lvs yet
t

Tim Edwards

03/10/2023, 6:43 PM
You seem to be comparing the layout against some version of itself, not against the xschem schematic.
j

Juan Andres

03/10/2023, 6:46 PM
m

Mitch Bailey

03/10/2023, 7:46 PM
This should be your lvs command
netgen -batch lvs "inverter_mag.spice inverter" "inverter.spice inverter" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl