In what order should inputs be loaded into ICC2?
From PDVerse PnR Interview Handbook ยท pdVerse Mentor Guide
Short Answer
Load inputs in dependency order: establish the library and technology context, read and resolve the design, then apply compatible physical, power, and timing setup before validating and saving the initial state. The exact script follows the approved flow.
Technical Explanation
Create or open the design library with the correct reference libraries and technology. Read the structural netlist and establish the intended top block, then resolve references. Physical annotations and constraints refer to those objects, so applying them to the wrong or nonexistent block produces misleading results. Inspect the import log and design identity at this point. Read supplied floorplan information when applicable. For multivoltage designs, load and apply UPF in the methodology's required sequence, including name mapping where needed. Define modes, corners, and scenarios, assign logical and parasitic models, and apply the appropriate constraints. RC models may already be present in reference libraries or may need to be loaded; either way their corner assignments must be verified. There is no universal ordering between every floorplan, UPF, and timing substep because dependencies vary with power-grid ownership, existing low-power cells, and hierarchical setup. The invariant is that object names and contexts must exist before annotation and that all required intent is valid before optimization. Save an inspected checkpoint and reports. When automating a run, icc2_shell -file executes a setup script; record initialization-file behavior as well, because session startup can affect reproducibility.
Common Mistake
Presenting a short illustrative command list as a complete production-ready flow for every process and ICC2 release.
Follow-up Question & Model Response
Which checkpoint is most useful for debugging later QoR changes? A reproducible initial database with the exact input manifest, setup scripts, tool version, and validation reports.
Practical Example
Reading an SDC against a different current block can yield empty selections. The remedy is to restore the correct block and scenario context, then reapply and verify the constraints; it is not to delete the failing lines.
Continue practising