Closed techstuds closed 9 months ago
@techstuds Which PDK it is?
It's the XH018 PDK of X-FAB.
OpenROAD is having a hard time accessing these cell.
[WARNING DRT-0087] No valid pattern for unique instance pipe_g54590__5477, master is AND4JIHDX0 [WARNING DRT-0087] No valid pattern for unique instance pipe_g54134__2883, master is ON31JIHDX1
The easiest thing to do would be to "not use" those cells. You can mark them dont_use in your liberty.
I have a similar issue, delating to the number of vias the PA attempts. Here is my attempt to fix: https://github.com/The-OpenROAD-Project/OpenROAD/pull/3677 but this seems to have impacts on the routablity of the design so more work is needed. With this, I can get my designs to route in my PDK.
What flow are you using? In ORFS you can use 'make global_route_issue' to package up your test case (assuming it is ok to share).
https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/etc/deltaDebug.py is useful for cutting down a large test case if needed.
@techstuds Is it ok to share the test case?
@QuantamHD I've tried several times but the error still occurs until dont_use is ignored during synthesis (cells were marked as dont_use in SDC file before synthesis).
@gadfort Unfortunately, this didn't fix the error in my case, although it's a really promising change.
@maliberty I used the OpenROAD flow (not ORFS) in OpenROAD/test/flow.tcl because I'm mostly interested in P&R (the synthesis was done by Cadence Genus).
I've also tried to cutting down my testcase with deltaDebug.py but I'm probably doing something wrong here. In flow.tcl, a db file is written just before the pin_access step where the error occurs, so I used that db file. What do I need to pass as a step argument in this case? The command looks like this:
openroad -python deltaDebug.py --base_db_path test_dpl-tcl.db --error_string '[WARNING DRT-0087] No valid pattern for unique instance' --step step.sh --persistence 5
step.sh:
pin_access -bottom_routing_layer MET2 -top_routing_layer METTP
step.sh has to be a complete run of OR - you haven't loaded any odb to start with.
@techstuds recently we added support for extensive via search for access points that can't be accessed with the conventional openroad pin access technique. It solved the issue for peter. Could you try it again and tell us what you get. Also, if it is not solved yet, I think we need more information to work on this. At least some visuals on the pin that can't be accessed in relation to the routing tracks.
Closing due to no response. If this is still relevant please reopen and update.
Describe the bug
I'm facing this error at the pin_access step in global routing. The corresponding cells do not overlap with others and have enough space around them for routing. There are many other instances with the same master where everything went well. The design has 15192 unique inst patterns (see routing.log) and for some reason the router is having trouble accessing the pins of a few cells. If I run it with a netlist that doesn't have those cells in it, the error appears on another one.
Expected Behavior
Complete pin_access and go forward with global routing.
Environment
To Reproduce
I tried to create a testcase, unfortunately the routing worked there without errors. This doesn't really confuse me, because the routing also worked on many other instances with the same master (in the large design).
Relevant log output
Screenshots
No response
Additional Context
Has anyone encountered this error before and know how to deal with it?