<@U016EM8L91B> <@U046D9L53GR> Hi Tim, We have tw...
# shuttle-precheck
a
@Tim Edwards @Adil Malik Hi Tim, We have two precheck error that we couldn’t get them solved. Basically the precheck passed most of the checks but the netlist consistency, and XOR. For the netlist consistency, we have just included the netlist that comes with caravan by default (not related to our gds) because our design was implemented fully in cadence virtuosos, so the spice netlist we have is based on spectre, whereas the netgen spice netlist is based on ngspice. So it reported this error “ the user netlist and the top netlist are not valid”, so does the netlist have to be extracted based on ngspice in order to pass the consistency precheck? For the XOR, we have "non-conforming geometries" error. I am not sure what that is. So I was wondering if you could help us out on how can we debug the errors.
m
Can you post your logs and data?
a
@Mitch Bailey thanks for ur response Here
m
@Abdulaziz look at the XOR results
1c1r_memristive_crossbar_array/jobs/mpw_precheck/0bb2318b-5aa7-426c-9ae2-5daeaa0eb684/outputs/user_analog_project_wrapper.xor.gds
. The connections to caravan are fixed and should not be changed. For the hierarchy check, you might have to change your layout hierarchy or modify the netlist so that the spice hierarchy matches the layout. I believe the default netlist has only 1 subcell
user_analog_proj_example
. You could rename your current
user_analog_project_wrapper
layout to
user_analog_proj_example
and place that in a new
user_analog_project_wrapper
. (If you do that, I suggest remembering to add pins). Or you might be able to rename
1C1R_TOP_2
to
user_analog_proj_example
in the layout and flatten the
*_CDNS_*
cells. Or you might try renaming
user_analog_proj_example
to
1C1R_TOP_2
in the
netgen/user_analog_project_wrapper.spice
file and adding dummy subckts for the
*_CDNS_*
cells.
a
Thanks @Mitch Bailey I renamed the user_analog_proj_example to 1C1R_TOP2 in the netgen/user_analog_project_wrapper.spice and it worked fine. The mismatch for 1C1R_TOP_2 is resolved. However, for the CDNS_, I tried to add a dummy subsckts for them in the spice file. Like this for example: .subckt L1M1_CDNS_6671949525910 .ends But still it reported mismatch modules. Am I missing something here? For the XOR, can you please explain what do u mean by saying the connections in caravan is fixed… I haven’t made any change in the caravan wrapper. Thanks!!
m
You might need to add dummy instances in the top level spice for the added subckts.
Copy code
.subckt user_analog_project_wrapper ...
...
Xdummy1 L1M1_CDNS_6671949525910
Xdummy2 M1M2_CDNS_6671949525912
...
.ends
You could also try flattening these via cells in the layout. Are there many of them? The XOR checks the layers around the border of the
user_analog_project_wrapper
. The script is here https://github.com/efabless/mpw_precheck/blob/main/checks/xor_check/xor_check.py I forget the actual dimensions but the script is here https://github.com/efabless/mpw_precheck/blob/main/checks/xor_check/erase_box.tcl The layers in this outer ring have to match the layers in the same area from https://github.com/efabless/caravel/blob/main/gds/user_analog_project_wrapper_empty.gds.gz
a
Thanks a lot! It works
👍 1