What does mark_clock_trees actually let you control beyond just "this tree is done"?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
mark_clock_trees can scope to specific clocks (-clocks, default is all clocks/modes/active scenarios), mark a tree synthesized (-synthesized, the default) or clear that (-clear), apply or remove dont_touch, propagate non-default clock routing rules or clock cell spacing rules, mark clock sinks fixed, and freeze routing of clock nets. It's a multi-purpose flagging command, not just a single boolean toggle.
Technical Explanation
- -clocks scopes the command to specific clocks; the default is all clocks across all modes and active scenarios.
- -synthesized marks the tree as synthesized (the default behavior); -clear removes that mark; -dont_touch/-clear -dont_touch apply or remove dont_touch on the tree.
- -routing_rules and -clock_cell_spacing propagate non-default clock routing rules (set_clock_routing_rules) and clock cell spacing rules (set_clock_cell_spacing) onto the marked tree.
- -fix_sinks marks clock sinks fixed; -freeze_routing freezes routing of the clock nets -- both protect the tree from further movement/rerouting.
Common Mistake
The Trap: Treating mark_clock_trees as a single synthesized/not-synthesized toggle, when it actually controls several independent protections (dont_touch, fixed sinks, frozen routing, rule propagation) at once.
Follow-up Question & Model Response
"Why would you want to freeze routing on a clock tree separately from marking it dont_touch?"
Candidate Model Response: Because dont_touch protects the cells and structure from optimization changes, but a design could still get physically rerouted (e.g. by a later routing pass) without route freezing specifically preventing that -- the two protections cover different failure modes.
Practical Example
Debug Scenario: A clock tree is finalized and needs protection from a later ECO accidentally disturbing it. mark_clock_trees -clocks [get_clocks clkA] -dont_touch -fix_sinks -freeze_routing locks down placement, sink locations, and routing all at once, not just the synthesized flag.
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
Continue practising