How do you actually invoke split_clock_cells, and what are the two ways to specify what gets split?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
You can split by cell (-cells [get_cells U1/ICG*]) to target specific clock cells directly, or by load (-loads {list1 list2}) to specify which load groups should end up on which resulting split cell -- two different entry points into the same underlying operation, chosen based on whether you're thinking in terms of cells or in terms of load distribution.
Technical Explanation
- -cells [get_cells U1/ICG*] targets specific clock cells directly for splitting -- you name the cells, the tool figures out the load division.
- -loads {list1 list2} specifies which load groups should end up on which resulting split cell -- you control the load division directly instead of leaving it to the tool.
- Both are entry points into the same underlying split_clock_cells operation; which one you use depends on whether you're thinking in terms of "which cells" or "which loads go where."
Common Mistake
The Trap: Using -cells when you actually need explicit control over which loads land on which resulting cell -- -cells lets the tool decide the split, -loads doesn't.
Follow-up Question & Model Response
"If you need a specific load to end up on a specific resulting split cell, which option must you use and why?"
Candidate Model Response: -loads must be used, since -cells lets the tool decide the load division automatically and gives no direct control over which specific load ends up on which resulting cell.
Practical Example
Practical Example: split_clock_cells -cells [get_cells U1/ICG*] splits every matching ICG cell with an automatic load division. split_clock_cells -loads [list loads1 loads2] instead explicitly assigns loads1 to one resulting cell and loads2 to the other.
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