IntermediateQuestion 11 of 222

How do you check consistency across all input files?

From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide

Short Answer

Checking each input file in isolation isn't enough — the real bugs live in the relationships between files, where each one is individually valid but they collectively describe different designs. Start with identity: does the top module, hierarchy, netlist revision, macro configuration, library release, and process/metal stack all point to the same intended design? A valid SDC for last week's netlist revision can be silently wrong for today's.

Technical Reference DiagramHow do you check consistency across all input files?

Technical Explanation

  • Checking each input file in isolation isn't enough — the real bugs live in the relationships between files, where each one is individually valid but they collectively describe different designs.
  • Start with identity: does the top module, hierarchy, netlist revision, macro configuration, library release, and process/metal stack all point to the same intended design? A valid SDC for last week's netlist revision can be silently wrong for today's.
  • Then check interfaces: do cell and pin names, port widths, and power-pin expectations in the netlist actually match what SDC and UPF are trying to select? An SDC written against old port names leaves the current design underconstrained — no error, just silently missing constraints.
  • Check physical consistency: database scale, LEF/DEF units, sites, rows, tracks, layers, vias, macro dimensions — a unit mismatch here (like DBU scale) doesn't fail loudly, it just produces wrong-by-a-constant-factor geometry.
  • Check electrical consistency: library units, voltage/temperature coverage, RC models, layer mapping, and scenario assignment — never "fix" a unit mismatch by scaling numbers until the report looks familiar, that just papers over the real bug.
  • Finally, cross-check reported statistics against upstream expectations: instance count, port count, unresolved references, clock count, macro count, scan annotation, power-domain membership. Checksums tell you a file didn't change; only these design-statistics comparisons tell you the right file was loaded in the right context.

Command Checks & Actions

ICC2check_design -checks {netlist unbound dp_pre_floorplan}

Runs the selected design-readiness checks across the loaded inputs, the structural half of input consistency.

PrimeTimecheck_timing

Finds missing or inconsistent timing setup -- the units/SDC-side half of input consistency that check_design does not cover.

ICC2report_ref_libs

Confirms every reference library that should be attached actually is, catching a silently missing input before it shows up as a mysterious downstream error.

Common Mistake

The Trap: Accepting a package solely because all filenames share the same date or because there are no fatal parser errors.

Follow-up Question & Model Response

"Which mismatch is hardest to notice?"

Candidate Model Response: A plausible but wrong model or constraint can produce believable reports; cross-file manifests and coverage checks expose it.

Practical Example

Tapeout Scenario: A DEF uses 1000 units per micrometer, so a coordinate of 100000 represents 100 micrometers. Misinterpreting that number as micrometers creates a thousandfold error. Inspect the declared unit system and import result rather than guessing scale from large numbers.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.