23.06.2013 Views

Avalon Interface Specifications (PDF) - Altera

Avalon Interface Specifications (PDF) - Altera

Avalon Interface Specifications (PDF) - Altera

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5–10 Chapter 5: <strong>Avalon</strong> Streaming <strong>Interface</strong>s<br />

Signal Details<br />

5.12. Signal Details<br />

5.13. Protocol Details<br />

The following paragraphs provide more details about these three signals:<br />

■ startofpacket—The startofpacket signal is required by all interfaces supporting<br />

packet transfers and marks the active cycle containing the start of the packet. This<br />

signal is only interpreted when valid is asserted.<br />

■ endofpacket—The endofpacket signal is required by all interfaces supporting<br />

packet transfer and marks the active cycle containing the end of the packet. This<br />

signal is only interpreted when valid is asserted. startofpacket and endofpacket<br />

can be asserted in the same cycle. No idle cycles are required between packets, so<br />

that the startofpacket signal can follow immediately after the previous<br />

endofpacket signal.<br />

■ empty—The optional empty signal indicates the number of symbols that are empty<br />

during the cycles that mark the end of a packet. The sink only checks the value of<br />

the empty during active cycles that have endofpacket asserted. The empty symbols<br />

are always the last symbols in data, those carried by the low-order bits when<br />

firstSymbolInHighOrderBits = true. The empty signal is required on all packet<br />

interfaces whose data signal carries more than one symbol of data and have a<br />

variable length packet format. The size of the empty signal in bits is log 2().<br />

Packet data transfer follows the same protocol as the typical data transfer described in<br />

“Typical Data Transfers” on page 5–5, with the addition of the startofpacket,<br />

endofpacket, and empty.<br />

Figure 5–11 illustrates the transfer of a 17-byte packet from a source interface to a sink<br />

interface, where readyLatency=0. Data transfer occurs on cycles 1, 2, 4, 5, and 6, when<br />

both ready and valid are asserted. During cycle 1, startofpacket is asserted, and the<br />

first 4 bytes of packet are transferred. During cycle 6, endofpacket is asserted, and<br />

empty has a value of 3, indicating that this is the end of the packet and that 3 of the 4<br />

symbols are empty. In cycle 6, the high-order byte, data[31:24] drives valid data.<br />

Figure 5–11. Packet Transfer<br />

clk<br />

ready<br />

valid<br />

startofpacket<br />

endofpacket<br />

empty<br />

channel<br />

error<br />

data[31:24]<br />

data[23:16]<br />

data[15:8]<br />

data[7:0]<br />

1 2 3 4 5 6 7<br />

0 0 0 0 0<br />

0 0 0 0 0<br />

D0 D4 D8 D12 D16<br />

D1 D5 D9 D13<br />

D2 D6 D10 D14<br />

D3 D7 D11 D15<br />

<strong>Avalon</strong> <strong>Interface</strong> <strong>Specifications</strong> May 2013 <strong>Altera</strong> Corporation<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!