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

  • 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
      • Stage 1: Specification
      • Stage 2: CSR and Control
      • Stage 3: Buffered Streams
      • Stage 4: CDC and Reset
      • Stage 5: Arithmetic and Reliability
      • Stage 6: Verification
      • Stage 7: Constraints and Implementation
      • Stage 8: Signoff Review
    • Principal Design Review
    • Senior RTL Interview Questions & Model Answers
  • Glossary and Notation
Loading lesson

←Senior & Interview
  1. Topics
  2. RTL Design
  3. Senior & Interview
  4. Capstone: Resilient Streaming Peripheral
On this page

    Part 9 of 9Part 9 of 9/SeniorSenior

    Capstone: Resilient Streaming Peripheral

    An end-to-end RTL project combining CSRs, AXI-Lite/APB control, FIFOs, AXI-Stream, CDC, interrupts, ECC/parity, assertions, constraints, and signoff evidence.

    • 8topics
    • 8lessons

    Topics in this section

    1. 1Stage 1: Specification1 lesson
    2. 2Stage 2: CSR and Control1 lesson
    3. 3Stage 3: Buffered Streams1 lesson
    4. 4Stage 4: CDC and Reset1 lesson
    5. 5Stage 5: Arithmetic and Reliability1 lesson
    6. 6Stage 6: Verification1 lesson
    7. 7Stage 7: Constraints and Implementation1 lesson
    8. 8Stage 8: Signoff Review1 lesson

    The capstone is a configurable streaming peripheral. Software programs it through a control bus; input and output data use valid/ready streams; optional processing runs in a second clock domain; FIFOs absorb backpressure; errors produce sticky status and interrupts.

    The project joins the major RTL course contracts in one reviewable subsystem.

    Lessons in this topic

    8 lessons, about 37 min

    1. 1Stage 1: SpecificationYou can write a one-page interface specification for a streaming peripheral, with ids that later tests, assertions and reports can point back to.8 min
    2. 2Stage 2: CSR and ControlYou can turn a bus write into a one-cycle internal command, keep configuration stable during an operation, and say what the response does and does not report.7 min
    3. 3Stage 3: Buffered StreamsYou can store payload and packet metadata in the same FIFO entry, hold valid and data through a stall, and state what a graceful abort does with an open packet.4 min
    4. 4Stage 4: CDC and ResetYou can choose a crossing method for each signal, release each reset in its own clock domain, and recover from a one-sided reset without losing track of accepted work.4 min
    5. 5Stage 5: Arithmetic and ReliabilityYou can keep data, correction status and poison state aligned through the pipeline, and state what SECDED and parity-only protection each guarantee.4 min
    6. 6Stage 6: VerificationYou can key a scoreboard by epoch, operation, tag and beat, write the conservation equation, and list the mutations that must fail.5 min
    7. 7Stage 7: Constraints and ImplementationYou can list the implementation checks a streaming block needs, audit constraint coverage before reading slack, and bind reports to the design and tools that produced them.2 min
    8. 8Stage 8: Signoff ReviewYou can run a signoff review that traces each requirement to a test, report and owner, and decide approve, conditional approve or reject with named actions.3 min

    The capstone is intentionally architecture-first. Each stage has a reviewable artifact before code expands, mirroring a real block delivery.

    A filled reference configuration now anchors the stages: CP-1 is a one-input/one-output Q1.15 gain transform, not a frame accumulator. Keep this baseline reproducible before adding APB, selectable arithmetic or a framed MAC. The specification, traces and checker sketch below are supplied teaching artifacts; the complete peripheral, drivers, integration harness and measured signoff reports remain learner deliverables.

    Check yourself What makes this a capstone rather than one large coding exercise?

    It requires consistent contracts and evidence across software, protocol, FIFO, CDC, arithmetic, verification, timing, low-power/DFT, and signoff boundaries.

    Revision sheet

    The whole topic on one page, taken from each lesson's Remember box. Read it before an interview, or print it.

    Stage 1: Specification

    • Freeze clock domains, buffer policy, latency and numeric format before stage 2.

    • Each later artefact cites a requirement id, so a changed decision shows its cost.

    • The numeric reference is written down: round to nearest even, then clamp to 16 bits.

    Rule of thumb: if a decision is not in the spec with an id, nobody can say what to verify.

    Stage 2: CSR and Control

    • A command is an event: the CSR turns one accepted write into one internal pulse.

    • The response reports acceptance, not completion. Status and the interrupt report completion later.

    • A configuration snapshot is taken at START; a write while busy is rejected.

    Rule of thumb: the bus adapter never reaches into datapath state; it hands over pulses, a snapshot and status events.

    Stage 3: Buffered Streams

    • Payload, last, keep, tag and error flags travel together in one entry.

    • A transfer happens only on the edge where valid and ready are both high; counters count only those.

    • Graceful abort finishes the open packet, blocks new ones and drains accepted work.

    Rule of thumb: never update last or a tag from request levels; it must ride with its data.

    Stage 4: CDC and Reset

    • Streams cross through asynchronous FIFOs; start, config and done records cross by acknowledged handshake.

    • A one-sided reset closes admission, flushes both FIFO ends and starts a new recovery epoch.

    • Verify several clock ratios, phases and one-sided resets, not one lucky ratio.

    Rule of thumb: hold a snapshot stable and cross it with a handshake; never cross a multi-bit value bit by bit.

    Stage 5: Arithmetic and Reliability

    • A correctable error is fixed before use and sets ce on that beat; an uncorrectable one sets ue and poison and forces the data to zero.

    • A poisoned beat is still delivered, so it counts as delivered, not discarded.

    • Parity detects but cannot correct, and SECDED assumes at most two bit errors.

    Rule of thumb: the real decoder and reporting path must be exercised, so inject faults without changing the normal encoder.

    Stage 6: Verification

    • The key is (recovery_epoch, operation, packet_tag, beat_index), never the tag alone.

    • Per epoch: accepted = delivered + explicitly discarded + in flight.

    • A testbench is credible when each named mutation fails for the intended reason.

    Rule of thumb: do not reuse the implementation code as the reference, or both sides share the same bug.

    Stage 7: Constraints and Implementation

    • Reports use the exact parameter set and clock modes tested in stage 6.

    • A manifest binds the design, parameters, constraints, libraries, tools and extraction scripts.

    • Audit unconstrained paths and missing generated clocks before reading WNS.

    Rule of thumb: a clean report is only as good as the constraints behind it.

    Stage 8: Signoff Review

    • Every claim points to a specification row, a test or assertion, an implementation report and an owner.

    • Every waiver has an owner, rationale, evidence, expiry and impact.

    • Conditional approval fits only when the remaining work is bounded, owned and cannot invalidate accepted evidence.

    Rule of thumb: present the capstone as a release argument; code is one part of it.

    Practise it

    • Practice question: Design a memory-mapped register interface with read and write support

    • Practice question: Synchronous FIFO design that blocks on full and empty

    • Code lab: AXI stream handshake

    • Practice question: Debugging metastability from asynchronous reset deassertion

    • Code lab: CDC handshake

    • Interview: run a mock interview on this topic

    PreviousNext: Stage 1: Specification

    Up next

    Up nextStage 1: Specification

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Low-Power RTL Hub
    • DFT and Scan Hub
    • Physical Awareness Hub