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
      • Dynamic and Leakage Roll-Up
      • Thermal and Power Envelope
      • Budget Versus Measured
    • Bandwidth Budgets
    • Budget Governance
    • 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

←Power Budgets
  1. Topics
  2. SoC Design
  3. Architecture and Budgets
  4. Power Budgets
  5. Thermal and Power Envelope
On this page

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

    Thermal and Power Envelope

    From milliwatts to degrees: proving NanoSoC fits its package envelope and knowing what throttles first.

    Why it matters

    A power table is only half of a power budget. The milliwatt table says what the chip burns; the envelope says what the package and the board can carry away. A chip that meets every power row but exceeds its junction temperature still fails, slowly and in the field. NanoSoC is a cool chip, which makes it the safe place to learn the check that hot chips live or die by.

    The core idea

    Junction temperature is ambient plus power times thermal resistance: Tj = Ta + P x theta-JA. The NanoSoC specification gives P in every state; the package gives theta-JA and the product gives Tj, which must stay under the rated maximum with margin. Three envelopes matter, not one. The sustained envelope covers continuous RUN: average power against the steady-state resistance. The peak envelope covers short bursts above it: thermal capacitance absorbs brief peaks, but a peak held too long becomes sustained. The state envelope covers duty-cycled operation: average power is the time-weighted mean of RUN, IDLE and SLEEP, which is why the power-state table exists.

    Diagram
    # not-run: NanoSoC thermal sketch, illustrative package values
    RUN power 82.74 mW. Illustrative package theta-JA 30 K/W, ambient 55 C:
      rise = 0.08274 x 30 = 2.48 K; Tj about 57.5 C. Comfortable.
    Sustained limit (illustrative) 500 mW: NanoSoC uses 17% of it.
    Peak check: no NanoSoC workload exceeds 100 mW for longer than
      microseconds; capacitance covers it with no throttling needed.
    Duty-cycled mean (10% RUN, 30% IDLE, 60% SLEEP): about 14.2 mW.

    The calculator

    The script checks the envelope arithmetic: sustained rise, duty-cycled mean from the state table, and the energy of one DMA job as the unit peak event. Package numbers are labelled illustrative wherever the NanoSoC specification is silent.

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    p_run, p_idle, p_sleep = 82.74e-3, 16.89e-3, 1.40e-3
    theta_ja = 30.0  # illustrative package value (specification is silent)
    ambient = 55.0  # illustrative ambient (specification is silent)
    t_j = ambient + p_run * theta_ja
    assert abs(t_j - 57.48) < 0.05, t_j
    assert t_j < 105.0  # illustrative junction limit
    mean = 0.10 * p_run + 0.30 * p_idle + 0.60 * p_sleep
    assert abs(mean * 1e3 - 14.18) < 0.05, mean * 1e3
    energy_job = 82.74e-3 * 750e-9  # RUN power across the 64-word job
    assert abs(energy_job - 62.1e-9) < 0.2e-9, energy_job
    # The worst supported duty cycle triples the mean: the check must be run there.
    mean_50 = 0.50 * p_run + 0.30 * p_idle + 0.20 * p_sleep
    assert abs(mean_50 * 1e3 - 46.7) < 0.1, mean_50 * 1e3
    assert mean_50 > 3 * mean
    print(f"PASS: Tj {t_j:.1f} C, duty mean {mean*1e3:.2f} mW (50% RUN: {mean_50*1e3:.1f} mW), job {energy_job*1e9:.1f} nJ")

    What the review looks for

    • All package thermal values labelled illustrative or NanoSoC teaching values, never presented as typical of any vendor.

    • Three envelopes checked: sustained, peak duration, and duty-cycled mean.

    • The throttling order written down: what slows first, and what software does about it.

    Verify and debug

    Recompute the mean whenever the duty cycle changes: a product that runs 50% RUN instead of 10% multiplies the mean by four. Ask which duty cycle the envelope assumes, and test the firmware governor against the one beyond it; the pitfall below is what happens when nobody asks.

    Thermals validated at the wrong duty cycle. The envelope was checked at 10% RUN, where the mean is about 14.2 mW, while the product firmware runs 50% RUN with 30% IDLE and 20% SLEEP, where the mean is about 46.7 mW: more than three times the heat for the same chip. Write the duty cycle beside every envelope number and run the check at the worst duty cycle the product supports, not the one in the datasheet example.

    If asked how you prove a chip stays cool, write Tj = Ta + P x theta-JA, price P from the state table with a duty cycle, and name the throttle: clock, workload, or sleep. Numbers beat adjectives.

    Treat the peak envelope as a time limit, not a power limit: brief excursions above sustained are absorbed by thermal capacitance, but a peak held past the package time constant becomes the new sustained. The firmware governor therefore needs two thresholds — a power trip that sheds load at once and a temperature trip that duty-cycles work over seconds — with the power trip set below the point where the regulator droops. NanoSoC never approaches either, which is why the lesson records the structure rather than tuning the values; the deeper throttling and DVFS treatment belongs to the power-architecture section.

    Check yourself NanoSoC needs no throttling. What would force it?

    Sustained power near the illustrative 500 mW envelope — a far hotter workload or a far worse package. Then the governor slows the clock or duty-cycles work, trading throughput for temperature.

    Related topics

    • Dynamic and Leakage Roll-Up

    • Next: Budget Versus Measured

    • Arch: Power and Energy

    Previous

    28 / 289

    Next: Budget Versus Measured

    Up next

    Up nextBudget Versus Measured

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error