Travis Jakl
02/02/2025, 9:30 PMMitch Bailey
02/03/2025, 1:38 AMlvs/user_analog_project_wrapper/lvs_config.json
corresponds to your design environment.
1. From the log file attached, you can see that the PDK versions do not match.
WARNING: Tech files do not match:
/home/tjdjakl/reram_crossbar_project/dependencies/pdks/sky130B/libs.tech/magic/sky130B.tech: version 1.0.424-0-g78b7bc3
/home/tjdjakl/mpw_precheck/checks/be_checks//tech/sky130B/sky130B.tech: version 1.0.470-0-g6d4d117
Results may be incorrect. Contact efabless to update the soft connection rules.
Looks like the design pdk is at 1.0.424
but LVS is expecting 1.0.470
. Is it possible to update the pdk (for LVS), possibly with the following command? If you’re using openlane for logic synthesis, then a different pdk may be required.
volare enable 6d4d11780c40b20ee63cc98e645307a9bf2b2ab8
2. Can you share your lvs/user_analog_project_wrapper/lvs_config.json
file? There’s a log message that says /home/tjdjakl/reram_crossbar_project/verilog/gl/user_analog_project_wrapper.v: No such file or directory
3. Also the comp.out
file shows an unexpected user_analog_project_wrapper_empty
cell. This file is not output of lvs precheck, is it?
Flattening unmatched subcell 2-1MUX in circuit user_analog_project_wrapper (0)(1 instance)
Flattening unmatched subcell x2-1MUX in circuit user_analog_project_wrapper_empty (1)(1 instance)
Travis Jakl
02/03/2025, 3:54 AMTravis Jakl
02/03/2025, 4:28 AMTravis Jakl
02/03/2025, 4:32 AMMitch Bailey
02/03/2025, 8:44 AMlvs_config.json
file contains the following
"$UPRJ_ROOT/verilog/gl/$TOP_SOURCE.v"
Since TOP_SOURCE
is set to user_analog_project_wrapper
, the script expects to find $UPRJ_ROOT/verilog/gl/user_analog_project_wrapper.v
. Does this file exist? If the top level is a spice file, put that file in the LVS_SPICE_FILES
section.Travis Jakl
02/04/2025, 3:03 PMnetgen lvs "./xschem/file instance_name" "./magic/file instance_name" sky130B_setup.tcl
to run my local netgen lvs check.Travis Jakl
02/04/2025, 5:21 PMMitch Bailey
02/04/2025, 10:06 PMlvs_config.json
file for precheck is set to use a verilog file. See https://open-source-silicon.slack.com/archives/C032Y8J3KHA/p1738572277066969?thread_ts=1738531845.353469&cid=C032Y8J3KHA
The local command uses different names for the top layout - user_analog_project_wrapper
vs user_analog_project_wrapper_empty
. The top layout must be user_analog_project_wrapper
and the netlist and layout cell names must match for precheck.
There may be other problems because I’m seeing this in the precheck log
Ignoring line starting with token: sky130_fd_pr__nfet_g5v0d10v5_6XHARQ
line number 3 = 'sky130_fd_pr__nfet_g5v0d10v5_6XHARQ a_n108_n75# a_n50_n163# a_n242_n297# a_50_n75#'
Reading netlist file /home/tjdjakl/reram_crossbar_project/precheck_results/04_FEB_2025___17_14_07/tmp/ext/user_analog_project_wrapper.gds.nowell.spice
Call to undefined subcircuit sky130_fd_pr__nfet_g5v0d10v5
Creating placeholder cell definition.
.ENDS occurred outside of a subcircuit!
line number 5 = '.ends'