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?