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

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • How to Read the Diagrams
  • Part 0: What Is a Protocol?10
  • Part 1: Timing and Clocking11
  • Part 2: Encoding and Framing12
  • Part 3: Handshakes13
  • Part 4: Flow Control17
  • Part 5: Transactions19
  • Part 6: Concurrency and Performance17
  • Part 7: Ordering13
  • Part 8: Sharing and Arbitration12
  • Part 9: Deadlock and Liveness13
  • Part 10: Reliability and Recovery20
  • Part 11: Bring-Up and Link Management10
  • Part 12: Power8
  • Part 13: Shared State and Coherence9
  • Part 14: Security and Isolation7
  • Part 15: Specifying and Verifying11
  • Part 16: Protocols Dissected17
    • How to Dissect a Protocol
    • UART
    • SPI
    • I2C
    • APB
    • AHB
    • AXI4
    • AXI-Stream
    • PCI Express
    • DDR
    • CHI
    • Ethernet
    • USB
    • UCIe
    • CXL
    • Protocols Compared: Protocols Dissected
    • Drills: Protocols Dissected
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 16: Protocols Dissected
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 16: Protocols Dissected
  4. AXI-Stream

Part 16 · Protocols Dissected · Working (W)

AXI-Stream

AXI-Stream dissected through the twenty questions: AXI's valid/ready handshake with no addresses, no reads and no responses, packets marked by TLAST, and streams named by TID and routed by TDEST. What a protocol looks like when data simply flows one way.

On this page

    Note

    Level: Working (W) · Answers: How do real protocols answer the fifteen questions?

    Before this: AXI4, Memory, Message and Stream Semantics

    A video pipeline passes pixels from a camera interface to a scaler, then a colour converter, then an encoder. Nobody reads or writes an address; data simply flows from one block to the next, a packet per video line. Using AXI4 would mean inventing addresses nobody needs. AXI-Stream keeps AXI's handshake and throws away everything about memory.

    How does AXI-Stream answer each question when there is no address and no response?

    Constraints first: what AXI-Stream had to work with

    Constraint

    AXI-Stream

    C1 Distance and medium

    On-chip wires

    C2 Bandwidth and latency

    High, steady throughput: one beat per cycle

    C3 Wires

    Data plus a few sideband signals

    C4 Topology

    Point-to-point between processing stages, sometimes through stream switches

    C5 Who builds each side

    Many IP vendors; Arm specification (IHI 0051)

    There are no requests or responses, only data moving forward with back-pressure; routing and stream identity are sideband fields, not addresses.

    AXI-Stream's answers to the fifteen questions

    Each answer links to the lesson that explains the idea behind it.

    #

    Question

    Answer

    1

    When is the data valid?

    A common clock, ACLK (1.1)

    2

    Where does a message start and end?

    TLAST marks the last transfer of a packet; TKEEP marks null bytes (fact A9) (2.2)

    3

    Is the receiver ready?

    TVALID/TREADY with AXI's rules (fact A10) (3.3)

    4

    How much may I send before I hear back?

    TREADY back-pressure, hop by hop (4.1)

    5

    What exactly is being asked?

    No addresses, reads or writes: a one-way stream with TID, TDEST and TUSER sideband (fact A32) (0.8)

    6

    How many requests can be in flight?

    One beat per cycle; nothing is outstanding because nothing is answered (6.1)

    7

    In what order do results become visible?

    In order within a stream; different streams may be interleaved (fact A32) (6.7)

    8

    Who gets the wire?

    Switches arbitrate between streams, usually at packet boundaries so packets stay contiguous (8.5)

    9

    Why can it hang?

    No request/response dependencies, but a loop of stages with finite buffers, or a sink waiting for a whole packet that cannot arrive, can still deadlock (9.2)

    10

    What if bits go wrong?

    Not addressed: no error signalling; systems use TUSER or higher layers

    11

    How do the two sides agree at start-up?

    None: reset rules as AXI

    12

    How do we save power without losing data?

    Not addressed by the protocol

    13

    What if there are several copies of one value?

    Not applicable: no shared memory

    14

    Who is allowed to ask?

    Not addressed: no protection attributes

    15

    How do we know it is correct?

    Arm protocol assertions (fact A29); monitors framing packets by TLAST (15.4)

    The choices that define AXI-Stream

    • Handshake only: the valid/ready rules are the whole protocol; everything else is optional sideband.

    • Packets by TLAST: framing is a single bit, not a length field.

    • Sideband identity: TID and TDEST replace addresses for routing and stream identity.

    What breaks

    A packet switch (illustrative) arbitrated between two sources on every beat, interleaving their packets, while the downstream block assumed each packet arrived contiguously. Mixed packets corrupted frames. Either the switch arbitrates only at TLAST boundaries, or every stage must handle interleaving by TID; the choice must be stated in the design's interface contract.

    Why this matters

    Senior lens. AXI-Stream shows what remains of a protocol when the semantics are "data flows forward": a handshake and framing. Most of its integration bugs come from what the specification leaves optional: whether interleaving is allowed, what TUSER means, what TKEEP patterns are legal. Write those choices into each stream's contract.

    Interview

    Asked: "When would you use AXI-Stream instead of AXI4?"

    Weak answer: When you need more speed.

    Strong answer: When data flows one way between processing stages and nobody needs addresses or responses: video, packet processing, DSP pipelines. AXI-Stream keeps AXI's TVALID/TREADY handshake and adds packet framing with TLAST, null bytes with TKEEP and optional TID, TDEST and TUSER sideband for stream identity, routing and user data. It has no reads, no responses, no outstanding transactions and no error signalling, so it's simpler and lower latency, but anything memory-like or anything needing acknowledgement belongs on AXI4.

    Follow-ups: (1) How does a switch keep packets contiguous? (2) What does TKEEP do?

    Check yourself How does a receiver find the end of an AXI-Stream packet?

    The transfer with TLAST high is the packet's last.

    Check yourself Why can't AXI-Stream report an error to the sender?

    There is no response channel; errors must travel forward in TUSER or be handled at a higher layer.

    Key takeaways

    • AXI-Stream: AXI's handshake, no addresses or responses, packets by TLAST.

    • TID, TDEST and TUSER give stream identity, routing and sideband; TKEEP marks null bytes.

    • State interleaving and sideband meaning in each stream's contract.

    Keep going

    Next: Lesson 16.9, PCI Express. A layered, packet-switched serial interconnect, and nearly every mechanism in this course.

    Related topics

    • Part 16 overview: Protocols Dissected

    Previous

    214 / 234

    Next: PCI Express

    Up next

    Up nextPCI Express

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • How to Dissect a Protocol
    • UART
    • SPI