Replies: 5 comments 6 replies
-
|
The easiest way is to encapsulate them as hard macros and then place those. For manual placement you can use https://openroad.readthedocs.io/en/latest/main/src/mpl/README.html#place-macro A small design using macro hardening is https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/tree/master/flow/designs/asap7/aes-block |
Beta Was this translation helpful? Give feedback.
-
|
When I try to make this example, I met with this problem:"make: *** No rule to make target 'designs/asap7/aes-block/aes_rcon/config.mk', needed by 'results/asap7/aes-block_aes_rcon/base/aes_rcon.lef'. Stop. |
Beta Was this translation helpful? Give feedback.
-
|
For manual macro placement see https://openroad.readthedocs.io/en/latest/main/src/mpl/README.html#place-macro For the automatic macro placer you can create an overall fence but not a per-macro fence. See -fence* in https://openroad.readthedocs.io/en/latest/main/src/mpl/README.html#rtl-macro-placer |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the reply! Just to clarify — is there any way to do this kind of floorplan without encapsulating submodules as macros? For example, if I have a hierarchical design where PE units are individual RTL submodules (not macros), is there any way to control their relative floorplan positions in OpenROAD? Or is macro-level encapsulation the only way to achieve physical separation or placement control of logic blocks? |
Beta Was this translation helpful? Give feedback.
-
|
Thanks again! I’m using the manual place_macro method as described in the docs. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’m currently working with the OpenROAD flow and have a design that contains several sub-modules. I’d like to manually place these sub-modules (for example, imul1 and imul2) at specific locations on the chip during the floorplan stage.
My goal is to assign each sub-module to a predefined physical region. I’m aware that OpenROAD allows both automated and manual placement approaches, but I’m not sure how to modify or extend the flow script to handle fixed placements for individual sub-modules.
Could someone please advise on the best way to achieve this?
• Do I need to encapsulate these sub-modules as macro cells first?
• How can I use or modify the floorplan or macro placement scripts to enforce placement into specific regions (for example, using fence regions or direct coordinate assignments)?
• Any sample scripts, guidelines, or documentation pointers would be extremely helpful.
Thanks in advance for your assistance!
Beta Was this translation helpful? Give feedback.
All reactions