I'm trying to harden my design and I'm choosing op...
# caravel
m
I'm trying to harden my design and I'm choosing option 2 from (https://github.com/efabless/caravel/blob/master/openlane/README.md) so that I can just plug in my design's verilog files and they're processed as part of the entire flow (e.g., synthesis, STA, CTS, routing, etc). I don't have any macros, just all verilog files. I have a couple of questions: 1.) Do I place my verilog design files under the
VERILOG_FILES
or
VERILOG_FILES_BLACKBOX
? 2.) Do I need to specify the
EXTRA_LEFS
and
EXTRA_GDS_FILES
even though I don't have any macros that are hardened? For this I don't understand why there are LEF and GDS files specified before they're generated. I have removed
add_macro_placement mrpj 1150 1700 N
and
manual_macro_placement f
from the interactive script. Thanks.
I found this readme (https://github.com/efabless/openlane/blob/develop/doc/chip_integration.md#hardening-the-core) that answers my questions. Therefore, I need to list all of my design's verilog files under
VERILOG_FILES
and I have no
VERILOG_FILES_BLACKBOX
,
EXTRA_LEFS
, or
EXTRA_GDS_FILES
. However, when I do this I get the following error:
[ERROR]: Floorplanning failed
[ERROR]: module decred_top not found in /project/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/merged.lef
[ERROR]: Check whether EXTRA_LEFS is set appropriately
.
a
@Matt Aamold Did you do this:
Copy code
Remove this line add_macro_placement mprj 1150 1700 N from the interactive script here and replace it with the placement for your macro instances. Or, remove it entirely if you have no macros, along with this line manual_macro_placement f.
(step 3)?
m
Yes, I have removed
add_macro_placement mrpj 1150 1700 N
and
manual_macro_placement f
from the interactive script.
You probably saw but I opened an issue on openlane GH for this that had an additional data point (i.e., removing the interactive script altogether).
a
@Matt Aamold: Yes, I will look into the issues soon. Sorry about the delay, things are moving fast.
m
No problem, I understand. Thanks for looking into it.
a
@Matt Aamold: I think I know the issue here. There are more changes that has to be done in the interactive script in order for it to work with stdcells. Sorry for that. I'll try out your design (SweeperAA, I assume), and update the documentation.
m
Yes, that's correct.
a
@Matt Aamold: For the magic issue, you probably ran out of RAM (that's what
kill signal
usually mean in unix based systems).
m
Ahmed Ghazy got back to me on it and he thinks it's an issue in magic that has been fixed in version
8.3.91
. I'm going to try it out a little later.
@Amr Gouhar Were you able to find the issue with hardening via option 2? Will it be addressed in rc5?
a
@Matt Aamold: I'm sorry I forgot to reply here. I updated the documentation in what changes needs to be done in the interactive script to run it with a different user_project_wrapper/user_proj_example. these changes have been pushed to master.