隨著高速數(shù)字系統(tǒng)的發(fā)展,高速串行數(shù)據(jù)被廣泛使用,內(nèi)嵌高速串行接口的FPGA也得到大量應用,相應的高速串行信號質(zhì)量的測試也越來越頻繁和重要。通常用示波器觀察信號波形、眼圖、抖動來衡量信號的質(zhì)量,Xilinx提供的IBERT(Integrated Bit Error Ratio Tester)作為一種高速串行信號測試的輔助工具,使得測試更便捷,其具有不占用額外的I/O管腳和PCB空間、不破環(huán)接口信號的完整性、無干擾、使用簡單和價格低廉等特點。
1 IBERT簡介
IBERT是Xilinx提供用于調(diào)試FPGA芯片內(nèi)高速串行接口比特誤碼率性能的工具,具備實時調(diào)整高速串行接口的多種參數(shù)、與系統(tǒng)其他模塊通信及測量多通道誤比特率等功能,支持所有的高速串行標準,包括:PCI Express、RapidIO、千兆以太網(wǎng)、XAUI等。使用IBERT核測試,只需通過JTAG接口下載設計并測試硬件,無需額外的管教和接口;大幅縮減了高速串行接口測試場景的建立和調(diào)試時間,是高速串行接口開發(fā)中理想的調(diào)試工具。
文中所述使用方法基于Xilinx的工具CoreGenerator12.4和ChipScope Pro Analyzer12.4進行描述,下面介紹使用IBERT的步驟,IBERT的操作分為兩個階段。
1.1 配置IBERT核,生成配置文件
?。?)打開Core Generator12.4工具,新建設計工程,指定待測器件類型、封裝、速度等級,生成工程文件。在IP Catalog窗口\View by Function\Debug&Verification\Chipscope Pro\下,雙擊IBERT,配置線速率、GTP位置和參考時鐘、系統(tǒng)時鐘等IBERT核參數(shù),生成可JTAG加載的bit配置文件。與生成其他核不同,IBERT核不是插入到用戶的設計中去的ngc或edn文件,而是生成自身的bit配置文件。
?。?)IBERT核和ILA核(Integrated Logic Analyzercore),也需要連接到ICON核(Integrated Controllercore)上,但其自身具備控制、監(jiān)控以及改變高速串行接口參數(shù)的邏輯,并能完成誤比特性能測試。需注意的是,IBERT核只能作為一個獨立的設計,不可在用戶設計中例化。不同系列芯片的IBERT核在Core Generator中的配置不同。
1.2 IBERT核的主要組件
(1)BERT(比特誤碼率測試)邏輯:BERT邏輯中例化了高速串行接口組件,并包括了測試模式發(fā)生器和檢查器。利用Comma和Comma檢測器,可提供從簡單的時鐘信號到完全的PRBS模式以及成幀計數(shù)模式??僧a(chǎn)生各種PRBS數(shù)據(jù)作為高速串行發(fā)送器的數(shù)據(jù)源,可設置多種環(huán)回,由接收通道接收,對高速串行接收器的接收數(shù)據(jù)進行相同編碼的檢測,計算比特誤碼率。
?。?)DRP(動態(tài)重配置端口)邏輯:每個高速串行接口均有一個動態(tài)重配置端口,因此每個收發(fā)器屬性都可在系統(tǒng)中改變。所有的屬性和DRP地址在IBERT核中均可讀可寫,且可獨立訪問。
?。?)控制盒狀態(tài)邏輯:管理IBERT核的操作。
1.3 配置到FPGA中完成測試
測試時,建立JTAC連接,使用ChipScope Pro Analyze12.4下載bit配置文件。下載成功后,在New Project窗口會出現(xiàn)IBERT Console點擊即進入Console Window,該窗口可以設置高速串行接口的參數(shù),進行開環(huán)或閉環(huán)的誤碼測試,同時提供高速串行接口參數(shù)的控制和監(jiān)視接口。Console Window有4個界面:MGT/BERT Settings、DRP Settings、Port Settings和Sweep Test Setting。下面分別介紹每個界面的功能。
?。?)MGT/BERT Settings:MGT Settings部分可以設置擺幅、預加重、均衡以及接收采樣點的位置等參數(shù),同時可設置開環(huán)或閉環(huán)的測試方式,測試進行中可以顯示線速率和所測試的高速串行接口的鎖相環(huán)狀態(tài)。BERT Settings部分可以設置測試發(fā)送和接收數(shù)據(jù)的編碼方式,并顯示測試的誤碼率結(jié)果。Clock Setting部分顯示收發(fā)線路的時鐘信息。
?。?)DRP Settrags:可查看并設置高速串行接口的屬性。
?。?)Port Settings:可查看并設置高速串行接口的接口狀態(tài)。
?。?)Sweep Test Setting:本界面用于自動掃描測試,是IBERT提供的一項便利高效的測試方式,可設定發(fā)送和接收的可控制參數(shù)范圍,自動逐個地進行遍歷性的誤碼測試,參數(shù)包括發(fā)送擺幅、預加重、接收均衡器、CDR采樣數(shù)據(jù)的位置等。用戶可設定每組參數(shù)重復測試次數(shù)以及測試時間,最后點擊Start即可進行掃描測試。測試數(shù)據(jù)保存在.csv文件中。只能在近端環(huán)回和遠端環(huán)回測試模式中使用。
2 實例說明
設計實例使用Xilinx公司Spatan6系列的xc6slx150t-3fgg676芯片,根據(jù)上述使用說明,下面具體說明使用IBERT進行測試的過程。
?。?)打開Xilinx ISE DesignSuite12.4/ISEDesignTools/Tools/Core Generator,新建工程,設置芯片信息如圖1所示,點擊確認,生成核的工程文件。
在IP Catalog窗口\View by Function\Debug&Verification\Chipscope Pro\下雙擊Ibert,如圖2所示。按順序設置Ibert核線速率2.457 6 Gbit·s-1,數(shù)據(jù)寬度20 bit,參考時鐘頻率122.88 MHz,選擇被測試的GTP DUAL,設置系統(tǒng)時鐘頻率66 m、位置R7等參數(shù),IBE RT Core Summary如圖3所示,點擊generate生成Ibert核的可下載bit配置文件。
(2)將生成的bit文件加載到單板上,顯示界面如圖4所示。
首先關(guān)注PLL Status狀態(tài)和Clocking Setting顯示的收發(fā)時鐘頻率,PLL Status狀態(tài)Locked表明GTP_DUAL的PLL已鎖定GTP的參考時鐘,GTP可正常工作。如狀態(tài)是Unlocked,則要檢測待測GTP的參考時鐘是否正常輸入。
測試高速串行信號的信號質(zhì)量,通常使用足夠帶寬和采樣率的示波器測試信號眼圖來評估,一但測試的眼圖不符合模板要求,需要調(diào)整高速串行接口的參數(shù)。使用IBERT核可以快速完成參數(shù)修改的任務,設置Loopback Mode在開環(huán)的模式下,TX Data Pattern為PRBS7-bit,調(diào)整擺幅、預加重參數(shù),觀察示波器上的信號眼圖是否符合模板要求。圖5和圖6分別為調(diào)整擺幅預加重參數(shù)前后的眼圖,圖5所示眼圖對應預加重0.8 dB、擺幅495 mV,眼圖的眼高太小且圖形碰撞模板,調(diào)整為預加重1.7 dB、擺幅1 180 mV,眼圖滿足的要求如圖6所示。
為確定高速串行接口的參數(shù)是否滿足硬件及多種環(huán)境的需求,可通過在對端器件高速串行接口設置遠端環(huán)回,設置待測試芯片的收發(fā)data pattern為統(tǒng)一模式,常溫及高低溫拷機,觀察誤碼率是否滿足要求,誤碼率需滿足E-10。例中與圖6對應的參數(shù)值條件下,對端器件高速串行接口設置遠端環(huán)回誤碼率為4.36E-10,滿足誤碼率要求。
Sweep Test Setting(掃描測試)其配置頁面如圖7所示,以Rx Sampling Point來進行誤碼率測試定性分析信道質(zhì)量為例,較為容易理解,當同定在某個采樣點進行誤碼測試時,誤碼率達到E-10時,可判定信道質(zhì)量良好。在整個UI范圍內(nèi)進行采樣點的掃描測試時,誤碼率達到E-10的采樣點越多,信號眼圖的眼睛張得越大,距離模板的余量越大,信道質(zhì)量越好。
3 結(jié)束語
通過以上實例,可見IBERT具有可操作性較強的GUI圖形界面,可操作性強、準確、易用,可方便地設置高速串行收發(fā)通道的各項參數(shù),并提供了多種環(huán)回模式及多種測試激勵源,并可通過自動掃描測試,確定收發(fā)的最佳參數(shù)??梢詽M足硬件測試時對高速串行收發(fā)通道信號測試的大部分需求,在故障定位等場合均可使用。在單板的硬件測試初期,使用IBERT可以輔助硬件測試,例如設置發(fā)送通道的各項參數(shù),協(xié)助示波器測量信號質(zhì)量,而完全不需額外的開發(fā)FPGA邏輯。進行誤碼率測試,作為定量測量眼圖質(zhì)量、jitter等指標的補充。從示波器看圖確定出的參數(shù)并非就是最佳參數(shù)。如示波器對于均衡后的信號質(zhì)量無法測試,而通過IBERT測誤碼率能夠測試到均衡之后的節(jié)點,測試范圍更大??梢灶A見,集成比特誤碼測試儀IBERT將在FPGA設計中獲得廣泛應用。