CELINA BOSSA
10/04/2024, 4:08 PMMitch Bailey
10/04/2024, 4:49 PMcaravel_user_project has a top user_project_wrapper which instantiates a user_proj_example hard macro. If you are using caravel_user_project_analog as a base, you probably want to copy openlane/Makefile from caravel_user_project/openlane/Makefile if it is not the same. I don’t think the analog base repo was not really setup to run synthesis.CELINA BOSSA
10/04/2024, 7:39 PMCELINA BOSSA
10/04/2024, 7:42 PM.json in the "EXTRA_LEFS" variable to pass the synthesis step. However, the flow fails at step 38.Mitch Bailey
10/04/2024, 10:40 PMuser_proj_example is instantiated in openlnae/user_project_wrapper/config.json
$ grep -C2 user_proj_example .caravel_user_project/openlane/user_project_wrapper/config.json
"MAGIC_DEF_LABELS": 0,
"VERILOG_FILES_BLACKBOX": [
"dir::../../verilog/gl/user_proj_example.v"
],
"EXTRA_LEFS": "dir::../../lef/user_proj_example.lef",
"EXTRA_GDS_FILES": "dir::../../gds/user_proj_example.gds",
"EXTRA_LIBS": "dir::../../lib/user_proj_example.lib",
"EXTRA_SPEFS": [
"user_proj_example",
"dir::../../spef/multicorner/user_proj_example.min.spef",
"dir::../../spef/multicorner/user_proj_example.nom.spef",
"dir::../../spef/multicorner/user_proj_example.max.spef"
],
"BASE_SDC_FILE": "dir::base_user_project_wrapper.sdc",
So you’ll need a verilog stub to put in VERILOG_FILES_BLACKBOX to show yosys that the block exists and has connections but it will not be synthesized.
You already have EXTRA_LEFS
You’ll need the EXTRA_GDS_FILES to specify the GDS file that will be placed in the output. You could temporarily create one from your LEF file in klayout or maybe magic.
For timing, you probably want the EXTRA_SPEFS specification eventually.CELINA BOSSA
10/04/2024, 11:07 PMCELINA BOSSA
10/08/2024, 12:05 AMMitch Bailey
10/08/2024, 1:41 AMCELINA BOSSA
10/09/2024, 10:23 PMMitch Bailey
10/09/2024, 11:29 PMconfig.json file? Do you have FP_PDN_MACRO_HOOKS set correctly?