【導讀】在用戶(hù)進(jìn)行系統或者芯片測試的時(shí)候,一般主要驗證幾個(gè)方面的性能和可靠性,包括系統發(fā)送端的信號質(zhì)量,鏈路的損耗/串擾,接收端的容限。如下圖1,一個(gè)鏈路系統的基本架構。通常在發(fā)送端會(huì )使用FFE來(lái)補償鏈路的損耗,接收端會(huì )采用DFE/FFE等方法來(lái)進(jìn)行均衡,一些比較高速率的標準如PCIE 4.0/5.0,SAS4等還會(huì )采用FEC來(lái)進(jìn)行糾錯,當然接收端還需要CDR來(lái)從串行信號里面進(jìn)行時(shí)鐘恢復得到同步時(shí)鐘來(lái)對信號進(jìn)行采樣。
圖1:高速串行鏈路的基本架構

對于系統/芯片的接收端測試,會(huì )有幾個(gè)方面的挑戰,第一是loopback (環(huán)回)模式的Training,第二是link(鏈路)training。只有這兩個(gè)部分的協(xié)商正確完成的前提下,才能保證測試的順利完成。不管是loopback training 還是link training,都要求Bert具備和被測設備自動(dòng)的協(xié)商功能,通過(guò)基于協(xié)議的握手和雙向溝通去使被測設備進(jìn)入環(huán)回模式和均衡的自適應。
如圖二,支持各種協(xié)議的系統/芯片在上電后會(huì )通過(guò)與對端設備的多次協(xié)商進(jìn)入不同的子狀態(tài)機,在接收端容限測試的時(shí)候需要使被測芯片的狀態(tài)機從Config或者Recovery狀態(tài)進(jìn)入loopback的子狀態(tài),這個(gè)實(shí)現需要Bert模擬一個(gè)真正的對端設備去發(fā)送符合該協(xié)議的碼型系列去training 被測設備。同時(shí)Bert也要能實(shí)時(shí)的解析被測設備的協(xié)議系列以確認其是否被成功training,否則需要重新修改設置來(lái)發(fā)送training的碼型序列。如圖3,泰克的BSX系列誤碼儀最高可以支持單通道32Gbps的實(shí)時(shí)數據發(fā)送和接收,可以直接產(chǎn)生和接收并同時(shí)解析協(xié)議的數據包,而不像其他廠(chǎng)商只能在較低速的時(shí)候實(shí)現數據直接產(chǎn)生和接收,而高速標準則需要通過(guò)兩個(gè)通道合并成單通道進(jìn)行發(fā)送,并在接收端則將單通道再分解成兩個(gè)通道進(jìn)行接收。這樣會(huì )導致高速標準的時(shí)候不能實(shí)現真正基于協(xié)議的協(xié)商。
圖2:PCIe/USB3.1等協(xié)議標準的各種狀態(tài)機。

圖3:BSX系列誤碼儀支持單通道的高速協(xié)議數據的發(fā)送和接收解析

如圖3,除了loopback training以外,另一個(gè)重要的步驟是link training(鏈路協(xié)商),需要Bert和DUT進(jìn)行FFE/DFE的實(shí)時(shí)協(xié)商來(lái)補償鏈路的損耗,以達到最低的誤碼率。在USB3.1/PCIe協(xié)議中發(fā)送端會(huì )有多個(gè)級別的FFE來(lái)靈活對信號發(fā)送端進(jìn)行均衡補償,在接收端也會(huì )有CTLE和DFE多級組合來(lái)進(jìn)行補償。(詳細的鏈路協(xié)商步驟細節可以參考泰克的相關(guān)應用文章-《克服第4代I/O應用中的接收機測試挑戰》)。這個(gè)鏈路協(xié)商同樣需要Bert能夠在一定程度上去模擬一個(gè)真實(shí)設備和被測設備進(jìn)行溝通,解析并響應被測設備的要求去調節信號輸出的FFE參數,并根據誤碼率來(lái)請求被測設備調節其輸出的FFE參數和接收端的CTLE/DFE參數,以達到最佳的誤碼率。同樣這個(gè)時(shí)候也需要BERT具備單通道直接輸出和接收并解析基于協(xié)議的碼型序列達到與被測設備的實(shí)時(shí)協(xié)商。
除了進(jìn)行一致性測試以外,對于芯片的驗證過(guò)程中還經(jīng)常會(huì )進(jìn)行問(wèn)題定位,當出現誤碼的時(shí)候,大部分工程師會(huì )去搬一臺示波器來(lái)使用示波器觀(guān)察信號波形來(lái)進(jìn)行抖動(dòng)和眼圖分析來(lái)進(jìn)行調試,這時(shí)候得把信號重新連接到示波器來(lái)進(jìn)行信號的捕獲,而且并不容易把誤碼和示波器捕獲的波形直接關(guān)聯(lián)起來(lái)找到誤碼的原因。往往你旁邊并沒(méi)有一臺高帶寬示波器供你隨意使用。由于泰克的BSX系列誤碼儀能夠精確的統計誤碼的個(gè)數和誤碼出現的時(shí)間,所以能夠實(shí)現精準的誤碼定位。這個(gè)強大的誤碼定位功能和抖動(dòng)眼圖分析功能可以供你進(jìn)行系統和芯片級別的調試,下面會(huì )舉一些真實(shí)用戶(hù)使用Bert進(jìn)行調試分析的實(shí)例來(lái)說(shuō)明。
案例一:使用誤碼儀Error Free interval功能來(lái)驗證芯片的自適應時(shí)間。
客戶(hù)在做芯片IP的選型驗證,該芯片支持的速率為20.62bps,不同IP廠(chǎng)商會(huì )給出不同的芯片自適應時(shí)間,一般為幾百微妙到幾百毫秒不等,如前面所述,有一些芯片的關(guān)鍵參數會(huì )影響到這個(gè)自適應時(shí)間,如芯片的FFE/DFE的均衡自適應時(shí)間,CDR的鎖定時(shí)間,誤碼判決電路的采樣點(diǎn)的自動(dòng)調節等??蛻?hù)的需求是測試從芯片開(kāi)始初始化那一刻直至誤碼率低至10^-12左右的時(shí)間。
圖4:連接拓撲圖

