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