AMBA AXI · Module 11
TLAST & Packet Boundaries
How AXI4-Stream's TLAST signal frames a continuous stream into packets — what a packet is, where TLAST asserts, framed vs unframed streams, and how receivers, DMAs, and switches use packet boundaries.
A bare AXI4-Stream (Chapter 11.2) is an endless sequence of data words — there's no notion of where one logical unit ends and the next begins. TLAST adds that structure: a single bit the source asserts on the last word of a packet, framing the continuous stream into discrete packets (also called frames or transfers). This is essential whenever data has variable-length logical units — network frames, video lines, DMA descriptors — and the receiver needs to know boundaries. This chapter covers what a packet is, exactly where TLAST asserts, the framed-vs-unframed distinction, and how receivers, DMAs, and switches use the boundary.
1. What TLAST Does
TLAST is a 1-bit signal driven by the source. When asserted on a transferring word (a word where TVALID and TREADY are both high), it marks that word as the last of the current packet. The next transferring word begins a new packet. So a packet is the sequence of words from just after the previous TLAST up to and including the word with TLAST = 1.
Without TLAST, the stream is unframed — a continuous, boundary-less flow (e.g., a never-ending sensor sample stream). With TLAST, the stream is framed into packets of (possibly variable) length. TLAST is the only thing that delimits packets — there's no length field; the boundary is wherever the source asserts TLAST.
2. On the Wire
Two packets — D0,D1,D2 then D3,D4 — delimited by TLAST:
tlast-framing — two packets delimited by TLAST
7 cycles3. Framed vs Unframed Streams
Not every stream uses TLAST — it depends on whether the data has packet structure:
- Framed (uses
TLAST): data comes in discrete, often variable-length units that the receiver must delimit — network/Ethernet frames, video lines or frames, packetized DMA transfers, message-based protocols. The receiver needs to know where each unit ends. - Unframed (no
TLAST): a continuous, boundary-less flow with no packet structure — a steady audio/sensor sample stream, a fixed-rate datapath. Every word is equivalent; there's nothing to delimit.
When a stream omits TLAST, it's effectively "one infinite packet" (or boundaries are irrelevant). When it includes TLAST, the receiver and any downstream logic must honor the boundaries. The choice is part of the interface contract between source and sink — both must agree on whether the stream is framed.
4. How Boundaries Are Used Downstream
TLAST matters because downstream consumers act on packet boundaries:
- A receiver/DMA writing a stream to memory uses
TLASTto know when a complete packet has arrived — e.g., to finalize a buffer, advance a descriptor, raise an interrupt, or record the packet length (by counting words untilTLAST). A "packet DMA" delimits memory buffers byTLAST. - A stream switch/router uses
TLASTtogether withTDESTto route whole packets: it commits to a destination for a packet and keeps routing there untilTLAST, then re-evaluates for the next packet (so a packet isn't split mid-flight to different destinations). - Protocol/packet processing (parsers, classifiers) uses
TLASTto know a unit is complete before acting on it.
Because there's no length field, everything downstream that cares about units relies on TLAST being correct. A wrong boundary corrupts the framing for every consumer.
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
TLAST frames an otherwise-continuous AXI4-Stream into packets: the source asserts it on the last word of a packet (on a transferring word — both TVALID/TREADY high), and the next transferring word begins a new packet. A packet is the words up to and including the TLAST word, and since there's no length field, TLAST is the sole delimiter — packets are naturally variable-length, their length found by counting words until TLAST. Streams are framed (use TLAST — Ethernet, video, packetized DMA) or unframed (omit it — continuous audio/sensor flow), a choice that's part of the source/sink contract.
Downstream, everything unit-aware relies on TLAST: a DMA finalizes buffers/advances descriptors/records length on it, a switch routes a whole packet to one TDEST until TLAST, and processors act on complete units. Its bugs are framing corruption — missing TLAST merges packets, spurious splits them, misplaced mis-sizes them — and the cure is a packet-reconstruction scoreboard keyed on TLAST (covering single-word packets, back-to-back packets, and intra-packet bubbles, since framing and flow control are orthogonal). Next: the byte qualifiers TKEEP and TSTRB — which bytes of TDATA are valid.
10. What Comes Next
You've got packet framing; next, byte-level qualifiers:
- 11.4 — TKEEP & TSTRB (coming next) — the byte qualifiers marking which bytes of
TDATAare valid data vs position/null bytes, for partial and packed transfers.
Previous: 11.2 — TVALID, TREADY & TDATA. Related: 11.1 — The AXI4-Stream Mental Model for the streaming paradigm. For the broader protocol catalog, see the AMBA family overview doc.