i'm trying to harden a tiny macro, but the design ...
# openlane
a
i'm trying to harden a tiny macro, but the design is too small for the placer maybe. I get this error:
Copy code
[ERROR] RePlAce divergence detected. 
        Please decrease init_density_penalty value (REPL-3)
Error: RePlAce terminated with errors.
Has anyone else run into this? I've tried the suggestions found here and on the wiki for small designs (1x, 2x, 3x, 6x multiples of these values):
Copy code
set ::env(FP_PDN_VOFFSET) 1
set ::env(FP_PDN_VPITCH) 5
set ::env(FP_PDN_HOFFSET) 1
set ::env(FP_PDN_HPITCH) 5
I've also tried a suggestion from OpenROAD to
export GLOBAL_PLACEMENT_ARGS = -skip_initial_place
first
I've also tried varying FP_CORE_UTIL and PL_TARGET_DENSITY from 0.01 to 0.9
a
Hi @aryap, we had a similar encounter a few days ago and an example small design now exists under develop here, thanks to @Matt Venn. I also updated the FAQs to update the answer to that question, a few minutes ago. Currently (on master), the flow doesn't require setting these variables any more as they are automatically computed based on the size of the design.
Copy code
set ::env(FP_PDN_VOFFSET) 1
set ::env(FP_PDN_VPITCH) 5
set ::env(FP_PDN_HOFFSET) 1
set ::env(FP_PDN_HPITCH) 5
We would love to have another example tiny design, and of course, we'd love to perfect the answer to that question on the FAQs, so try it out and we'd be happy to help.
a
Thanks @Amr Gouhar, I've submitted a PR to add our tiny design. I can't get it to work just following the FAQ hints. I'll keep digging
a
@aryap, I was able to get the design to run through the flow. I posted the configurations as Requested Changes on the PR, so please, update them whenever you can so I would merge the design. Also, what do you think about this? After, you update the configs and I merge, I will add the design to the CI testcases to make sure that it still works after every push we make.
🔥 1
a
awesome, looks like i just had the wrong clock port specified?
a
Pretty much, yeah, and it didn't need the
SKIP_INITIAL_PLACEMENT
enabled so I guess I'll have to update the FAQs about that part.
a
lmao ok. cool. thank you!