集成式比特誤碼率測(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(Integrated Bit Error Ratio Tester)作為一種高速串行信號(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),包括:PCI Express、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和ChipScope Pro Analyzer12.4進(jìn)行描述,下面介紹使用IBERT的步驟,IBERT的操作分為兩個(gè)階段。
1.1 配置IBERT核,生成配置文件
?。?)打開(kāi)Core Generator12.4工具,新建設(shè)計(jì)工程,指定待測(cè)器件類型、封裝、速度等級(jí),生成工程文件。在IP Catalog窗口\View by Function\Debug&Verification\Chipscope Pro\下,雙擊IBERT,配置線速率、GTP位置和參考時(shí)鐘、系統(tǒng)時(shí)鐘等IBERT核參數(shù),生成可JTAG加載的bit配置文件。與生成其他核不同,IBERT核不是插入到用戶的設(shè)計(jì)中去的ngc或edn文件,而是生成自身的bit配置文件。
?。?)IBERT核和ILA核(Integrated Logic Analyzercore),也需要連接到ICON核(Integrated Controllercore)上,但其自身具備控制、監(jiān)控以及改變高速串行接口參數(shù)的邏輯,并能完成誤比特性能測(cè)試。需注意的是,IBERT核只能作為一個(gè)獨(dú)立的設(shè)計(jì),不可在用戶設(shè)計(jì)中例化。不同系列芯片的IBERT核在Core Generator中的配置不同。
1.2 IBERT核的主要組件
?。?)BERT(比特誤碼率測(cè)試)邏輯:BERT邏輯中例化了高速串行接口組件,并包括了測(cè)試模式發(fā)生器和檢查器。利用Comma和Comma檢測(cè)器,可提供從簡(jiǎn)單的時(shí)鐘信號(hào)到完全的PRBS模式以及成幀計(jì)數(shù)模式??僧a(chǎn)生各種PRBS數(shù)據(jù)作為高速串行發(fā)送器的數(shù)據(jù)源,可設(shè)置多種環(huán)回,由接收通道接收,對(duì)高速串行接收器的接收數(shù)據(jù)進(jìn)行相同編碼的檢測(cè),計(jì)算比特誤碼率。
(2)DRP(動(dòng)態(tài)重配置端口)邏輯:每個(gè)高速串行接口均有一個(gè)動(dòng)態(tài)重配置端口,因此每個(gè)收發(fā)器屬性都可在系統(tǒng)中改變。所有的屬性和DRP地址在IBERT核中均可讀可寫(xiě),且可獨(dú)立訪問(wèn)。
(3)控制盒狀態(tài)邏輯:管理IBERT核的操作。
1.3 配置到FPGA中完成測(cè)試
測(cè)試時(shí),建立JTAC連接,使用ChipScope Pro Analyze12.4下載bit配置文件。下載成功后,在New Project窗口會(huì)出現(xiàn)IBERT Console點(diǎn)擊即進(jìn)入Console Window,該窗口可以設(shè)置高速串行接口的參數(shù),進(jìn)行開(kāi)環(huán)或閉環(huán)的誤碼測(cè)試,同時(shí)提供高速串行接口參數(shù)的控制和監(jiān)視接口。Console Window有4個(gè)界面:MGT/BERT Settings、DRP Settings、Port Settings和Sweep Test Setting。下面分別介紹每個(gè)界面的功能。
?。?)MGT/BERT Settings:MGT Settings部分可以設(shè)置擺幅、預(yù)加重、均衡以及接收采樣點(diǎn)的位置等參數(shù),同時(shí)可設(shè)置開(kāi)環(huán)或閉環(huán)的測(cè)試方式,測(cè)試進(jìn)行中可以顯示線速率和所測(cè)試的高速串行接口的鎖相環(huán)狀態(tài)。BERT Settings部分可以設(shè)置測(cè)試發(fā)送和接收數(shù)據(jù)的編碼方式,并顯示測(cè)試的誤碼率結(jié)果。Clock Setting部分顯示收發(fā)線路的時(shí)鐘信息。
?。?)DRP Settrags:可查看并設(shè)置高速串行接口的屬性。
?。?)Port Settings:可查看并設(shè)置高速串行接口的接口狀態(tài)。
?。?)Sweep Test Setting:本界面用于自動(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í)間,最后點(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ò)程。
(1)打開(kāi)Xilinx ISE DesignSuite12.4/ISEDesignTools/Tools/Core Generator,新建工程,設(shè)置芯片信息如圖1所示,點(diǎn)擊確認(rèn),生成核的工程文件。
在IP Catalog窗口\View by Function\Debug&Verification\Chipscope Pro\下雙擊Ibert,如圖2所示。按順序設(shè)置Ibert核線速率2.457 6 Gbit·s-1,數(shù)據(jù)寬度20 bit,參考時(shí)鐘頻率122.88 MHz,選擇被測(cè)試的GTP DUAL,設(shè)置系統(tǒng)時(shí)鐘頻率66 m、位置R7等參數(shù),IBE RT Core Summary如圖3所示,點(diǎn)擊generate生成Ibert核的可下載bit配置文件。
?。?)將生成的bit文件加載到單板上,顯示界面如圖4所示。
首先關(guān)注PLL Status狀態(tài)和Clocking Setting顯示的收發(fā)時(shí)鐘頻率,PLL Status狀態(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è)置Loopback Mode在開(kāi)環(huán)的模式下,TX Data Pattern為PRBS7-bit,調(diào)整擺幅、預(yù)加重參數(shù),觀察示波器上的信號(hào)眼圖是否符合模板要求。圖5和圖6分別為調(diào)整擺幅預(yù)加重參數(shù)前后的眼圖,圖5所示眼圖對(duì)應(yīng)預(yù)加重0.8 dB、擺幅495 mV,眼圖的眼高太小且圖形碰撞模板,調(diào)整為預(yù)加重1.7 dB、擺幅1 180 mV,眼圖滿足的要求如圖6所示。
為確定高速串行接口的參數(shù)是否滿足硬件及多種環(huán)境的需求,可通過(guò)在對(duì)端器件高速串行接口設(shè)置遠(yuǎn)端環(huán)回,設(shè)置待測(cè)試芯片的收發(fā)data pattern為統(tǒng)一模式,常溫及高低溫拷機(jī),觀察誤碼率是否滿足要求,誤碼率需滿足E-10。例中與圖6對(duì)應(yīng)的參數(shù)值條件下,對(duì)端器件高速串行接口設(shè)置遠(yuǎn)端環(huán)回誤碼率為4.36E-10,滿足誤碼率要求。
Sweep Test Setting(掃描測(cè)試)其配置頁(yè)面如圖7所示,以Rx Sampling Point來(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)用。