1 of 14

AXI-Stream

Проектирование цифровых вычислительных систем�Прутьянов В. В.

2 of 14

AMBA

Источник: Introduction to AMBA AXI4

3 of 14

AMBA: AXI-Stream

Источник: Introduction to AMBA AXI4

4 of 14

AXI-Stream

AXI-Stream:

  • AXI4-Stream
  • AXI5-Stream
    • Wake-up signaling
    • Interface protection using parity

5 of 14

Основные сигналы

Сигнал

Источник

Ширина

Примечание

ACLK

Clock

1

Глобальный clock

ARESETn

Reset

1

Глобальный reset

TVALID

TX

1

Handshake

TREADY

RX

1

TDATA

TX

TDATA_WIDTH

Целое число байт

TID

TX

TID_WIDTH

Идентификатор

TSTRB

TX

TDATA_WIDTH/8

Data or null byte

TKEEP

TX

TDATA_WIDTH/8

Transmit byte to dest.

TLAST

TX

1

Конец пакета

TDEST

TX

TDEST_WIDTH

Routing information

TUSER

TX

TUSER_WIDTH

User information

6 of 14

Соединение

7 of 14

Handshake signaling

  • For a transfer to occur, both TVALID and TREADY must be asserted. Either TVALID or TREADY can be asserted first, or both can be asserted in the same ACLK cycle.
  • TX is not permitted to wait until TREADY is asserted before asserting TVALID. Once TVALID is asserted, it must remain asserted until the handshake occur.
  • RX is permitted to wait for TVALID to be asserted before asserting TREADY. It is permitted that RX asserts and deasserts TREADY without TVALID being asserted.

8 of 14

Clock and Reset

  • A single clock signal, ACLK, is used by each component. All input signals are sampled on the rising edge of ACLK. All output signal changes must occur after the rising edge of ACLK.
  • ARESETn is a single, active-LOW reset signal. The reset signal can be asserted asynchronously, but deassertion must be synchronous after the rising edge of ACLK.
  • During reset, TVALID must be driven LOW. All other signals can be driven to any value.
  • TX interface must only begin driving TVALID at a rising ACLK edge following a rising edge at which ARESETn is asserted HIGH.

9 of 14

Термины

  • Transfer
    • A single transfer of data across an AXI-Stream interface.
    • A single transfer is defined by a single TVALID and TREADY signal handshake.
  • Packet
    • A group of bytes that are transported together across an AXI-Stream interface.
    • A packet can consist of a single transfer or multiple transfers.
  • Frame
    • A frame contains an integer number of packets.
    • A frame can have a very large number of bytes, for example an entire video frame buffer.
    • A frame is the highest level of byte grouping in an AXI-Stream interface.
  • Data stream
    • The transport of data from one source to one destination.

10 of 14

TKEEP and TSTRB

  • TKEEP
    • When TKEEP = 1, the associated byte must be transmitted to the destination
    • When TKEEP = 0, the associated byte is a null byte that can be removed from the stream
  • TSTRB
    • When TKEEP = 1, TSTRB indicates whether the associated byte is a data byte or a position byte
    • When TSTRB = 1, the associated byte contains valid information and is a data byte
    • When TSTRB = 0, the associated byte does not contain valid information and is a position byte

11 of 14

TKEEP and TSTRB

12 of 14

TID and TDEST

  • TID – Provides a stream identifier that can be used to differentiate between multiple streams of data that

are being transferred across the same interface

  • TDEST – Provides coarse routing information for the data stream
  • Transfers that have the same TID and TDEST values are from the same stream

13 of 14

Interleaving and Ordering

Interleaving:

  • Transfer interleaving is the process of interleaving transfers from different streams on a transfer-by-transfer basis
  • TX can interleave streams at source and an interconnect can interleave streams from multiple TXs at a point of convergence
  • RXs can be designed to accept any number of interleaved streams or a limited number of interleaved streams

Ordering:

  • The AXI-Stream protocol requires that all transfers remain ordered
  • The reordering of transfers is not permitted

14 of 14

Литература

  • AMBA AXI-Stream Protocol Specification