Replies: 2 comments 3 replies
-
|
We don't support clock meshes and over driven nets are unexpected. Can you share a test case? |
Beta Was this translation helpful? Give feedback.
3 replies
-
|
If it is resolved I don't think I need to spend time on it. Please reopen if it recurs. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I have a design where
report_overdriven_netson4_1_cts.odbgivesbut
report_overdriven_netson3_5_place_dp.odbhas no output (= no overdriven nets).I think this might be related to clock gates, because there are 32 clock gates in my design. I'm using ASAP7.
I'm using ASAP7 with a custom clock gating flow with Yosys that looks like this (OpenROAD flow scripts diffs):
My design has
(* keep *) OPENROAD_CLKGATE clock_gate();in it, but otherwise all the clock gates are being generated automatically.I think mainly I feel like OpenROAD's guarantees around multidriven nets are unclear to me. It is legal for CTS to introduce multidriven nets (e.g.: clock meshes), but they complicate static timing analysis, netlist simulation, and equivalence checking. Without knowing whether CTS intentionally introduces multidriven nets, I can't tell if the tool is broken. So there should be documentation around this and other pass invariants. If it is not intentional, I would recommend at least adding something to the flow that errors if multidriven nets are introduced.
Beta Was this translation helpful? Give feedback.
All reactions