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