CDC signoff is a loop, not a single run. The design is checked structurally, every reported crossing is classified, defects are fixed, and the analysis is repeated until the only open items are reviewed waivers. Knowing the shape of the loop matters because each stage answers a different question, and skipping one silently moves its question to tape-out.
Stage | Consumes | Produces | Question it answers |
|---|---|---|---|
Setup | RTL, clock and reset architecture, intent | Clock list, relationships, constraints | What should the analysis assume? |
Structural analysis | RTL plus setup | Full crossing inventory with classifications | Where are all the crossings, and what structure guards each? |
Classification | The inventory | Defects, items needing waivers, clean crossings | Which findings are real bugs? |
Fix | The defect list | New RTL or corrected constraints | How is each defect removed? |
Re-run | New RTL under the same setup | Fresh inventory to compare | Is it actually fixed, and did anything else break? |
Signoff | Clean inventory, waivers, reviews | Signed record | Is there evidence for every crossing? |
A fix changes the RTL, so the previous inventory is stale: a moved synchroniser can expose a new path, and a new block can add crossings nobody classified. Re-running under the same setup keeps runs comparable, which the dashboard topic relies on. Changing the setup and the RTL in the same step makes it impossible to say which change moved the numbers.
Structural analysis checks that every crossing has a recognised synchronising structure. It does not prove the protocol around the structure is correct, it does not time the paths, and it does not observe the design running. Those are separate methods with their own place in regression, covered in the formal and simulation topic.
No. Either the fix or the setup change could explain the difference. Re-run once more with only one of the two changed before drawing conclusions.
A setup problem: a missing clock definition or an over-broad hierarchy exclusion means the analysis never looked. A flat zero on a design known to have crossings is evidence of blindness, not cleanliness.