https://wenku.baidu.com/view/50a12d8b9ec3d5bbfd0a74f7.html (必看)
關鍵詞 誤碼率測試儀;高速串行接口;眼圖
隨着高速數字系統的發展,高速串行數據被廣泛使用,內嵌高速串行接口的 FPGA也得到大量應用,相應的高速串行信號質量的測試也越來越頻繁和重要。通常用示波器觀察信號波形、眼圖、抖動來衡量信號的質量,Xilinx提供的 IBERT(Integrated Bit Error Ratio Tester)作為一種高速串行信號測試的輔助工具,使得測試更便捷,其具有不占用額外的I/O管腳和PCB空間、不破環接口信號的完整性、無干擾、使用簡單和價格低廉等特點。
1 IBERT簡介
IBERT是Xilinx提供用於調試FPGA芯片內高速串行接口比特誤碼率性能的工具,具備實時調整高速串行接口的多種參數、與系統其他模塊通信及測量多通道誤比特率等功能,支持所有的高速串行標准,包括:PCI Express、RapidIO、千兆以太網、XAUI等。使用IBERT核測試,只需通過JTAG接口下載設計並測試硬件,無需額外的管教和接口;大幅縮減了高速串行接口測試場景的建立和調試時間,是高速串行接口開發中理想的調試工具。
文中所述使用方法基於Xilinx的工具CoreGenerator12.4和ChipScope Pro Analyzer12.4進行描述,下面介紹使用IBERT的步驟,IBERT的操作分為兩個階段。
1.1 配置IBERT核,生成配置文件
(1)打開Core Generator12.4工具,新建設計工程,指定待測器件類型、封裝、速度等級,生成工程文件。在IP Catalog窗口\View by Function\DebugVerification\Chipscope Pro\下,雙擊IBERT,配置線速率、GTP位置和參考時鍾、系統時鍾等IBERT核參數,生成可JTAG加載的bit配置文件。與生成其他核不同,IBERT核不是插入到用戶的設計中去的ngc或edn文件,而是生成自身的bit配置文件。
(2)IBERT核和ILA核(Integrated Logic Analyzercore),也需要連接到ICON核(Integrated Controllercore)上,但其自身具備控制、監控以及改變高速串行接口參數的邏輯,並能完成誤比特性能測試。需注意的是,IBERT核只能作為一個獨立的設計,不可在用戶設計中例化。不同系列芯片的IBERT核在Core Generator中的配置不同。
1.2 IBERT核的主要組件
(1)BERT(比特誤碼率測試)邏輯:BERT邏輯中例化了高速串行接口組件,並包括了測試模式發生器和檢查器。利用Comma和Comma檢測器,可提供從簡單的時鍾信號到完全的PRBS模式以及成幀計數模式。可產生各種PRBS數據作為高速串行發送器的數據源,可設置多種環回,由接收通道接收,對高速串行接收器的接收數據進行相同編碼的檢測,計算比特誤碼率。
(2)DRP(動態重配置端口)邏輯:每個高速串行接口均有一個動態重配置端口,因此每個收發器屬性都可在系統中改變。所有的屬性和DRP地址在IBERT核中均可讀可寫,且可獨立訪問。
(3)控制盒狀態邏輯:管理IBERT核的操作。
1.3 配置到FPGA中完成測試
測試時,建立JTAC連接,使用ChipScope Pro Analyze12.4下載bit配置文件。下載成功后,在New Project窗口會出現IBERT Console點擊即進入Console Window,該窗口可以設置高速串行接口的參數,進行開環或閉環的誤碼測試,同時提供高速串行接口參數的控制和監視接口。Console Window有4個界面:MGT/BERT Settings、DRP Settings、Port Settings和Sweep Test Setting。下面分別介紹每個界面的功能。
(1)MGT/BERT Settings:MGT Settings部分可以設置擺幅、預加重、均衡以及接收采樣點的位置等參數,同時可設置開環或閉環的測試方式,測試進行中可以顯示線速率和所測試的高速串行接口的鎖相環狀態。BERT Settings部分可以設置測試發送和接收數據的編碼方式,並顯示測試的誤碼率結果。Clock Setting部分顯示收發線路的時鍾信息。
(2)DRP Settrags:可查看並設置高速串行接口的屬性。
(3)Port Settings:可查看並設置高速串行接口的接口狀態。
(4)Sweep Test Setting:本界面用於自動掃描測試,是IBERT提供的一項便利高效的測試方式,可設定發送和接收的可控制參數范圍,自動逐個地進行遍歷性的誤碼測試,參數包括發送擺幅、預加重、接收均衡器、CDR采樣數據的位置等。用戶可設定每組參數重復測試次數以及測試時間,最后點擊Start即可進行掃描測試。測試數據保存在.csv文件中。只能在近端環回和遠端環回測試模式中使用。
2 實例說明
設計實例使用Xilinx公司Spatan6系列的xc6slx150t-3fgg676芯片,根據上述使用說明,下面具體說明使用IBERT進行測試的過程。
(1)打開Xilinx ISE DesignSuite12.4/ISEDesignTools/Tools/Core Generator,新建工程,設置芯片信息如圖1所示,點擊確認,生成核的工程文件。
1 IBERT簡介
IBERT是Xilinx提供用於調試FPGA芯片內高速串行接口比特誤碼率性能的工具,具備實時調整高速串行接口的多種參數、與系統其他模塊通信及測量多通道誤比特率等功能,支持所有的高速串行標准,包括:PCI Express、RapidIO、千兆以太網、XAUI等。使用IBERT核測試,只需通過JTAG接口下載設計並測試硬件,無需額外的管教和接口;大幅縮減了高速串行接口測試場景的建立和調試時間,是高速串行接口開發中理想的調試工具。
2生成IBERT核
選擇IBERT核
需注意的是,IBERT核只能作為一個獨立的設計,不可在用戶設計中例化,因此需要勾選Generate Bitstream using ISE Tools,在例化IBERT核的時候就可以生成bit文件了。時鍾選項根據電路板上時鍾來選擇如果時鍾來自於GTX的專用時鍾管腳,那么無需勾選Use External clock source。Silicon Version根據FPGA芯片自身版本來選擇。如果是用的工程樣片就選擇Initial ES或者General ES,如果是量產的成熟產品就選擇production。
GT clocking mode selection
選擇2個通道112和113,每個通道有4個channel。
Number of Protocols 如果設計所有通道跑一個速度的話,選擇1就可以了。
GT count: 必須與channel數量一致,比如只例化了一個通道中2個channel,那么GT count就為2
Max Rate 根據你的需求選擇
Quad PLL 如果Max Rate> 6G的話,那必須勾選Quad PLL
因為上面protocol 數目只等於1,故此處所有的channel只有一個速率。
Refclk source一定要和硬件工程師溝通知道時鍾是連接到哪一個QUADS的哪一個channel上的專用refclk。 相鄰3個QUAD可以合用中間QUAD的某一個channel上的refclk。此例QUAD112和QUAD113共用QUAD112上channel0上clk。因為是8G的速率故后面的QUAD PLL全部勾選。
此處GTX Source選用112通道的時鍾
總結
3 生成bin文件
注意IBERT核默認是生成bit文件,如果需要生成bin文件的話需要修改ise14_4\gtx\ipcore_dir\chipscope_ibert\implement \implement.sh文件。
STEP1:在implement.sh中添加 –g Binary:Yes
STEP2: 執行剛才修改的implement.sh文件
