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


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

  • 板卡: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_INGTX0_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 約束的前面加入 */ 
    • 轉載:http://blog.csdn.net/lutianfeiml/article/details/51242160


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM