Why must current_block be checked before every sanity run?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Most ICC2 queries and reports operate on the current block, so correct syntax in the wrong context gives a polished but wrong answer.
Technical Explanation
current_block is the design context behind most ICC2 commands. Checking it is like reading the label on a drawing before measuring anything on it.
What To Check
• Warning sign: Counts or scenarios unexpectedly match another checkpoint. • Inspect: Start with one named object in the report and trace it to the netlist, library, or SDC statement that created it. • Correct: Select the intended block explicitly and repeat the baseline reports before any mutation.
Command Checks & Actions
• current_block: confirms the active design block
• get_blocks *: lists available design blocks
Run the commands in order. Each line answers a separate part of the check.Healthy, Suspicious & Hard-stop Results
• Expected: Most ICC2 queries and reports operate on the current block, so correct syntax in the wrong context gives a polished but wrong answer. • Investigate: Counts or scenarios unexpectedly match another checkpoint. • Stop before floorplanning when required logic or timing coverage is missing or unexplained. Select the intended block explicitly and repeat the baseline reports before any mutation.
Common Mistake
Do not assume the check passed just because ICC2 continued: Counts or scenarios unexpectedly match another checkpoint. Fix or narrowly justify the named objects, then rerun the same command.
What The Interviewer Is Testing
Be ready to explain why this matters before floorplanning: Counts or scenarios unexpectedly match another checkpoint.
Practical Example
Symptom: Counts or scenarios unexpectedly match another checkpoint. Corrective path: Select the intended block explicitly and repeat the baseline reports before any mutation.
Continue practising