The docs states "This command cuts rows." ... whic...
# openroad
t
The docs states "This command cuts rows." ... which tells me absolutely nothing 😅 I assume if you're an expert that might speak to you but I never heard that term before.
a
Cell rows are a row of cell sites, where a cell site is the minimum granularity that cells can be placed. Cell rows are defined in the LEF/DEF standard. You can also visualize them by turning them on in the OpenROAD GUI. Cell sites and cell rows define where cells can be placed. If there are no cell sites in an area, cells won't get placed there.
cut_rows
removes cell sites, specifically under and around macros. The flow progression is normally 1) create floorplan (including generating cell sites/rows) 2) place macros, 3) cut rows and remove cell sites under and around macros so that cells can't be placed on top of them. I think by default, row cutting is done as part of tapcell/endcap insertion, so if you do that step then it should be done by default. But if for some reason you don't have tapcells and/or endcaps in your process, then you should manually call
cut_rows
after macro placement but before power grid generation.
t
@Austin Rovinski Thanks, now that makes sense. (Context was working with iHP which indeed doesn't have tap / endcap).
a
Interesting. So the standard cells have taps in them? As far as I know that's a very old methodology because you can get much better logic density by moving to a tapless cell architecture and then add a well tap rule.
t
@Austin Rovinski From looking at them it looks like the tap are all along the power rails.