先按照上面圖4的連接圖連接好,將被測芯片設置為環(huán)回模式,設置Bertscope的PG輸出為被測速率,碼型設置為PRBS31,確認CDR模塊可以正確鎖定,Error Detector能夠正確的Sync碼型,并且測試沒(méi)有誤碼。將Bert 的Error Detector端設置為Auto-resync。
然后選擇Bert scope的View里面的誤碼分析功能(Error analysis),選擇Error free interval。點(diǎn)擊Error free interval界面,設置,Hist的end 為500000(bit),這個(gè)參數需要根據芯片的特性靈活調節,如果芯片的自適應時(shí)間較長(cháng),則可以適當增加,以保證整個(gè)自適應過(guò)程的誤碼變化情況都能夠在所選的時(shí)間范圍之內。這個(gè)界面的橫軸是bit,可以根據信號的速率轉化為絕對的時(shí)間,縱軸是誤碼個(gè)數。我們可以根據誤碼的變化從而計算出自適應的收斂時(shí)間。設置好以后點(diǎn)擊auto center。然后點(diǎn)擊Run。
設置好誤碼儀后,用命令將芯片的RX部分進(jìn)行一次hot reset,這時(shí)候芯片會(huì )進(jìn)行一次時(shí)鐘恢復的同步,重新調節DFE,FFE,在Bertscope的Error Free interval里面就可以看到出現大量誤碼然后再慢慢減少到?jīng)]有誤碼的過(guò)程。在300000bit左右就不再出現誤碼,表示這個(gè)時(shí)候自適應過(guò)程就已經(jīng)完成。為了保證測試結果的重復性和一致性,建議將這個(gè)hot reset的過(guò)程做十次,Error free interval會(huì )自動(dòng)將這十次的結果進(jìn)行疊加。從測試的結果看,芯片的自適應時(shí)間約為250000X(1/20.62G)約為12.5us左右。
案例二:使用誤碼的Strip chart的記錄功能來(lái)進(jìn)行長(cháng)時(shí)間的誤碼分析。
由于客戶(hù)的系統要進(jìn)行長(cháng)時(shí)間的(-20到+80度下)的高低溫老化測試,客戶(hù)要看誤碼的性能和溫度變化的相關(guān)性,一般的誤碼儀只能統計溫度變化過(guò)程中誤碼的總的個(gè)數和誤碼率,而無(wú)法得知在整個(gè)十幾個(gè)小時(shí)里面任一時(shí)刻誤碼率的變化。而B(niǎo)SX系列誤碼儀則可以使用Strip chart的記錄功能將整個(gè)過(guò)程中記錄下來(lái),后面可以根據需要查詢(xún)任意時(shí)刻的誤碼率變化情況。如下圖,在第10/20/30秒的時(shí)間點(diǎn)出現了一些突發(fā)的誤碼,這個(gè)如果僅僅是通過(guò)簡(jiǎn)單的誤碼統計是無(wú)法看到時(shí)間相關(guān)的細節的,而且其累積記錄時(shí)間可以長(cháng)達幾十小時(shí)甚至幾天。
圖5:使用Strip chart功能記錄整個(gè)長(cháng)時(shí)間老化過(guò)程誤碼變化

