The NFC interface is created when the core is generated with the NFC option enabled. This interface includes a request (s_axi_nfc_tx_tvalid) and an acknowledge (s_axi_nfc_tx_tready) port that are used to send NFC messages, and a 4-bit s_axi_nfc_tx_tdata port to specify the number of idle cycles requested.
Table: NFC I/O Ports lists the ports for the NFC interface available only in full-duplex Aurora 8B/10B cores.
Table: NFC Codes shows the codes for native flow control (NFC). These values are driven on bits [0:3] for big endian format and [3:0] for little endian format.
s_axi_nfc_tx_tdata |
Idle Cycles Requested |
---|---|
0000 |
0 (XON) |
0001 |
2 |
0010 |
4 |
0011 |
8 |
0100 |
16 |
0101 |
32 |
0110 |
64 |
0111 |
128 |
1000 |
256 |
1001 to 1110 |
Reserved |
1111 |
Infinite (XOFF) |
The user application asserts s_axi_nfc_tx_tvalid and writes an NFC code to s_axi_nfc_tx_tdata. The NFC code indicates the minimum number of idle cycles the channel partner should insert in its TX data stream. The user application must hold s_axi_nfc_tx_tvalid and s_axi_nfc_tx_tdata until s_axi_nfc_tx_tready is asserted. Aurora 8B/10B cores cannot transmit data while sending NFC messages. s_axi_tx_tready is always deasserted on the cycle following an s_axi_nfc_tx_tready assertion.