Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • The NanoSoC Tour
  • Reading Path
  • SoC Glossary10
  • SoC Metrics Reference
  • SoC Cheatsheet
  • What SoC Integration Is12
    • The Integrator Role and Handoffs
    • Spec to Tapeout Flow
      • Milestones, Deliverables and Freezes
      • Where Integration Bugs Are Cheapest
      • Integration Reviews and Gates
    • Contracts and Ownership
    • Reading the SoC Spec
  • Architecture and Budgets21
  • Memory Maps and Address Decode26
  • Interconnect and Bus Fabrics26
  • Clock and Reset Architecture24
  • Power Architecture21
  • Interrupts, DMA and Peripherals15
  • Memories, Boot and Security21
  • IP Integration and Handoff21
  • Top-Level Verification and Bring-up21
  • Package, Pads and I/O18
  • Chip Signoff and Tapeout18
  • SoC Interview Prep16
  • Capstone: Integrate NanoSoC14
Loading lesson

←Spec to Tapeout Flow
  1. Topics
  2. SoC Design
  3. What SoC Integration Is
  4. Spec to Tapeout Flow
  5. Integration Reviews and Gates
On this page

    Part 1 of 14, lesson 6 of 12Part 1 of 14/What SoC Integration Is/Lesson 6 of 12All levels

    Integration Reviews and Gates

    The gate reviews the integrator runs, what each proves, and the stamp check that guards every gate.

    Why it matters

    Gates without reviews are wishes. On NanoSoC the integration gate asks one question with teeth: does every consumer in the tree derive from the frozen tables at the stamped revision. The linker script, the C headers, the interconnect decoder, the verification memory model and the documentation table each carry a comment naming the map revision they were generated from, and the review compares the five stamps. When they match, the gate passes; when one is stale, the gate stops, because a stale consumer is a bug with a version number. Four standing reviews make that question the same at every gate.

    The core idea

    Four reviews carry the project, each owned by the integrator but staffed by the owners it judges. The handoff review accepts or rejects each block bundle before it is wired in. The map and table review freezes the shared tables and stamps every generated consumer. The sequence review walks reset release, power-up, power-down, clock enabling and boot against the specified orders with simulation evidence. The signoff review checks the cross-discipline matrix: timing, power, CDC, DFT, functional, software and package, each with an owner and a waiver state. Each review ends in one of three states: pass, pass with dated waivers, or fail with a missing list. Pass with waivers is normal; waivers without dates or owners are failures wearing a nicer name.

    Review

    When

    Proves

    Fails on

    Handoff review

    Before wiring each block

    Bundle complete or dated-waived

    Missing collateral wired around

    Map and table review

    Integration freeze

    All consumers stamped to one revision

    One stale header or decoder

    Sequence review

    Before verification closure

    Reset, power, clock and boot orders simulated

    Release order assumed, never shown

    Signoff review

    Tapeout gate

    Matrix green or risk-accepted per waiver

    Open waiver without evidence or owner

    The stamp checker

    The script below is the map-and-table review in miniature: five NanoSoC consumers each stamping a map revision, a pass when all stamps match the frozen revision, and a failure that names the stale consumer when the header lags one revision behind. Pair it with the overlap checker from the map lessons and the wiring checker from the handoff topic, and the integration gate is three scripts plus judgement instead of a day of slide reading.

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    FROZEN = "map rev 7"  # the integration freeze all consumers build against
    
    def gate(consumers, frozen):
        stale = [name for name, stamp in consumers.items() if stamp != frozen]
        return ("pass", []) if not stale else ("fail", stale)
    
    fresh = {"linker": FROZEN, "headers": FROZEN, "decoder": FROZEN,
             "test_model": FROZEN, "docs": FROZEN}
    assert gate(fresh, FROZEN) == ("pass", [])
    
    stale = dict(fresh, headers="map rev 6")  # header regenerated late
    state, missing = gate(stale, FROZEN)
    assert state == "fail" and missing == ["headers"], missing
    
    # A frozen table never moves silently: bumping the freeze re-stamps all.
    refrozen = {name: "map rev 8" for name in fresh}
    assert gate(refrozen, FROZEN)[0] == "fail"  # old freeze no longer matches
    assert gate(refrozen, "map rev 8") == ("pass", [])
    print("PASS: five stamps match; stale header named; refreeze detected")

    What the review looks for

    • Each review record quotes the revision it judged, the evidence attached, and the waiver dates accepted.

    • No consumer builds against an unfrozen table after the freeze; the stamp check runs on every build.

    • The signoff matrix has one owner per cell and no cell is both red and unowned.

    Verify and debug

    When a gate fails, fix the process before the artefact: a stale header means regeneration was manual, so automate it; a missing sequence proof means no testbench drives the order, so write one. For the pre-silicon versus post-silicon split that the signoff review straddles see Pre-Silicon and Post-Silicon; for workload-driven architecture context see Workload Taxonomy.

    Partial reset hang: one block is reset, by a software reset, while the other side of an interface is mid-transaction, so the bus waits for a response that will never come. The sequence review exists for exactly this: it demands a drain or quiesce handshake before any partial reset, bridges reset together or flushed, and directed tests that reset mid-transfer.

    If asked how you run a tapeout review, answer with the matrix: one row per discipline, one owner per cell, evidence or a dated waiver in each, and the rule that an unowned red cell stops the tapeout.

    Check yourself The map review passes with all stamps matching, but simulation still fetches from the wrong SRAM. What broke?

    The table itself is wrong, not the stamping: all consumers faithfully derive from a bad source. Stamps prove consistency, not correctness; correctness needs the overlap, alignment and address-content checks from the map lessons.

    Related topics

    • Where Integration Bugs Are Cheapest

    • Next: Contracts and Ownership

    • Architecture: SoC Architecture Tradeoffs

    Previous

    11 / 289

    Next: Contracts and Ownership

    Up next

    Up nextContracts and Ownership

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Milestones, Deliverables and Freezes