Is there a limit to the size of the macro in the g...
# caravel
w
Is there a limit to the size of the macro in the given area of wrapper. For the area of
2920 3520
, can I put a macro of size
2850 3450
. How much of a margin should be left on each side of any. @User @User @User
a
@Wajeh ul hasan: I agree with @tnt that you should probably use the whole user_project_wrapper as your project. However, to answer your question, I haven't tried that myself but I imagine if you use the same pin_order.cfg as the one used in the user_project_wrapper, then you should be fine as routing will be roughly a straight line from each pin to it's external connection.
w
@Amr Gouhar Then that is strange. I am getting this error
Error: Design congestion too high
which does not make sense since I used the same
pin.config
as that of the user wrapper and I was also expecting a straight line for route but it bombed So I assumed I need to shrink my macro however according to you and @tnt that's not the problem. Under what circumstances do the flow give
congestion error
?
t
set ::env(GLB_RT_ALLOW_CONGESTION) 1
Try that ..
a
@Wajeh ul hasan: then not all pins are aligned somehow (which happens pin_order.cfg doesn't create perfect alignment) and fastroute is unable to move around with wires so it needs more space. So, to answer you're question you get a congestion error when fastroute fails to route from point A to point B because it already create many wires in the way for other routes and it's not possible to reach from point A to point B (at least using the fastroute algorithm) for this given layout because it's become "congested" with wires. You can try 3 things: 1. what @tnt suggested above. 2. shrink your macro. 3. use user_project_wrapper as your macro and not user_project_example since you're already using almost all of the space. This should be somewhat helpful https://github.com/efabless/caravel/blob/develop/openlane/README.md#option-2
or perhaps you're not centering your macro perfectly? did you check the placement def on klayout or something? Try using
manual_macro_placement
. Check this for more details about that https://github.com/efabless/openlane/tree/develop/designs/manual_macro_placement_test
w
I have already been using
manual_macro_placement
and I have also tried
set ::env(GLB_RT_ALLOW_CONGESTION) 1
,unfortunately no luck. I have been trying to integrate the SoC for the last 48 hours but I have hit a bottleneck. Can any of you please help me with the integration process. We can have a quick 30 minute zoom session. @Amr Gouhar @Ahmed Ghazy @tnt @Tim Edwards @Roomi Naqvi @Aireen Amir Jalal
a
@Wajeh ul hasan: Let me know when you'd like me to check the PDN issue we discussed.
w
@Ahmed Ghazy I am rerunning everything with the latest hashes. Would ping you as soon as I switch everything.