1. The OpenRAM memory macros have vdd/gnd pins on ...
# caravel
m
1. The OpenRAM memory macros have vdd/gnd pins on metal4. This means that they can be used in the user_project_wrapper and connected to metal5 horizontal straps. However, this needs a custom pdn.tcl but then I need to specify the stdcell power grid in the same way as the default user_project_wrapper. How do I do that? 2. On the other hand, if I create a level of hierarchy with my memories in them, I then need to use metal5 to strap the macro pins on metal4. However, this interferes with the user_project_wrapper metal5 straps. What is the suggested methodology?
t
Best person to ask, I think, is @Manar Abdelatty. Best to flag the developers when asking a question like this, or it may go unnoticed.
m
@Matthew Guthaus For 1. , Why would need a custom pdn.tcl ? For 2., adding met5 to the blockages section in the macros grid can be used to cut the met5 straps around the macro (But this will require manually power routing the macro) https://github.com/RTimothyEdwards/open_pdks/blob/master/sky130/openlane/common_pdn.tcl#L92
m
A custom pdn.tcl is needed when power pins have different names
@Tim Edwards Thanks. I didn't know who the developers are
t
They are students of Mohamed Shalan, so there is turnaround; already Ahmed Ghazy and Amr Gouhar have left. So the best policy in general is to put all questions and concerns to Mohamed Shalan and let him delegate.
👍 1
m
@Manar Abdelatty SO what do I do if my supplies are named vdd and gnd? I tried to do:
Copy code
set ::env(VDD_PIN) "VPWR VDD"                                                                                                                                                                                                                                                                                                                                                                
set ::env(GND_PIN) "VGND VSS GND"
in the config.tcl for user_project_wrapper but it doesn't hook up the supplies
@Manar Abdelatty I changed the name of the pins in the memory to "vccd1" and "vssd1" and it seems to connect them fine. Is there a way to specify other names or is it required that the names match user_project_wrapper?