This message was deleted.
s
This message was deleted.
m
@Charly Meyer I seem to recall openlane having a problem with automatic macro placement. Can you try using
Copy code
"MACRO_PLACEMENT_CFG": "dir::macro.cfg",
Where the
macro.cfg
file defines the macro locations. Here’s a sample. The first field is the (possibly hierarchal) instance name from the verilog file.
Copy code
soc_i.sram.sram0 376.9 200 R180
soc_i.sram.sram1 376.9 875.865 MY
c
Thanks for your reply. I'm trying to add a CGF file without success. But the major problem is that there is a grid, and the macro is considered like a cell. How can I suppress this grid ?
m
Yes, I believe you are responsible for ensuring that the macro pins are accessible from the routing grid. Can you share your lef file and the
macro.cfg
file?
c
here the lef file
m
When created with magic, the boundary of the LEF file is determined by the
FIXED_BBOX
property. Use
property FIXED_BBOX llx lly urx ury
to set it in the mag file before creating the lef file.
c
OK, thanks. I will do that. But concerning the macro, I have no idea how to do that. I have only found this. If you can explain it to me or provide documentation, it will be great.
m
mprj
is the verilog instance name of your macro. For example, in this case it would be
mprj
, but your instance names are probably different.
Copy code
user_proj_example mprj (
The next 2 numbers are the offsets of the macro origin (I think. I doubt that it’s the lower left corner). The last number is the orientation.
N
is 0 degree rotation,
S
is probably 180 degrees. You have to look up the other ones. You’ll also need to provide information for the power router in
Copy code
"FP_PDN_MACRO_HOOKS": ["mprj1 vccd1 vssd1 VDD VSS,", "mprj2 vccd1 vssd1 VDD VSS"],