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
  • Architecture and Budgets21
    • Partitioning and Hierarchy
    • Area Budgets
    • Timing Budgets Across Hierarchy
    • Power Budgets
    • Bandwidth Budgets
    • Budget Governance
      • Contracts with Owners
      • Margin Burn-Down
      • Budget-Change Process
    • Multi-Die and Chiplet View
  • 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

←Budget Governance
  1. Topics
  2. SoC Design
  3. Architecture and Budgets
  4. Budget Governance
  5. Contracts with Owners
On this page

    Part 2 of 14, lesson 16 of 21Part 2 of 14/Architecture and Budgets/Lesson 16 of 21All levels

    Contracts with Owners

    The budget table as a signed contract: every row has a number, an owner and a margin rule.

    Why it matters

    A budget nobody signed is advice; a budget with an owner per row is a contract the review can enforce, and the table is where that contract lives. NanoSoC's budgets are small enough to show the complete shape: area rows owned by block owners, power rows owned per domain, bandwidth rows owned per master, each with the margin rule that decides what a miss means.

    The core idea

    Every row carries five fields: the item, the budgeted number, the owner who signed it, the margin rule that applies, and the current status. Ownership means the named person explains variances and proposes covers; it never means they may change the number alone. The margin rule says how much miss the row absorbs itself (restructure, trade) before escalation. Status is one of three words: on track, at risk, or over with a waiver in flight. The table below shows the NanoSoC shape with illustrative owners; the project fills real names.

    Row

    Budget

    Owner (illustrative)

    Margin rule

    Status

    Core area 0.655 mm2 in 0.940

    69.7% utilisation

    Integrator

    Headroom 0.285; trades then governance

    On track

    Fabric area 0.040 mm2

    Synthesis estimate

    Fabric owner

    Trade with SBR slack first

    On track

    RUN power 82.74 mW

    State-table total

    Power owner

    5% band after normalisation

    On track

    DMA stream 341.3 MB/s

    Against 361.4 supply

    DMA owner

    Placement rule first, then arbitration

    At risk if same-bank

    SLEEP power 1.40 mW

    Leakage-dominated

    Power owner

    Clamp count plus enables checked

    On track

    The calculator

    The script checks the contract table mechanically: every row has an owner, a rule and a status, and the area rows still sum inside the budget.

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    rows = [
        ("core-area", 0.655, 0.940, "integrator"),
        ("xbar-area", 0.040, None, "fabric-owner"),
        ("run-power", 82.74, None, "power-owner"),
        ("dma-bw", 341.3, 361.4, "dma-owner"),
        ("sleep-power", 1.40, None, "power-owner"),
    ]
    for name, value, limit, owner in rows:
        assert owner, name
        if limit is not None:
            assert value <= limit, (name, value, limit)
    owners = {r[3] for r in rows}
    assert len(owners) >= 3
    print(f"PASS: {len(rows)} rows owned by {len(owners)} owners; all limits hold")

    What the review looks for

    • No unowned rows: every number has a name beside it.

    • Margin rules quoted per row, not one global sentence.

    • Status updated on a fixed monthly schedule, with at-risk rows carrying a dated recovery plan.

    Verify and debug

    Audit the table monthly: confirm each owner still owns the row (reorganisations silently orphan rows), each number still matches the latest measurement, and each at-risk row has moved since last month or escalated. A row at risk for two cycles without escalation is the process failing, not the block.

    A row whose owner has left the project. The SBR area row still names a person who moved to another team two months ago; the row drifts from 0.010 to 0.016 mm2 and nobody explains it because nobody receives the variance report. The status said on track for four cycles. Audit names against the people who attended the last review, and reassign a row the day its owner moves.

    If asked what you do when a row goes red, answer ownership first: the owner proposes the cover, the integrator judges it against margin, governance decides the replan. Process before numbers.

    Status values need working definitions or every owner grades generously. On track means measured inside the band with no trend toward the edge; at risk means inside the band but trending out, with a dated recovery plan attached; over means outside the band with a waiver or change entry in flight. Reorganisations orphan rows silently — a named owner who left the project is the same as no owner — so the audit confirms each name is a person who attended the last review, not a role on a chart.

    Check yourself A row has a number but no owner. What is it?

    Advice. Nobody explains its variance and nobody may change it, so it drifts until tapeout. Assign an owner before the next review or delete the row.

    Related topics

    • Next: Margin Burn-Down

    • Arch: Budget Negotiation

    • Arch: Architecture Signoff

    Previous

    33 / 289

    Next: Margin Burn-Down

    Up next

    Up nextMargin Burn-Down

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Budget-Change Process