Edmund Lam
05/07/2024, 8:20 PM! Checking pmos gate vs source errors:
Usage ERROR: Time: 6 Memory: 411416 I/O: 112 Swap: 0
Saving min/max voltages...
CVC: Propagating Simulation voltages 1...
Usage SIM1: Time: 6 Memory: 417224 I/O: 120 Swap: 0
Power nets 84059
Saving simulation voltages...
CVC: Propagating Simulation voltages 3...
Usage SIM2: Time: 6 Memory: 418808 I/O: 120 Swap: 0
Power nets 84059
Added 0 latch voltages
CVC: Calculating min/max voltages...
Processing trivial nets found 49415 trivial nets
MaximumQueue Counts (size/enqueue/requeue) 156652/282003/0
MinimumQueue Counts (size/enqueue/requeue) 150608/278981/0
CVC: Ignoring invalid calculations...
CVC: Removed 0 calculations
Copying master nets
CVC: Ignoring non-conducting devices...
CVC: Ignored 0 devices
Usage MIN/MAX2: Time: 7 Memory: 425408 I/O: 120 Swap: 0
Power nets 167736
any tips on how to debug this sort of issue? I am not sure exactly what issue is being described here.Mitch Bailey
05/07/2024, 11:31 PMLVS_check.log
file?
(The `Usage ERROR`: line is an unfortunate choice of a step name. It is showing the usage stats for the error
detection step of CVC-RV and is a normal message.)Edmund Lam
05/10/2024, 1:01 PMEdmund Lam
05/10/2024, 1:01 PMMitch Bailey
05/10/2024, 8:42 PMLVS result:
Final result:
Circuits match uniquely.
.
LVS Done.
Warning: device level LVS may be incomplete due to 2 unflattened cell(s): see /mnt/users_data/jobs/cornellcustomsiliconsystems/C2S2-Digital-Tapeout-SP24/6387583e-58f1-44b1-a834-5e0e269a1ef4/outputs/reports/lvs.unflattened
What is in outputs/reports/lvs.unflattened
?Edmund Lam
05/10/2024, 10:04 PMtapeins_sp24_tapein1_Interconnect is a black box in the source
tapeins_sp24_tapein1_Interconnect contains no devices
in lvs.unflattened. Is this because I am instantiating it as a macro when synthesizing user_project_wrapper? If so, how can I get LVS to pass?Mitch Bailey
05/10/2024, 10:14 PMEXTRACT_ABSTRACT
in the lvs_config.json
file. However, if you the cell has a hierarchy, that may not be extracted.
I recommend that you try flattening the cell during LVS using LVS_FLATTEN
in the lvs_config.json
file. Let me know if you have problems.Edmund Lam
05/11/2024, 5:59 PMTop level cell failed pin matching
. What could be causing this?Mitch Bailey
05/11/2024, 9:12 PMEdmund Lam
05/11/2024, 9:43 PMEdmund Lam
05/11/2024, 9:44 PMEdmund Lam
05/11/2024, 9:55 PMio_oeb[22:5]
and inside I set it to zero... not sure why it's mixing around the orderMitch Bailey
05/11/2024, 11:16 PMmake run-precheck
?Edmund Lam
05/11/2024, 11:17 PMEdmund Lam
05/11/2024, 11:17 PMMitch Bailey
05/11/2024, 11:19 PMEdmund Lam
05/11/2024, 11:22 PM1.5.272
. I am using input_nopull so I read that io_oeb can be either low or high and it shouldn't matter?Mitch Bailey
05/11/2024, 11:26 PMUSER
mode and don’t connect io_oeb
, there may be leakage due to Hi-Z input to a logic gate in gpio_control_block
. You can either tie io_oeb
or use the MGMT
version (input will still go to the user area). However, gpio 0-5 have io_out
and io_oeb
buffered in the caravel_core, so you’ll want to tie these even if they are configured in MGMT
mode.Mitch Bailey
05/11/2024, 11:27 PMEdmund Lam
05/11/2024, 11:31 PMEdmund Lam
05/11/2024, 11:32 PMEdmund Lam
05/11/2024, 11:33 PMMitch Bailey
05/11/2024, 11:55 PMio_in
signals. Unused io_out
may be either high or low. Unused io_oeb
tied high is probably safest.
I apologize for the trouble you’re facing. It’s due to a mismatch in the PDK and the lvs system.
Are you running precheck locally or on the platform?Edmund Lam
05/11/2024, 11:55 PMEdmund Lam
05/11/2024, 11:55 PMEdmund Lam
05/11/2024, 11:56 PMio_out
to low/high? Why tie them at all?Edmund Lam
05/11/2024, 11:56 PMio_oeb
high include 0-5?Edmund Lam
05/11/2024, 11:57 PMMitch Bailey
05/12/2024, 12:16 AMio_oeb
signals need to be low for outputs. For inputs, you can tie io_oeb
either high or low. io_oeb
includes 0-5 (along with io_out
for 0-5).
io_out
signals go into logic gates in gpio_control_block
. Floating inputs into logic gates can cause leaks because both the nmos and pmos may be on.
Platform precheck is broken. Do you pass precheck locally?
MPW_TAG=mpw-9i make precheck
make run-precheck
Edmund Lam
05/12/2024, 12:20 AMError: 157
. I can run again once my synthesis run finishes though.Edmund Lam
05/12/2024, 12:20 AMMitch Bailey
05/12/2024, 12:22 AMIf I set unused gpios to MGMT OUTPUT do I still need to tie them?In that case, you only need to tie
io_out
and io_oeb
for gpio 0-5.Edmund Lam
05/12/2024, 12:24 AMMitch Bailey
05/12/2024, 11:38 AMEdmund Lam
05/12/2024, 11:42 AMMitch Bailey
05/12/2024, 1:22 PMEdmund Lam
05/13/2024, 4:53 AMMitch Bailey
05/13/2024, 5:43 AMEdmund Lam
05/13/2024, 12:09 PMMitch Bailey
05/13/2024, 12:47 PMFlattening non-matched subcircuits ...
The first one that shows up is sky130_fd_sc_hd__dfxtp_4
. This is a standard cell that should not show a mismatch and indicates a problem with the rule version and the pdk.
This is from the local precheck correct, right? (remember, LVS on the platform precheck is currently broken).
Could you try with volare pdk version dd7771c384ed36b91a25e9f8b314355fc26561be
?Edmund Lam
05/13/2024, 2:05 PMMitch Bailey
05/13/2024, 10:46 PMmake lvs-user_project_wrapper
Edmund Lam
05/15/2024, 5:23 AMEdmund Lam
05/15/2024, 5:23 AM