歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 基於Virtext6平台的GTX IP核基本設置說明

基於Virtext6平台的GTX IP核基本設置說明

日期:2017/3/1 12:06:20   编辑:關於Linux

本工程基於以下條件使用:

板卡:DBF板v3.0 芯片型號:Virtex6 315T ISE版本:14.7 IP核版本: v6_gtxwizard : 1.12

一、IP核配置進行流程

第一頁配置:線速率和編碼

TX、RX的 Line Rate 、Data Path Width 、Reference Clock根據項目的實際情況進行選擇 Reference Clock :表示 外界時鐘輸入給GTX模塊的參考時鐘

\

注:

紅色框代表必須按照截圖設置。 綠色框代表根據項目需求進行設置。 黃色框代表,可自由選擇項。

第二頁配置:參考時鐘位置選擇

此處必須參考原理圖選擇REFCLK。

\

第三頁配置:同步和對齊

RXUSRCLK Source 一般選擇 RERECCLK,但是在位寬32bit,且使用GTX格式較多的情況下,建議選擇TXOUTCLK因為這樣可以節省出大量的BUFG資源。 RX Comma Alignment部分,Xilinx 在V6系列處理的不好,設置作用不是很明顯,還是有翻轉情況出現。

\

第四頁配置:預加重,終端、均衡

Enable DFE : 當外部信號傳輸質量比較差(>100ppm)時,建議選上。 Rx Equalization:此處保持默認即可,當實際工程中,發現誤碼較高時,可以在程序中動態修改此值。 Post Emphasis:當對方接受誤碼較高時,可適當修改此值進行調試。

\

第五頁配置:失同步狀態機

保持默認不變

\

第六頁配置:通道綁定

此功能沒有用過,保持默認不變

\

第七頁配置:時鐘校准

Use Clock Correction :在同源時鐘下可以不選擇 Sequence : 00011100,配置向導中使用了此值即K28.0,實驗室所有的項目也是按照此值配置的。但是個人認為按照我們平時習慣用法,此值應該配置成10111100,K28.5。經簡單測試沒有發現問題,但未在任何大型項目上驗證過。

工程使用說明

基本使用方法

當IP核生成以後將如下文件添加到工程:

ip/[gtx核名].v ip/[gtx核名]_gtx.v ip/[gtx核名]/example_design/所有文件

在[gtx核名]_top 文件中將GTX0_RXENMCOMMAALIGN_IN,GTX0_RXENPCOMMAALIGN_IN括號內的值改為1(如下圖),這裡用到了多少了gtx模塊就要按照序號該幾處。

\

此時工程已基本可以仿真與簡單測試,在modlesim中切換到如下目錄,並輸入simulate_mti.do即可開始仿真。

..\imp\ip\fiber\simulation\functional

gtx重點信號線說明

在整個GTX工程中只需關注top層如下信號線即可。

TOP層輸入輸出端口

Qx_CLK0_MGTREFCLK_PAD_N_IN :x視實際位置而定,表示GTX參考時鐘 GTXTXRESET_IN\GTXRXRESET_IN:由用戶控制的TX/RX全局復位 RXN_IN :GTX接收引腳 TXP_OUT:GTX發送引腳

重要控制信號線說明

gtx0_loopback_i:gtx自環控制。

3’b000:非自環模式; 3’b001,近端PCS自環; 3’b010,近端PMA自環,一般仿真或單板測試時選擇此模式。 gtx0_rxnotintable_i :接收錯誤指示信號線:當接收到無法通過8b/10b解碼的數據時此信號線拉高,可以簡單的理解為接收到誤碼的標志。

重要數據時鐘信號線說明

接收

gtx0_rxusrclk2_i:當IP核配置第三頁的 RXUSRCLK Source 選擇 RXRECCLK時,每個gtx模塊單獨對應一個此類型時鐘。 gtx0_rxdata_i : 用戶接收到的數據 gtx0_rxcharisk_i: 用戶接收到的K碼,用於指示gtx0_rxdata_i數據類型。

當gtx0_rxcharisk_i某位為1時,表示gtx0_rxdata_i對應的某個8位為K碼。 發送

gtx0_txusrclk2_i:用戶發送時鐘,所有的gtx發送模塊均用此時鐘;當IP核配置第三頁的 RXUSRCLK Source 選擇 TXOUTCLK時,所有的gtx接收模塊也是用此時鐘。 gtx0_txcharisk_i:用戶待發送的K碼 gtx0_txdata_i:用戶待發送的數據

實際開發工程的使用

在實際開發中還需對工程做如下的修改,才更方便使用。

刪除例程測試部分

起點:從注釋Frame Generators處開始 終點:一直到代碼begin:no_chipscope,以上全部刪除。 其他:後面的vio,ila核內容一並刪除,以及一些其他導致報錯的多余代碼。

修改UCF文件

為了保證在以後大工程中使用gtx核時路徑不出問題,需對gtx的兩個ucf文件做如下修改。

xxx_attributes.ucf:在所有約束前加入*/

\

xxx_top.ucf:和上面類似,在User Clokc Constraints 和 mgt wrapper constraints 約束的前面加入 */

\

Copyright © Linux教程網 All Rights Reserved