在用戶進(jìn)行系統(tǒng)或者芯片測(cè)試的時(shí)候,,一般主要驗(yàn)證幾個(gè)方面的性能和可靠性,,包括系統(tǒng)發(fā)送端的信號(hào)質(zhì)量,,鏈路的損耗/串?dāng)_,,接收端的容限,。如下圖1,,一個(gè)鏈路系統(tǒng)的基本架構(gòu),。通常在發(fā)送端會(huì)使用FFE來補(bǔ)償鏈路的損耗,,接收端會(huì)采用DFE/FFE等方法來進(jìn)行均衡,,一些比較高速率的標(biāo)準(zhǔn)如PCIE 4.0/5.0,SAS4等還會(huì)采用FEC來進(jìn)行糾錯(cuò),當(dāng)然接收端還需要CDR來從串行信號(hào)里面進(jìn)行時(shí)鐘恢復(fù)得到同步時(shí)鐘來對(duì)信號(hào)進(jìn)行采樣,。
圖1: 高速串行鏈路的基本架構(gòu)
對(duì)于系統(tǒng)/芯片的接收端測(cè)試,,會(huì)有幾個(gè)方面的挑戰(zhàn),第一是loopback (環(huán)回)模式的Training,第二是link(鏈路)training,。只有這兩個(gè)部分的協(xié)商正確完成的前提下,,才能保證測(cè)試的順利完成。不管是loopback training 還是link training,,都要求Bert具備和被測(cè)設(shè)備自動(dòng)的協(xié)商功能,,通過基于協(xié)議的握手和雙向溝通去使被測(cè)設(shè)備進(jìn)入環(huán)回模式和均衡的自適應(yīng)。
如圖二,,支持各種協(xié)議的系統(tǒng)/芯片在上電后會(huì)通過與對(duì)端設(shè)備的多次協(xié)商進(jìn)入不同的子狀態(tài)機(jī),,在接收端容限測(cè)試的時(shí)候需要使被測(cè)芯片的狀態(tài)機(jī)從Config或者Recovery狀態(tài)進(jìn)入loopback的子狀態(tài),,這個(gè)實(shí)現(xiàn)需要Bert模擬一個(gè)真正的對(duì)端設(shè)備去發(fā)送符合該協(xié)議的碼型系列去training 被測(cè)設(shè)備。同時(shí)Bert也要能實(shí)時(shí)的解析被測(cè)設(shè)備的協(xié)議系列以確認(rèn)其是否被成功training,,否則需要重新修改設(shè)置來發(fā)送training的碼型序列,。如圖3,泰克的BSX系列誤碼儀最高可以支持單通道32Gbps的實(shí)時(shí)數(shù)據(jù)發(fā)送和接收,,可以直接產(chǎn)生和接收并同時(shí)解析協(xié)議的數(shù)據(jù)包,,而不像其他廠商只能在較低速的時(shí)候?qū)崿F(xiàn)數(shù)據(jù)直接產(chǎn)生和接收,而高速標(biāo)準(zhǔn)則需要通過兩個(gè)通道合并成單通道進(jìn)行發(fā)送,,并在接收端則將單通道再分解成兩個(gè)通道進(jìn)行接收,。這樣會(huì)導(dǎo)致高速標(biāo)準(zhǔn)的時(shí)候不能實(shí)現(xiàn)真正基于協(xié)議的協(xié)商。
圖2:PCIe/USB3.1等協(xié)議標(biāo)準(zhǔn)的各種狀態(tài)機(jī),。
圖3:BSX系列誤碼儀支持單通道的高速協(xié)議數(shù)據(jù)的發(fā)送和接收解析
如圖3,,除了loopback training以外,另一個(gè)重要的步驟是link training(鏈路協(xié)商),,需要Bert和DUT進(jìn)行FFE/DFE的實(shí)時(shí)協(xié)商來補(bǔ)償鏈路的損耗,,以達(dá)到最低的誤碼率。在USB3.1/PCIe協(xié)議中發(fā)送端會(huì)有多個(gè)級(jí)別的FFE來靈活對(duì)信號(hào)發(fā)送端進(jìn)行均衡補(bǔ)償,,在接收端也會(huì)有CTLE和DFE多級(jí)組合來進(jìn)行補(bǔ)償,。(詳細(xì)的鏈路協(xié)商步驟細(xì)節(jié)可以參考泰克的相關(guān)應(yīng)用文章-《克服第4代I/O應(yīng)用中的接收機(jī)測(cè)試挑戰(zhàn)》)。這個(gè)鏈路協(xié)商同樣需要Bert能夠在一定程度上去模擬一個(gè)真實(shí)設(shè)備和被測(cè)設(shè)備進(jìn)行溝通,,解析并響應(yīng)被測(cè)設(shè)備的要求去調(diào)節(jié)信號(hào)輸出的FFE參數(shù),,并根據(jù)誤碼率來請(qǐng)求被測(cè)設(shè)備調(diào)節(jié)其輸出的FFE參數(shù)和接收端的CTLE/DFE參數(shù),以達(dá)到最佳的誤碼率,。同樣這個(gè)時(shí)候也需要BERT具備單通道直接輸出和接收并解析基于協(xié)議的碼型序列達(dá)到與被測(cè)設(shè)備的實(shí)時(shí)協(xié)商,。
除了進(jìn)行一致性測(cè)試以外,對(duì)于芯片的驗(yàn)證過程中還經(jīng)常會(huì)進(jìn)行問題定位,,當(dāng)出現(xiàn)誤碼的時(shí)候,,大部分工程師會(huì)去搬一臺(tái)示波器來使用示波器觀察信號(hào)波形來進(jìn)行抖動(dòng)和眼圖分析來進(jìn)行調(diào)試,這時(shí)候得把信號(hào)重新連接到示波器來進(jìn)行信號(hào)的捕獲,,而且并不容易把誤碼和示波器捕獲的波形直接關(guān)聯(lián)起來找到誤碼的原因,。往往你旁邊并沒有一臺(tái)高帶寬示波器供你隨意使用。由于泰克的BSX系列誤碼儀能夠精確的統(tǒng)計(jì)誤碼的個(gè)數(shù)和誤碼出現(xiàn)的時(shí)間,,所以能夠?qū)崿F(xiàn)精準(zhǔn)的誤碼定位,。這個(gè)強(qiáng)大的誤碼定位功能和抖動(dòng)眼圖分析功能可以供你進(jìn)行系統(tǒng)和芯片級(jí)別的調(diào)試,下面會(huì)舉一些真實(shí)用戶使用Bert進(jìn)行調(diào)試分析的實(shí)例來說明,。
案例一:使用誤碼儀Error Free interval功能來驗(yàn)證芯片的自適應(yīng)時(shí)間,。
客戶在做芯片IP的選型驗(yàn)證,該芯片支持的速率為20.62bps,不同IP廠商會(huì)給出不同的芯片自適應(yīng)時(shí)間,,一般為幾百微妙到幾百毫秒不等,,如前面所述,,有一些芯片的關(guān)鍵參數(shù)會(huì)影響到這個(gè)自適應(yīng)時(shí)間,如芯片的FFE/DFE的均衡自適應(yīng)時(shí)間,,CDR的鎖定時(shí)間,,誤碼判決電路的采樣點(diǎn)的自動(dòng)調(diào)節(jié)等??蛻舻男枨笫菧y(cè)試從芯片開始初始化那一刻直至誤碼率低至10^-12左右的時(shí)間,。
圖4:連接拓?fù)鋱D
先按照上面圖4的連接圖連接好,將被測(cè)芯片設(shè)置為環(huán)回模式,,設(shè)置Bertscope的PG輸出為被測(cè)速率,,碼型設(shè)置為PRBS31,確認(rèn)CDR模塊可以正確鎖定,,Error Detector能夠正確的Sync碼型,,并且測(cè)試沒有誤碼。將Bert 的Error Detector端設(shè)置為Auto-resync,。
然后選擇Bert scope的View里面的誤碼分析功能(Error analysis),,選擇Error free interval。點(diǎn)擊Error free interval界面,,設(shè)置,Hist的end 為500000(bit),,這個(gè)參數(shù)需要根據(jù)芯片的特性靈活調(diào)節(jié),如果芯片的自適應(yīng)時(shí)間較長(zhǎng),,則可以適當(dāng)增加,以保證整個(gè)自適應(yīng)過程的誤碼變化情況都能夠在所選的時(shí)間范圍之內(nèi),。這個(gè)界面的橫軸是bit,,可以根據(jù)信號(hào)的速率轉(zhuǎn)化為絕對(duì)的時(shí)間,縱軸是誤碼個(gè)數(shù),。我們可以根據(jù)誤碼的變化從而計(jì)算出自適應(yīng)的收斂時(shí)間,。設(shè)置好以后點(diǎn)擊auto center。然后點(diǎn)擊Run,。
設(shè)置好誤碼儀后,,用命令將芯片的RX部分進(jìn)行一次hot reset,這時(shí)候芯片會(huì)進(jìn)行一次時(shí)鐘恢復(fù)的同步,,重新調(diào)節(jié)DFE,,F(xiàn)FE,在Bertscope的Error Free interval里面就可以看到出現(xiàn)大量誤碼然后再慢慢減少到?jīng)]有誤碼的過程,。在300000bit左右就不再出現(xiàn)誤碼,,表示這個(gè)時(shí)候自適應(yīng)過程就已經(jīng)完成。為了保證測(cè)試結(jié)果的重復(fù)性和一致性,,建議將這個(gè)hot reset的過程做十次,,Error free interval會(huì)自動(dòng)將這十次的結(jié)果進(jìn)行疊加,。從測(cè)試的結(jié)果看,芯片的自適應(yīng)時(shí)間約為250000X(1/20.62G)約為12.5us左右,。
案例二:使用誤碼的Strip chart的記錄功能來進(jìn)行長(zhǎng)時(shí)間的誤碼分析,。
由于客戶的系統(tǒng)要進(jìn)行長(zhǎng)時(shí)間的(-20到+80度下)的高低溫老化測(cè)試,客戶要看誤碼的性能和溫度變化的相關(guān)性,,一般的誤碼儀只能統(tǒng)計(jì)溫度變化過程中誤碼的總的個(gè)數(shù)和誤碼率,,而無法得知在整個(gè)十幾個(gè)小時(shí)里面任一時(shí)刻誤碼率的變化。而BSX系列誤碼儀則可以使用Strip chart的記錄功能將整個(gè)過程中記錄下來,,后面可以根據(jù)需要查詢?nèi)我鈺r(shí)刻的誤碼率變化情況,。如下圖,在第10/20/30秒的時(shí)間點(diǎn)出現(xiàn)了一些突發(fā)的誤碼,,這個(gè)如果僅僅是通過簡(jiǎn)單的誤碼統(tǒng)計(jì)是無法看到時(shí)間相關(guān)的細(xì)節(jié)的,,而且其累積記錄時(shí)間可以長(zhǎng)達(dá)幾十小時(shí)甚至幾天。
圖5:使用Strip chart功能記錄整個(gè)長(zhǎng)時(shí)間老化過程誤碼變化
案例四:使用誤碼儀的眼圖和抖動(dòng)分析功能進(jìn)行信號(hào)特性的分析,。
1.客戶在測(cè)試誤碼的同時(shí)想快捷的觀察TX端輸出信號(hào)的質(zhì)量,,確保芯片輸出的信號(hào)是否滿足一定的要求。2.客戶想真正的測(cè)試10^12次方下的總體抖動(dòng)的值,,因?yàn)橐话闶静ㄆ鞯腡j都是通過測(cè)量RJ和DJ然后再通過一定的外推算法去得到10^12 次方下的抖動(dòng)的,,由于示波器存儲(chǔ)深度和計(jì)算時(shí)間的限制,無法得到真正的Tj@10^12,。但誤碼儀是可以通過連續(xù)bit的測(cè)量從而得到真正的10^12的抖動(dòng)的,,并且其內(nèi)置的帶有兩個(gè)1bit的ADC在實(shí)時(shí)全速的對(duì)每個(gè)bit進(jìn)行掃描和比較,所以能夠快速的得到信號(hào)的眼圖(如圖7),。并根據(jù)每個(gè)bit的與采樣點(diǎn)的偏差計(jì)算該bit的TIE的抖動(dòng)偏移量,,從而通過算法計(jì)算信號(hào)的Rj/Dj并進(jìn)行抖動(dòng)的進(jìn)一步細(xì)分。同時(shí)由于BSX系列的誤碼檢測(cè)輸入端的帶寬高達(dá)22GHz以上,,所以對(duì)高速信號(hào)的眼圖和抖動(dòng)分析的精度非常高,。
圖6:Bertscope的誤碼檢測(cè)端自帶的兩個(gè)1bit ADC的比較器
圖7:眼圖分析功能
Bertscope18052408
案例五:使用誤碼儀的FEC emulation 功能快速模擬芯片的FEC算法。
由于現(xiàn)在芯片和標(biāo)準(zhǔn)的速率越來越高,,為了加強(qiáng)容錯(cuò)能力,,如SAS4/PCIe 4.0/5.0/25G以太網(wǎng)的標(biāo)準(zhǔn)都廣泛使用了FEC來進(jìn)行糾錯(cuò),即便是犧牲了一些額外的開銷,,但能夠很大的降低誤碼率,,也是值得的??蛻舻男酒慕邮斩丝梢灾С諪EC的糾錯(cuò)功能,,但要測(cè)試在不同的channel條件和不同的發(fā)送端均衡的設(shè)定下,芯片經(jīng)過FEC后的誤碼率能降低到多少,如果將信號(hào)直接環(huán)回到芯片的輸入端的話,,需要不停的修改芯片的FEC的參數(shù)來進(jìn)行測(cè)試,,但由于其芯片每修改一次FEC的參數(shù)如FEC的symbol size, block size,content size等等都需要重新對(duì)芯片進(jìn)行代碼編譯和下載,,每次下載需要幾分鐘的時(shí)間,,由于不同的條件都要測(cè)試,則組合數(shù)量很多,,導(dǎo)致測(cè)試效率非常低,。但是BSX系列誤碼儀的FEC功能能夠靈活實(shí)時(shí)的調(diào)節(jié)上述各種FEC的參數(shù),并且實(shí)時(shí)的更新經(jīng)過FEC后的誤碼率變化情況,,而完全不需要重新下載芯片的代碼(如圖11和圖12),。大大的提高了測(cè)試和調(diào)試的效率,而且客戶也做過認(rèn)真的對(duì)比,,誤碼儀對(duì)FEC后計(jì)算得到的誤碼率和其真實(shí)芯片經(jīng)過FEC的誤碼率是非常匹配的,。這個(gè)功能使客戶之前幾天的時(shí)間進(jìn)行調(diào)試過程縮短到一天之內(nèi)完成,作為泰克工程師的我之前也沒有怎么用過這個(gè)功能,,覺得它是個(gè)雞肋,,當(dāng)現(xiàn)場(chǎng)看到客戶的調(diào)試過程后也是感嘆不已。
圖9:用戶的測(cè)試拓?fù)浣Y(jié)構(gòu)
圖10:RS-FEC的設(shè)定,,可以任意修改,,即使生效。
圖11:FEC的仿真功能,,實(shí)時(shí)計(jì)算出FEC之前和之后的誤碼率的變化,。
案例六:使用BSX的pattern sensitivity的功能定位誤碼出現(xiàn)的特定比特位.
在客戶進(jìn)行誤碼測(cè)試的時(shí)候,由于鏈路的損耗和芯片的輸出特性,,導(dǎo)致出現(xiàn)了誤碼,,但客戶卻想知道究竟是哪一個(gè)bit位出現(xiàn)了誤碼,以定位誤碼出現(xiàn)的根源,。設(shè)置Bert的輸出/輸入端設(shè)置為PRBS7的碼型,在誤碼分析功能里面選擇Patten Sensitivity,,則可以直接觀察PRBS7的127個(gè)比特的每一位所出現(xiàn)誤碼的個(gè)數(shù),,看最多誤碼所對(duì)應(yīng)的比特位的前后特性,如下圖十三,,移動(dòng)光標(biāo)到任意一個(gè)比特上面,,可以看到連續(xù)多個(gè)0而中間有一個(gè)1跳變的bit即127比特的第94比特出現(xiàn)誤碼的個(gè)數(shù)最多,達(dá)到5043598個(gè)誤碼,。從而判斷由于鏈路ISI的影響導(dǎo)致突然的跳變位出現(xiàn)較高的誤碼率,。
圖12:基于碼型系列的誤碼定位
從上述的用戶實(shí)際案例可以看出,Bertscope 的眼圖抖動(dòng)和誤碼定位分析可以給客戶帶來很多調(diào)試的手段,,把時(shí)域和誤碼極好的相關(guān)聯(lián)起來,,幫用戶極大的提高了測(cè)試和調(diào)試的效率,。