案例四:使用誤碼儀的眼圖和抖動(dòng)分析功能進(jìn)行信號特性的分析。
1.客戶(hù)在測試誤碼的同時(shí)想快捷的觀(guān)察TX端輸出信號的質(zhì)量,確保芯片輸出的信號是否滿(mǎn)足一定的要求。2.客戶(hù)想真正的測試10^12次方下的總體抖動(dòng)的值,因為一般示波器的Tj都是通過(guò)測量RJ和DJ然后再通過(guò)一定的外推算法去得到10^12 次方下的抖動(dòng)的,由于示波器存儲深度和計算時(shí)間的限制,無(wú)法得到真正的Tj@10^12。但誤碼儀是可以通過(guò)連續bit的測量從而得到真正的10^12的抖動(dòng)的,并且其內置的帶有兩個(gè)1bit的ADC在實(shí)時(shí)全速的對每個(gè)bit進(jìn)行掃描和比較,所以能夠快速的得到信號的眼圖(如圖7)。并根據每個(gè)bit的與采樣點(diǎn)的偏差計算該bit的TIE的抖動(dòng)偏移量,從而通過(guò)算法計算信號的Rj/Dj并進(jìn)行抖動(dòng)的進(jìn)一步細分。同時(shí)由于BSX系列的誤碼檢測輸入端的帶寬高達22GHz以上,所以對高速信號的眼圖和抖動(dòng)分析的精度非常高。
圖6:Bertscope的誤碼檢測端自帶的兩個(gè)1bit ADC的比較器

圖7:眼圖分析功能

圖8:抖動(dòng)分析功能

案例五:使用誤碼儀的FEC emulation 功能快速模擬芯片的FEC算法。
由于現在芯片和標準的速率越來(lái)越高,為了加強容錯能力,如SAS4/PCIe 4.0/5.0/25G以太網(wǎng)的標準都廣泛使用了FEC來(lái)進(jìn)行糾錯,即便是犧牲了一些額外的開(kāi)銷(xiāo),但能夠很大的降低誤碼率,也是值得的。
客戶(hù)的芯片的接收端可以支持FEC的糾錯功能,但要測試在不同的channel條件和不同的發(fā)送端均衡的設定下,芯片經(jīng)過(guò)FEC后的誤碼率能降低到多少,如果將信號直接環(huán)回到芯片的輸入端的話(huà),需要不停的修改芯片的FEC的參數來(lái)進(jìn)行測試,但由于其芯片每修改一次FEC的參數如FEC的symbol size, block size,content size等等都需要重新對芯片進(jìn)行代碼編譯和下載,每次下載需要幾分鐘的時(shí)間,由于不同的條件都要測試,則組合數量很多,導致測試效率非常低。
但是BSX系列誤碼儀的FEC功能能夠靈活實(shí)時(shí)的調節上述各種FEC的參數,并且實(shí)時(shí)的更新經(jīng)過(guò)FEC后的誤碼率變化情況,而完全不需要重新下載芯片的代碼(如圖11和圖12)。大大的提高了測試和調試的效率,而且客戶(hù)也做過(guò)認真的對比,誤碼儀對FEC后計算得到的誤碼率和其真實(shí)芯片經(jīng)過(guò)FEC的誤碼率是非常匹配的。這個(gè)功能使客戶(hù)之前幾天的時(shí)間進(jìn)行調試過(guò)程縮短到一天之內完成,作為泰克工程師的我之前也沒(méi)有怎么用過(guò)這個(gè)功能,覺(jué)得它是個(gè)雞肋,當現場(chǎng)看到客戶(hù)的調試過(guò)程后也是感嘆不已。
圖9:用戶(hù)的測試拓撲結構

圖10:RS-FEC的設定,可以任意修改,即使生效。

圖11:FEC的仿真功能,實(shí)時(shí)計算出FEC之前和之后的誤碼率的變化。

案例六:使用BSX的pattern sensitivity的功能定位誤碼出現的特定比特位.
在客戶(hù)進(jìn)行誤碼測試的時(shí)候,由于鏈路的損耗和芯片的輸出特性,導致出現了誤碼,但客戶(hù)卻想知道究竟是哪一個(gè)bit位出現了誤碼,以定位誤碼出現的根源。設置Bert的輸出/輸入端設置為PRBS7的碼型,在誤碼分析功能里面選擇Patten Sensitivity,則可以直接觀(guān)察PRBS7的127個(gè)比特的每一位所出現誤碼的個(gè)數,看最多誤碼所對應的比特位的前后特性,如下圖十三,移動(dòng)光標到任意一個(gè)比特上面,可以看到連續多個(gè)0而中間有一個(gè)1跳變的bit即127比特的第94比特出現誤碼的個(gè)數最多,達到5043598個(gè)誤碼。從而判斷由于鏈路ISI的影響導致突然的跳變位出現較高的誤碼率。
圖12:基于碼型系列的誤碼定位

從上述的用戶(hù)實(shí)際案例可以看出,Bertscope 的眼圖抖動(dòng)和誤碼定位分析可以給客戶(hù)帶來(lái)很多調試的手段,把時(shí)域和誤碼極好的相關(guān)聯(lián)起來(lái),幫用戶(hù)極大的提高了測試和調試的效率。
推薦閱讀:
推薦閱讀: