A newer version of this document is available. Customers should click here to go to the newest version.
1. Introduction
2. Interface Overview
3. Parameters
4. Designing with the IP Core
5. MACsec Intel® FPGA IP Example Design
6. Functional Description
7. Configuration Registers for MACsec IP
8. MACsec Intel FPGA IP User Guide Archives
9. Document Revision History for the MACsec Intel FPGA IP User Guide
2.2.1.1. Common Port Mux Interface
2.2.1.2. Common Port Demux Interface
2.2.1.3. Controlled Port Mux Interface
2.2.1.4. Controlled Port Demux Interface
2.2.1.5. Uncontrolled Port RX Interface
2.2.1.6. Uncontrolled Port TX Interface
2.2.1.7. Crypto RX Interface
2.2.1.8. Crypto TX Interface
2.2.1.9. Management Interface
2.2.1.10. Decrypt Port Mux Management Interface
2.2.1.11. Decrypt Port Demux Management Interface
2.2.1.12. Encrypt Port Mux Management Interface
2.2.1.13. Encrypt Port Demux Management Interface
2.2.1.14. Crypto IP Management Bus
2.2.2.1. Common Port Mux Interface Waveform
2.2.2.2. Common Port Demux Interface Waveform
2.2.2.3. Controlled Port Mux Interface Waveform
2.2.2.4. Controlled Port Demux Interface Waveform
2.2.2.5. Uncontrolled Port RX Interface Waveform
2.2.2.6. Uncontrolled Port TX Interface Waveform
2.2.2.7. Crypto RX Waveform
2.2.2.8. Crypto TX Waveform
2.2.2.9. MACsec Management Interface (Read)
2.2.2.10. MACsec Management Interface (Write)
6.1.3.2. Multi Packet Mode Data Stream
The example below shows user interface data stream into the MACsec IP as two full packets in Multi Packet Mode. These packets originate from port/stream 0 (based on TID). The data payload of the packets is sent in consecutive cycles without interleaving. In cycle 2, the 2nd packet from port/stream 0 begins at the 5th segment, after an idle segment at the 4th segment following an end of packet from the 1st packet. The start and end of the 1st and 2nd packets can be derived through the TLAST, Tuser_last_segment<N> and TKEEP signals.
AXI-ST | Cycle 0 | Cycle 1 | Cycle 2 | Cycle 3 | Cycle 4 | Cycle 5 |
---|---|---|---|---|---|---|
TID (TID[5:0]) | 0 | 0 | 0 | 0 | 0 | 0 |
TVALID | 1 | 1 | 1 | 1 | 1 | 1 |
TLAST | 0 | 0 | 1 | 0 | 0 | 1 |
TKEEP | All 1 | All 1 | 1111_1111 1111_1111 1111_1111 0000_0000 1111_1111 1111_1111 1111_1111 1111_1111 |
All 1 | All 1 | 0000_0000 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111 1111_1111 |
Tuser_last_segment<N> (N from 7 to 0) | All 0 | All 0 | 0000_1000 | All 0 | All 0 | 0100_0000 |
TDATA | Data | Data | Data | Data | Data | Data |
The example below shows 4 packets interleaved on the user interface streaming data into the MACsec IP. These packets originate from port/stream 0, 2, 3 (based on TID) and interleaving happens every 64B word. The packet from port/stream 0 enters the MACsec IP in cycle 0 and 4, and packets from port/stream 2 enter the MACsec IP in cycle 1, 3, 6, while packets from port/stream 3 enter the MACsec IP in cycle 2 and 5.
The start and end of packet from each port/stream packet can be derived through the TLAST, Tuser_last_segment<N> and TKEEP signals. In Multi Packet Mode we have 2 packets in the same cycle (for example, cycle 3).
AXI-ST | Cycle 0 | Cycle 1 | Cycle 2 | Cycle 3 | Cycle 4 | Cycle 5 | Cycle 6 |
---|---|---|---|---|---|---|---|
TID (TID[5:0]) | 0 | 2 | 3 | 2 | 0 | 3 | 2 |
TVALID | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
TLAST | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
TKEEP | All 1 | All 1 | All 1 | 1111_1111 1111_1111 1111_1111 0000_0000 1111_1111 1111_1111 1111_1111 1111_1111 |
All 1 | All 1 | All 1 |
Tuser_last_segment<N> (N from 7 to 0) | All 0 | All 0 | All 0 | 0000_1000 | 1000_0000 | 1000_0000 | 1000_0000 |
TDATA | Data | Data | Data | Data | Data | Data | Data |