pdn: Improve the tool to handle obstructions
Describe the bug
Follow up of discussion at https://github.com/The-OpenROAD-Project/OpenROAD/discussions/5963.
This is an enhancement request.
There is an obstruction in the floorplan that needs the vertical straps to change layer. In the picture from Innovus, there are M3 horizontal straps (green) and M4 vertical straps (yellow). Due to M4 obstructions (yellow), the vertical straps switch layer to M2 (red).
This is achieved by using the -area argument of add_stripes. 2 calls with different M2 and M4 with overlapping areas so the straps can connect together.
Cells won't be placed under M2 straps as they cannot be routed as shown below but is handled during PNR:
Suggestion of solutions:
- Define 2 grids that overlaps and with different vertical layer as described above
- Add a secondary vertical layer so when M4 is not available it switch to M2
Expected Behavior
See in description
Environment
Latest OR
To Reproduce
Test case:
Relevant log output
No response
Screenshots
No response
Additional Context
No response
Cells won't be placed under M2 straps as they cannot be routed as shown below but is handled during PNR
That would also be an enhancement. We don't normally put in blocking straps like this.