Can someone help me with the following error? I am...
# caravel
a
Can someone help me with the following error? I am not using vccd2 domain in my design.
Copy code
[WARNING PSM-0038] Unconnected PDN node on net vccd2 at location (1107.000um, 1252.295um), layer: 5.
[ERROR]: PDN generation failed.
[ERROR]: You may need to adjust your macro placements or PDN  offsets/pitches to power all standard cell rails (or other PDN stripes)  in your design.
k
Hi @User, I had the same problem, the issue is that Your macro PDN network has to be aligned with the user_project_wrapper PDN
image.png
a
Interesting. And how can I align? Incrementally make shifts until they're decently aligned and the error goes away? For example, shifting the macro up by approx 30um?
k
here You have for example 2 rings, could be GND and VDD, so on the metal 4 and 5 you have this vertical and horizontal strips which distribute the energy to the cells. What happens is when You prepare Your macro You should have the same pitch (spacing between strips) and also place it in the wrapper space in a spot where they align
let me check
in caravel/openlane/user_project_wrapper
you have a file
fixed_wrapper_cfgs.tcl
there You have definitions of the offsets and pitches
so You could calculate exact positions of the strips
as far as I remember openlane for small macros was generating a PDN with different pitches than the user project wrapper
a
Are you talking about the following? Which one's the pitch and which one's the offset. Using klayout I see that the pitch is around 90um. Not sure what offset means.. set ::env(FP_PDN_VWIDTH) 3.1 set ::env(FP_PDN_HWIDTH) 3.1 set ::env(FP_PDN_VSPACING) [expr 5*$::env(FP_PDN_CORE_RING_VWIDTH)] set ::env(FP_PDN_HSPACING) [expr 5*$::env(FP_PDN_CORE_RING_HWIDTH)]
k
VSpacing, HSpacing
You can open in KLayout an empty user_project_wrapper and use ruler in order to identify it
at least I was operating this way
a
Got it. Thanks a lot..
k
👍
t
Honestly, this should be reported as a bug in the caravel_user_project repository github issue tracker. There is no reason in the world why the user project must have a PDN aligned with anything other than the outside rings. To require the same pitch is patently stupid.
In fact, I'll just go do that now.
k
@User in fact I taught i was solved in the recent versions of the flow. I had this situation late September working on MPW3. By the way do You know why in MPW5 and MP6 the detailed router is way more memory demanding, the Tritonroute was upgraded or there was change in the flow ?
a
Well, for me the issue was fixed after trying another set of coordinates for the macros; I did not specifically try to align the stripes because I did not need to. So I am not sure what exactly triggers this error.
But since Krzysztof ran a more detailed set of experiments, it probably has something to do with the pitch alignments.
m
i've seen pitch alignment issues only on very small macros
also, as @User said, he's not using vccd2
so I think this must be more of a bug in openlane
k
Hi @User, in fact there are two issues: (1) open lane generates unaligned PDN form small macros, (2) there was a problem (and seems to exists today) with a mechanism of macro placement and legalization of its position to be aligned with the wrapper's PDN.
m
I used to get placement issues but related to alignment of the routing grid
I increased the pad width to fix that