We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 55252

LogiCORE IP Aurora 64B66B v10.0 (or) later, Immediate NFC - Clock correction can delete nfc transfer


In Aurora 64B66B v8.0, if the Clock Correction character is forced during a second NFC command, then an external handshake finishes (nfc_tready occurs) but txdata_c does not show the NFC command.

This causes the data stream to be uninterrupted and the data FIFOs will overflow. This issue can happen in both framing and streaming user interface types.


When DO_CC is asserted along with S_AXI_NFC_TVALID, CC takes priority as per protocol and will be transmitted. 

The NFC request needs to wait until CC is complete and resumes operation. After transmitting CC, the core does not transmit the NFC request.

Note: Replace <=: USER_COMPONENT_NAME :> with a user generated component name.

Update the NFC State Machine code in <=: USER_COMPONENT_NAME :>_tx_ll_control_sm.v[hd] file in the src directory of the generated core as follows:


     always @(posedge USER_CLK)
         if(!CHANNEL_UP)                    do_nfc_r    <=  `DLY    1'b0;

         else if(!TXDATAVALID_IN)   do_nfc_r    <=  `DLY    do_nfc_r;
         else if(!do_nfc_r)                    do_nfc_r    <=  `DLY    !NFC_REQ_N & (!(DO_CC | do_cc_r));
         else                                               do_nfc_r    <=  `DLY    1'b0;


         if(USER_CLK'event and USER_CLK='1') then
           if(CHANNEL_UP = '0') then
             do_nfc_r    <=  '0' after DLY;
           elsif(TXDATAVALID_IN = '0') then
             do_nfc_r    <=  do_nfc_r after DLY;
           elsif(do_nfc_r = '0') then
             do_nfc_r    <=  (not NFC_REQ_N) and (not (DO_CC or do_cc_r)) after DLY;
             do_nfc_r    <=  '0' after DLY;            end if;
         end if;
     end process;

This update is applicable only to a Duplex Aurora 64B66B core with Native Flow Control enabled. This issue will be fixed in the Vivado 2016.1 release.

Revision History
06/28/2013 - Initial release

02/24/2016 - Updated for latest core

AR# 55252
Date 03/04/2016
Status Active
Type Known Issues
  • Kintex-7
  • Virtex-7
  • Zynq-7000
  • Aurora 64B/66B