Pepijn de Vos
07/01/2022, 3:28 PMLAYOUT CHECK FAILED: The GDS layout for user_analog_project_wrapper doesn't match the provided structural netlist. Mismatching modules are: ['<defunct>contact' 'TOP' 'contact$1' 'gr1' 'subcon$1']
{{NETLIST CONSISTENCY CHECK FAILED}} user_analog_project_wrapper netlist failed 1 consistency check(s): ['LAYOUT'].
I'm not really sure how to go about this one. In particular because my design apparently has some (defunct) contact cells and guard rings that aren't really some I want to describe. And also I'm not 100% sure where I am supposed to describe my TOP module.Mitch Bailey
07/01/2022, 3:35 PMuser_analog_project_wrapper
have a user_analog_proj_example
?
If it does, you can move your contact
TOP
gr1
subcon
etc down one level of the hierarchy.Mitch Bailey
07/01/2022, 3:35 PMPepijn de Vos
07/01/2022, 3:36 PMPepijn de Vos
07/01/2022, 3:37 PMMitch Bailey
07/01/2022, 3:38 PMPepijn de Vos
07/01/2022, 3:38 PMMitch Bailey
07/01/2022, 3:39 PMPepijn de Vos
07/01/2022, 3:40 PMMitch Bailey
07/01/2022, 3:40 PMPepijn de Vos
07/01/2022, 3:40 PMMitch Bailey
07/01/2022, 3:41 PMverilog/gl/user_analog_project_wrapper
? Does your schematic editor produce a top level spice netlist?Pepijn de Vos
07/01/2022, 3:41 PMPepijn de Vos
07/01/2022, 3:42 PMPepijn de Vos
07/01/2022, 3:43 PMPepijn de Vos
07/01/2022, 3:43 PMMitch Bailey
07/01/2022, 3:47 PMPepijn de Vos
07/01/2022, 3:47 PMMitch Bailey
07/01/2022, 3:48 PMxschem/user_analog_project_wrapper.spice
Pepijn de Vos
07/01/2022, 3:52 PM.subckt TOP GND VDD VDD_IO V+ V-
.ends
Xmy TOP a b c e f
to that file still results in the test complaining that there is not TOP moduleMitch Bailey
07/01/2022, 3:57 PMnetgen/user_analog_project_wrapper.spice
look like?Pepijn de Vos
07/01/2022, 3:57 PMPepijn de Vos
07/01/2022, 3:58 PMMitch Bailey
07/01/2022, 3:59 PMPepijn de Vos
07/01/2022, 4:00 PMPepijn de Vos
07/01/2022, 4:00 PMPepijn de Vos
07/01/2022, 4:00 PMPepijn de Vos
07/01/2022, 4:02 PMPepijn de Vos
07/01/2022, 4:02 PMMitch Bailey
07/01/2022, 4:02 PMif analog_gds_path.exists() and not digital_gds_path.exists():
project_config['type'] = 'analog'
project_config['netlist_type'] = 'spice'
project_config['top_module'] = 'caravan'
project_config['user_module'] = 'user_analog_project_wrapper'
project_config['golden_wrapper'] = 'user_analog_project_wrapper_empty'
project_config['top_netlist'] = caravel_root / "spi/lvs/caravan.spice"
project_config['user_netlist'] = project_path / "netgen/user_analog_project_wrapper.spice"
elif digital_gds_path.exists() and not analog_gds_path.exists():
project_config['type'] = 'digital'
project_config['netlist_type'] = 'verilog'
project_config['top_module'] = 'caravel'
project_config['user_module'] = 'user_project_wrapper'
project_config['golden_wrapper'] = 'user_project_wrapper_empty'
project_config['top_netlist'] = caravel_root / "verilog/gl/caravel.v"
project_config['user_netlist'] = project_path / "verilog/gl/user_project_wrapper.v"
so for analog designs, it appears to be using netgen/user_analog_project_wrapper.spice
. I agree with you in that it probably shouldn't be the one being used.Mitch Bailey
07/01/2022, 4:03 PMPepijn de Vos
07/01/2022, 4:06 PMMitch Bailey
07/01/2022, 4:06 PMuser_analog_proj_example
.Pepijn de Vos
07/01/2022, 4:06 PMPepijn de Vos
07/01/2022, 4:06 PMMitch Bailey
07/01/2022, 4:07 PMPepijn de Vos
07/01/2022, 4:07 PMPepijn de Vos
07/01/2022, 4:08 PMPepijn de Vos
07/01/2022, 4:10 PMMitch Bailey
07/01/2022, 4:10 PMPepijn de Vos
07/01/2022, 4:11 PMMitch Bailey
07/01/2022, 4:12 PMuser_analog_proj_example
.Pepijn de Vos
07/01/2022, 4:13 PMMitch Bailey
07/01/2022, 4:14 PMnetgen/user_analog_project_wrapper.spice
to contain the current TOP
and gr1
cells and maybe flatten the contact cells in the layout.Pepijn de Vos
07/01/2022, 4:14 PMMitch Bailey
07/01/2022, 4:16 PMTim Edwards
07/02/2022, 2:30 AMMitch Bailey
07/02/2022, 2:36 AM