I'm trying to connect two pre hardened macros insi...
# openlane
j
I'm trying to connect two pre hardened macros inside a wrapper that also has some logic. Below is the config file I am using but I am getting LVS issue, can someone help me? @Vijayan Krishnan
m
@Jazoolee Ahamed the
config.json
file has the following lines.
Copy code
"SYNTH_ELABORATE_ONLY": 0,
    "PL_RESIZER_DESIGN_OPTIMIZATIONS": 0,
    "PL_RESIZER_TIMING_OPTIMIZATIONS": 0,
    "GLB_RESIZER_DESIGN_OPTIMIZATIONS": 0,
    "GLB_RESIZER_TIMING_OPTIMIZATIONS": 0,
    "PL_RESIZER_BUFFER_INPUT_PORTS": 0,
    "FP_PDN_ENABLE_RAILS": 0,
You should probably only use this configuration when you have no standard cells at the top level. In other words, when you are just connecting macros to each other and the
user_project_wrapper
pins. If you want logic in the top level, try changing all those values to
1
.
j
@Mitch Bailey When I do that, the flow fails of a "segmentation error" at the pl resizer design optimization step.
m
My mistake. This is ok.
"SYNTH_ELABORATE_ONLY": 0,
Can you set the rest to
1
?
Copy code
"PL_RESIZER_DESIGN_OPTIMIZATIONS": 1,
    "PL_RESIZER_TIMING_OPTIMIZATIONS": 1
    "GLB_RESIZER_DESIGN_OPTIMIZATIONS": 1,
    "GLB_RESIZER_TIMING_OPTIMIZATIONS": 1,
    "PL_RESIZER_BUFFER_INPUT_PORTS": 1,
    "FP_PDN_ENABLE_RAILS": 1,
j
I am actually trying to connect the SRAM macro with my module in this wrapper, which also has some logic of it's own. When I use the config settings mentioned by you above, at the "Detailed routing" step my memory just fills up and get killed, Even with 16GB of physical RAM and 25GB of swap file. But when I disable "Fill Insertion" I'm able to pass this step but fails the LVS at the end.
m
@Jazoolee Ahamed Fill insertion is necessary to prevent gaps in the the standard cell rows. The detailed routing step can go through a lot of iterations if the routing regions are narrow. Can you use openroad to look at the routing congestion? Openroad databases have an
*.odb
suffix.