本文主要介紹說(shuō)明XQ6657Z35-EVM 高速數據處理評估板SPF光口通信例程的功能、使用步驟以及各個(gè)例程的運行效果。 (基于TI KeyStone架構C6000系列TMS320C6657雙核C66x 定點(diǎn)/浮點(diǎn)DSP以及Xilinx Zynq-7000系列SoC處理器XC7Z035-2FFG676I設計的異構多核評估板,由核心板與評估底板組成。) 1.1.1 例程位置 ZYNQ例程保存在資料盤(pán)中的Demo\ZYNQ\PL\aurora_8b10b_0_ex文件夾下。 使用Aurora 8B/10B IP核生成后帶的例子工程,稍作修改。 ![]() ![]() 圖 Aurora 8B/10B例子工程 FRAME_GEN: 本地并行數據發(fā)送模塊 功能:本地產(chǎn)生GTX并行發(fā)送數據 接口說(shuō)明: // User Interface output [0:15] TX_D; //發(fā)送數據 output TX_REM; //最后一個(gè)16bits數據的高低字節有效標識,0表示,表示TX_D[0:7]有效;1表示TX_D[0:15]有效。 output TX_SOF_N; //發(fā)送開(kāi)始標識,低電平有效 output TX_EOF_N; //發(fā)送結束標識,低電平有效 output TX_SRC_RDY_N; //發(fā)送數據源端準備好標志,低有效 input TX_DST_RDY_N; //發(fā)送數據目的端準備好標,為0時(shí)才允許發(fā)送數據 // System Interface input USER_CLK;//用戶(hù)時(shí)鐘,由Aurora IP核提供,數據發(fā)送模塊用此時(shí)鐘作為同步時(shí)鐘 input RESET;//復位,高有效 input CHANNEL_UP;//GTX通道初始化完成標志,為1時(shí)表示完成 數據發(fā)送模塊只有在RESET=0、CHANNEL_UP=1和TX_DST_RDY_N=0時(shí),才允許發(fā)送數據。 FRAME_CHECK: 本地并行數據接收檢測模塊 功能:本地接收GTX并行數據,并檢測數據是否存在誤碼 接口說(shuō)明: // User Interface input [0:15] RX_D; //接收數據 output RX_REM; //最后一個(gè)16bits數據的高低字節有效標識,0表示,表示RX_D[0:7]有效;1表示RX_D[0:15]有效。 output RX_SOF_N; //接收開(kāi)始標識,低電平有效 output RX_EOF_N; //接收結束標識,低電平有效 input RX_SRC_RDY_N; //接收數據有效,低電平有效 // System Interface input USER_CLK; //用戶(hù)時(shí)鐘,由Aurora IP核提供,數據發(fā)送模塊用此時(shí)鐘作為同步時(shí)鐘 input RESET; //復位,高有效 input CHANNEL_UP; //GTX通道初始化完成標志,為1時(shí)表示完成 output [0:7] ERR_COUNT; //接收數據錯誤個(gè)數 Aurora 8B10B IP核參數設置如下圖所示: ![]() Aurora 8B10B IP核顯示最高只支持6.6Gbps,這里我們將線(xiàn)速率設置為5Gbps,參考時(shí)鐘設置為100MHz。 ZYNQ PL工程管腳約束如下圖所示: ![]() 將光模塊插入光模塊籠子,并使用光纖線(xiàn)纜將光模塊的收、發(fā)端口自環(huán)對接: ![]() 打開(kāi)Vivado示例工程: ![]() 工程打開(kāi)后界面及工程主要模塊說(shuō)明如下圖所示: ![]() ![]() 下載bit流文件aurora_8b10b_0_exdes.bit,并且配套aurora_8b10b_0_exdes.ltx調試文件,如下圖下載界面所示: ![]() ZYNQ PL端提供的ILA調試窗口,可以實(shí)時(shí)抓取采集GTX收發(fā)本地并行信號以及錯誤檢測信號的時(shí)序波形。 ILA抓取波形如下圖所示: ![]() ILA抓取信號說(shuō)明如下: ERR_COUNT[0:7]:接收數據錯誤個(gè)數,接收模塊分析接收數據是否正確; tx_d_i[0:15]:發(fā)送數據; tx_rem_i:最后一個(gè)發(fā)送數據的高低字節有效標識,0表示,表示tx_d_i[0:7]有效,1表示tx_d_i[0:15]有效; tx_src_rdy_n_i:發(fā)送數據源端準備好標志,結合tx_dst_rdy_n_i使用,都為0時(shí)表示可以發(fā)送數據, tx_sof_n_i:發(fā)送開(kāi)始標識,低電平有效; tx_eof_n_i:發(fā)送結束標識,低電平有效; tx_dst_rdy_n_i:發(fā)送數據目的端準備好標志; rx_d_i[0:15]:接收數據 rx_rem_i:最后一個(gè)接收數據的高低字節有效標識,0表示,表示rx_d_i[0:7]有效,1表示rx_d_i[0:15]有效; rx_src_rdy_n_i:接收數據源端準備好標志; rx_sof_n_i:接收開(kāi)始標識,低電平有效; rx_eof_n_i:接收結束標識,低電平有效; CHANNEL_UP:為1表示GTX通道完成正常初始化; LANE_UP:指示GTX每個(gè)lane是否正常初始化成功,這里只有1個(gè)Lane; SOFT_ERR、HARD_ERR:軟、硬件錯誤指示,正常情況應該為0 tx_lock_i_ila:GTX時(shí)鐘鎖定指示,正常情況應該為1 pll_not_locked_ila:GTX時(shí)鐘失鎖指示,正常情況應該為0 VIO虛擬IO界面如下圖所示: ![]() VIO界面上標識Input的為采集信號,用戶(hù)只能查看對應信號當前的邏輯電平值,1表示高電平,0表示低電平;VIO界面上標識Output的為用戶(hù)控制信號,用于控制用戶(hù)邏輯的,用戶(hù)可以在Value一欄輸入0/1電平值,從而達到控制用戶(hù)邏輯的目的。VIO界面主要用于復位用戶(hù)邏輯,以及查看通道是否鏈接成功,VIO界面可以不用操作。 Vivado調試界面Hardware Manager窗口,右鍵單擊localhost(1),在彈出的菜單中點(diǎn)擊Close Server,斷開(kāi)ZYNQ JTAG仿真器與板卡的連接: ![]() 最后,關(guān)閉板卡電源,實(shí)驗結束。 ![]() |