ExpertQuestion 145 of 161Source: Synopsys ICC2 Implementation User Guide: IC Validator In-Design (Reading Blocks for Signoff Design Rule Checking); Synopsys IC Validator User Guide: Command-Line Options

Signoff DRC passes in ICC2 but fails in standalone IC Validator on the merged GDS. Why?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

The two runs are not checking the same data. By default signoff_check_drc (ICC2) reads the design view for the top block and standard cells but only the pin information from the frame view of macros and pads, while standalone IC Validator reads every polygon in the merged GDS. Any macro geometry that the frame view abstracts away, such as internal metal near the edge, is invisible to the ICC2 run.

Technical Reference DiagramSignoff DRC passes in ICC2 but fails in standalone IC Validator on the merged GDS. Why?
Two swim lanes, ICC2 and IC Validator, showing ICC2 reading the macro frame view with pins only while standalone IC Validator reads the full macro GDS, with the extra shapes near the macro edge producing violations only in the standalone lane, and the merge_stream_files setting that closes the gap.

Technical Explanation

  • Default view selection: design view for the top block and library cells, pins from the frame view for macro and I/O pad cells. With signoff.check_drc.ignore_blockages_in_cells (ICC2) at its default of true, even the frame view's routing blockages are ignored.
  • The typical failures are spacing between a top-level strap or route and macro internal metal near the boundary, fill placed over area that is empty in the frame but not in the GDS, and via or density rules that count macro metal.
  • signoff.physical.merge_stream_files (ICC2) names GDSII or OASIS files whose data replaces the library view for the cells they define, so ICC2 checks the real macro layout. Cells in libraries listed in signoff.physical.merge_exclude_libraries (ICC2) are not replaced.
  • signoff.check_drc.read_layout_views (ICC2) reads the layout view instead, which matches the stream data it came from and runs faster. Layout views are not in cell libraries by default; set lib.workspace.save_layout_views (ICC2) to true during library preparation.
  • Precedence for child cell data is merged stream files, then layout views, then design views, then frame views. A cell with none of these is skipped during checking, which is another silent gap.
  • Other causes to rule out: a different layer map between the stream-out and signoff.physical.layer_map_file (ICC2), a newer macro GDS than the one the frame was built from, and fill data that ICC2 did not read because it was older than the design view.
  • In standalone runs, several -i (ICV) options merge libraries: the first becomes the main library and later ones are merged in with no layer mapping.

What To Check

  • Which view ICC2 read for each macro, from the run log and settings.
  • Location of standalone violations relative to macro boundaries.
  • Macro GDS date against the frame view source.
  • Layer map used for stream-out against the signoff layer map.

Command Checks & Actions

ICC2 (icc2_shell)set_app_options -name signoff.physical.merge_stream_files -value {sram_a.gds pll.oas}

Makes ICC2 signoff DRC use the real macro layouts instead of their frame views.

ICC2 (icc2_shell)set_app_options -name signoff.check_drc.read_layout_views -value {sram*}

Alternative: read saved layout views for matching macros, faster than merging stream files.

ICC2 (icc2_shell)signoff_check_drc

Reruns signoff DRC with the new view selection so both runs see the same data.

IC Validator (icv)icv -i top.gds -c top drc.rs

Standalone check of the merged GDS, the reference result.

IC Validator (icv)cell.LAYOUT_ERRORS

Location and structure name of each standalone violation, used to map errors to macro edges.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): After merging macro GDS, ICC2 reports the same 42 violations as the standalone run, all within 2 um of two macro edges.
  • Suspicious (illustrative): Counts match but a handful differ in location, suggesting a layer map or database unit difference.
  • Hard stop: The standalone run still fails on a rule ICC2 reports clean after merging, or any macro skipped because no view was found.

Common Mistake

The Trap: Waiving the standalone violations as abstraction artefacts because ICC2 is clean. The shapes are in the GDS that goes to the mask shop, and a strap 0.02 um too close to macro M4 is a real spacing violation whichever tool found it.

What The Interviewer Is Testing

  • Knowledge of which views ICC2 reads by default and how to change it.
  • Can the candidate name the view precedence order?
  • Recognising that the standalone run on the final GDS is the one that counts.

Follow-up Question & Model Response

"Why not always set signoff.check_drc.read_design_views (ICC2) to {} and be done with it?"*

Candidate Model Response: The design view shows the cell as the library saw it, which exposes problems the frame view hides, but it is still not the stream data. It also has to exist: design views are not in cell libraries unless lib.workspace.save_design_views (ICC2) was set at library preparation. For hard macros delivered as GDS, merging the stream file is the only way to check exactly what goes to the fab. Reading every design view also costs runtime on a large block.

Practical Example

Tapeout Scenario: A block with six SRAMs is clean in ICC2 but the standalone run on the merged GDS shows 42 M4 spacing violations (illustrative). All sit within 2 um of the east edge of two SRAM types, where the macro has internal M4 that its frame view drops. Setting signoff.physical.merge_stream_files (ICC2) to the two SRAM GDS files reproduces all 42 in ICC2. Adding a 0.5 um routing blockage along those edges and rerouting three straps clears them in both tools.

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.

PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out. →