AXI-Stream
Проектирование цифровых вычислительных систем�Прутьянов В. В.
AMBA
Источник: Introduction to AMBA AXI4
AMBA: AXI-Stream
Источник: Introduction to AMBA AXI4
AXI-Stream
AXI-Stream:
IP для SoC:
IP для FPGA:
Основные сигналы
Сигнал | Источник | Ширина | Примечание |
ACLK | Clock | 1 | Глобальный clock |
ARESETn | Reset | 1 | Глобальный reset |
TVALID | TX | 1 | Handshake |
TREADY | RX | 1 | |
TDATA | TX | TDATA_WIDTH | Целое число байт |
TID | TX | TID_WIDTH | Data strea ID |
TSTRB | TX | TDATA_WIDTH/8 | Data or position byte |
TKEEP | TX | TDATA_WIDTH/8 | Transmit byte to dest. |
TLAST | TX | 1 | End of packet |
TDEST | TX | TDEST_WIDTH | Routing information |
TUSER | TX | TUSER_WIDTH | User information |
Соединение
Handshake signaling
Clock and Reset
Термины
Термины
Пример: передача кадра видеопотока
TKEEP and TSTRB
TKEEP and TSTRB
TID and TDEST
Interleaving and Ordering
Interleaving:
Ordering:
Пример: interleaving by interconnect
TX A
TX B
A4S
Interconnect
RX
Тестирование
// Send 1 AXI4-Stream transfer
task automatic axis_send;
input [DATA_W-1:0] data;
begin
wait (rst_n);
@(posedge clk);
tdata <= data;
tvalid <= 1'b1;
@(posedge clk);
while (!tready)
@(posedge clk);
tvalid <= 1'b0;
end
endtask
// Receive 1 AXI4-Stream transfer
task automatic axis_recv;
output [DATA_W-1:0] data;
begin
wait (rst_n);
@(posedge clk);
tready <= 1'b1;
@(posedge clk);
while (!tvalid)
@(posedge clk);
data = tdata;
tready <= 1'b0;
end
endtask
Verification IP
Литература