IntermediateQuestion 11 of 222

How do you check consistency across all input files?

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

Last updated:

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.