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