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

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • RTL Foundations36
  • Combinational Design25
  • Sequential Design27
  • FSM & Control27
  • Timing & Clocking39
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
    • Low-Power RTL Hub
    • DFT and Scan Hub
    • Physical Awareness Hub
    • Waveform Debug Hub
    • STA and ECO Hub
    • RTL-to-Implementation Closure
    • DFT-Ready RTL
    • Capstone: Resilient Streaming Peripheral
    • Principal Design Review
      • Round 1: Three Architectures, One Decision
      • Round 2: When the Constraints Change
    • Senior RTL Interview Questions & Model Answers
  • Glossary and Notation
Loading lesson

‹Principal Design Review
  1. Topics
  2. RTL Design
  3. Senior & Interview
  4. Principal Design Review
  5. Round 1: Three Architectures, One Decision

Part 9 · Senior · Senior

Round 1: Three Architectures, One Decision

Choose an architecture for a data mover shared by a camera, an audio path and a crypto engine, with two requirements still open and budgets owned by other teams.

On this page

    Why this matters

    Architecture reviews often end with a choice and no reasons, so the first changed requirement forces the whole argument again or leaves a decision whose basis is gone.

    After this lesson you can: choose between competing architectures by finding the deciding constraint, quantify the rest, and write a decision record with owners and review triggers.

    The brief

    Your SoC needs one data-moving block for three clients. The fabric is 64 bits wide at 800 MHz, so it can move 8 bytes × 800 MHz = 6.4 GB/s. The clients ask for different things:

    Client

    Traffic

    What it cannot tolerate

    Camera

    Bursty: 1.6 GB/s peak, 0.4 GB/s average, 256-byte bursts

    Dropped lines when a burst waits too long

    Audio

    Tiny: a few KB/s, one 64-byte transfer at a time

    An underrun: each transfer must start within 2 µs of its request

    Crypto

    Steady 0.8 GB/s of 128-bit blocks

    Key or plaintext buffers reachable by the other clients

    Two facts are still open. The camera vendor may double the resolution in this tape-out. The security team has not decided whether crypto needs a physically separate path or whether address-range protection on a shared one is enough. Area, power, verification time and firmware effort are each owned by a different lead.

    The three candidates

    A: one shared engine

    B: three dedicated engines

    C: shared engine plus one secure channel

    Structure

    Descriptor rings per client, round-robin arbitration, one datapath

    One small engine per client, each with its own fabric port

    A and B mixed: camera and audio share an engine with QoS; crypto has its own channel and port

    Area (relative)

    1.0

    about 2.4

    about 1.5

    Verification effort

    High: sharing corner cases (fairness, starvation, back-pressure between clients)

    Medium: one engine design reused three times, plus three ports to integrate

    Medium to high: the shared part plus one simple channel

    Firmware

    One driver, three rings

    Three instances of one simple driver

    Two drivers

    Security

    Isolation only by address checks in shared logic

    Physical isolation

    Physical isolation for crypto

    The area and effort figures are planning estimates you would get from the leads, not measurements. The reasoning below depends on their order, not their exact values.

    Put numbers on what can be numbered

    Bandwidth is not the problem

    Peak demand is 1.6 + 0.8 + (audio, negligible) = 2.4 GB/s, 38% of the 6.4 GB/s fabric. Even if the camera doubles, 3.2 + 0.8 = 4.0 GB/s is 63%. Bandwidth does not separate the candidates.

    Latency is checkable, and it passes

    A 256-byte burst on a 64-bit fabric is 32 beats, 32 cycles at 800 MHz = 40 ns. Under round-robin, an audio request waits at most for the bursts already granted to the other two clients: 2 × 40 ns = 80 ns, against a 2 µs limit. Option A meets the latency requirement, as long as burst length stays capped; that cap is now a requirement of its own and goes into the specification.

    Security decides it

    Only one requirement separates the candidates: crypto isolation. If the security team rules that address checks in shared logic are acceptable, A is cheapest and passes every number above. If they require a separate path, A is out. That question is the one to escalate, with a deadline, because every week without an answer is a week of design work on the wrong candidate.

    The model decision

    Choose C, and record why. It meets bandwidth and latency with margin, gives crypto the physical isolation that the strictest security answer would demand, and costs about half of B's area. If security later accepts address checks, C degrades gracefully into A (the secure channel becomes a fourth ring) without a new architecture. Choosing A now would be cheaper only if security answers in its favour; choosing B pays for isolation the audio and camera paths do not need.

    Decision record

    Decision

    C: shared camera/audio engine with QoS; separate crypto channel and fabric port

    Deciding constraint

    Crypto isolation, still open; C satisfies its strictest answer

    Assumptions (owner)

    Camera burst capped at 256 bytes (camera lead); fabric stays 64-bit at 800 MHz (SoC architect); audio limit 2 µs (audio lead)

    Reversible

    QoS weights, ring sizes, burst cap: register settings

    Irreversible after floorplan

    Number of fabric ports, physical isolation of crypto

    Review triggers

    Security answer; camera resolution decision; any change to fabric width or clock

    Common pitfall

    A review that ends with "we chose C" and no assumptions cannot be revisited. When a constraint moves, nobody can tell which part of the reasoning still holds, so the team either re-argues everything or keeps a decision whose basis is gone.

    How the review is judged

    Signal

    Senior answer

    Principal answer

    Framing

    Compares the three options

    Finds the one constraint that decides between them

    Numbers

    Checks bandwidth

    Checks bandwidth and latency, and turns the burst cap it relied on into a requirement

    Uncertainty

    Picks an option

    Picks the option that survives the strictest answer to the open question, and escalates that question with a date

    Ownership

    Lists risks

    Names an owner for each assumption

    Future

    Stops at the decision

    Says which facts would reopen it and which choices become irreversible when

    Check yourself The camera doubles. Does the round-robin latency argument still hold?

    Yes, if the burst cap stays at 256 bytes: each burst is still 40 ns and audio still waits at most 80 ns. Doubling raises bandwidth to 4.0 GB/s (63% of the fabric), not burst length. If the camera team asks for longer bursts to reach the new rate, the latency check must be redone.

    Check yourself Security answers: address checks in shared logic are enough. What do you do with decision C?

    Revisit it, as the record says. A becomes the cheapest option that meets every requirement, so either fold the crypto channel into the shared engine as a fourth ring, if the floorplan still allows it, or keep C and record why the extra area is still worth it. Either way the decision changes because a recorded trigger fired, not because someone reopened the argument.

    Check yourself Why is the 256-byte burst cap now a requirement rather than a camera implementation detail?

    Because the audio latency guarantee depends on it. A larger burst lengthens the worst wait in proportion: 512 bytes would give 80 ns per burst and 160 ns worst case. Anything the decision relies on has to be written down as a requirement with an owner, or it will change without anyone checking the consequence.

    Next: Round 2: When the Constraints Change moves four of these assumptions at once.

    Remember

    • Find the one constraint that separates the options; put numbers on everything else.

    • Under an open question, choose the option that survives its strictest answer, and escalate it with a date.

    • Anything the decision relies on (a burst cap, a clock) becomes a requirement with an owner.

    Rule of thumb: a decision is only as good as the assumptions written next to it.

    How this was checked

    Arithmetic only: bandwidth (8 bytes x 800 MHz = 6.4 GB/s), burst time (32 beats at 800 MHz = 40 ns) and the 80 ns worst audio wait are calculations from the stated assumptions. Area and effort figures are planning estimates, not measurements. Nothing on this page was simulated.

    Keep going

    • Interview: run a mock interview on this topic

    Related topics

    • Arbitration

    • Round-robin arbiter

    Previous

    311 / 350

    Next: Round 2: When the Constraints Change

    Up next

    Up nextRound 2: When the Constraints Change

    Sign in to save progress

    Practice this lessonReport an error