當(dāng)你利用示波器觀測波形時,阿拉斯加的鱈魚正躍出水面;當(dāng)你debug電路時,南太平洋的海鷗正掠過海岸;當(dāng)你測試眼圖模板時,地球的極圈夜空正五彩斑斕。
總有一些波形會有畸變,總有一些電路會有bug,總有一些眼圖會壓模板。高速信號的質(zhì)量,需要測試眼圖模板;那些電路中看不到的bug,都終將在眼圖模板中得到體現(xiàn)。
為什么要測眼圖模板?
如何評定高速串行系統(tǒng)的性能?在高速串行系統(tǒng)中,主要通過眼圖測試。眼圖是把連續(xù)的比特流按照某一特定的時鐘,分割為單獨的比特,而后疊加而形成的圖形,類似一個張開的眼睛,故得名眼圖(Eye-diagram)。眼圖是高速串行信號的宏觀信號質(zhì)量的整體體現(xiàn),在眼圖中可以直接反映出串行信號的幅度、抖動特性等。
評估一個眼圖的好和壞,通常利用一些常見的指標(biāo)來衡量,比如眼高,眼寬,抖動,占空比等。為了簡單而又直觀地判斷眼圖的指標(biāo)是否符合規(guī)范的要求,將規(guī)范指標(biāo)的要求編寫成一個眼圖模板,然后利用示波器來調(diào)用這個模板,這樣就可以直觀看到眼圖是否有碰到模板。如果眼圖沒有碰到模板區(qū)域,表示眼圖符合規(guī)范要求,結(jié)果是Pass;同樣如果有碰到模板區(qū)域,結(jié)果是Fail,需要工程師對電路進(jìn)行整改,改進(jìn)信號質(zhì)量到Pass。
眼圖模板測試是一種評估高速串行信號質(zhì)量的手段。示波器的抖動眼圖分析軟件都內(nèi)置了業(yè)界主流高速串行信號的眼圖模板,例如PCIE、USB、SATA、SAS、DisplayPort、HDMI、Ethernet、Fibre Channel等。但是有些情況可能無法直接套用示波器內(nèi)置的標(biāo)準(zhǔn)模板,例如被測信號是新出標(biāo)準(zhǔn)定義的,或者實際測試點和標(biāo)準(zhǔn)要求的測試點不一致等情況,這就需要示波器調(diào)用自定義的眼圖模板完成測試。
一、眼圖模板定義解讀
眼圖模板有模板和相對模板,電信號的眼圖測試一般使用模板,光信號的眼圖測試一般使用相對模板。今天將介紹電信號的眼圖模板測試,即自定義模板的編寫和調(diào)用。
1、眼圖模板的Segment解讀
眼圖模板一般由上、中、下三部分組成,我們把上邊的稱為Segment1,簡稱SEG1,一般為長方形;中間部分的稱為Segment2,簡稱SEG2,一般為菱形或六邊形下邊的稱為Segment3,簡稱SEG3,一般是長方形。
2、眼圖模板的坐標(biāo)解讀
SEG1,SEG2,SEG3分別代表模板從上到下的三塊陰影區(qū)域,即使有時候不需要SEG1和SEG3,也要定義SEG1和SEG3,否則會影響模板縮放,SEG1和SEG3的v1=v2,v3=v4,t1=t4,t2=t3,t1=-t2。如果SEG2是菱形的話,v1=v3,v2=-v4,t2=t4,t1=-t3。
各拐角在模板中按逆時針順序分布,各SEG的t1,v1為左下角的坐標(biāo),t為水平坐標(biāo),v為垂直坐標(biāo)。
二、如何編寫自定義眼圖模板
眼圖模板根據(jù)芯片電氣特性規(guī)格定義的,下面是某個高速串行信號標(biāo)準(zhǔn)的眼圖模板定義規(guī)范指標(biāo),通過模板規(guī)范指標(biāo),可以推導(dǎo)出了眼圖模板的t和y的參數(shù),用記事本編輯,然后存為.msk模板文件,利用DPOJET導(dǎo)入使用。
1、打開txt文本文件
假如被測信號的速率是3.125Gbps,一個UI就是3.125Gbps的倒數(shù),即1UI=320ps,碼型是NRZ。BITR為信號速率3.125e9;WID為BITR倒數(shù)320e-12;打開一個空白txt文本文件,然后再空白輸入如下:
:MASK:USER:WID 320e-12;
:MASK:USER:BITR 3.125e9;
:MASK:USER:SERIALTRIG NRZ;
2、編寫Segment1的坐標(biāo)
根據(jù)上面的眼圖模板規(guī)范指標(biāo),注意:規(guī)范模板左邊是0UI,右邊是1UI,中間是0.5UI;但編寫模板時是左邊是-0.5UI,右邊是0.5UI,中間是0。所以SEG1的t1,v1,t2,v2,t3,v3,t4,v4計算如下:
t1=-0.5UI=-0.5*320e-12=-160e-12;
v1=600mV=600e-3;
t2=0.5UI=0.5*320e-12=160e-12;
v2=600mV=600e-3;
t3=0.5UI=0.5*320e-12=160e-12;
v3=(600+200)mV=800e-3;
t4=-0.5UI=-0.5*320e-12=-160e-12;
v4=(600+200)mV=800e-3;
得到Segment1模板如下:
:MASK:USER:SEG1:POINTS -160e-12,600e-3,160e-12,600e-3,160e-12,800e-3,-160e-12,800e-3;
3、編寫Segment2的坐標(biāo)
根據(jù)上面的眼圖模板規(guī)范指標(biāo),SEG2是六邊形,推導(dǎo)六個坐標(biāo)t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6計算如下:
t1=-(0.5-0.15)UI=-0.35*320e-12=-112e-12;
v1=0mV=0;
t2=-(0.5-0.4)UI=-0.1*320e-12=-32e-12;
v2=-400mV=-400e-3;
t3=(0.5-0.4)UI=0.1*320e-12=32e-12;
v3=-400mV=-400e-3;
t4=(0.5-0.15)UI=0.35*320e-12=112e-12;
v4=0mV=0;
t5=(0.5-0.4)UI=0.1*320e-12=32e-12;
v5=400mV=400e-3;
t6=-(0.5-0.4)UI=-0.1*320e-12=-32e-12;
v6=400mV=400e-3;
得到SEG2的模板如下:
:MASK:USER:SEG2:POINTS -112e-12,0,-32e-12,-400e-3,32e-12,-400e-3,112e-12,0,32e-12,400e-3,-32e-12,400e-3;
4、編寫Segment3的坐標(biāo)
根據(jù)上面的眼圖模板定義規(guī)格,SEG3是長方形,要推導(dǎo)出四個坐標(biāo),SEG3的t1,v1,t2,v2,t3,v3,t4,v4計算如下:
t1=-0.5UI=-0.5*320e-12=-160e-12;
v1=-(600+200)mV=-800e-3;
t2=0.5UI=0.5*320e-12=160e-12;
v2=-(600+200)mV=-800e-3;
t3=0.5UI=0.5*320e-12=160e-12;
v3=-600mV=-600e-3;
t4=-0.5UI=-0.5*320e-12=-160e-12;
v4=-600mV=-600e-3;
得到Segment2模板如下:
:MASK:USER:SEG3:POINTS -160e-12,-800e-3,160e-12,-800e-3,160e-12,-600e-3,-160e-12,-600e-3;
5、編寫模板名稱
編寫自定義眼圖模板名稱如下:
:MASK:AUTOSET:STANDARD SRIO_3.125G_Tx_Mask;
6、模板文件內(nèi)容
模板文件內(nèi)容見下圖。
7、把txt文件后綴名改為msk
保存文件,然后把文件的后綴名改為msk,見下圖。
三、如何加載自定義眼圖模板
1、加載自定義眼圖模板步驟
Step1: 點擊analyze→Jitter and Eye Analysis→One Touch jitter進(jìn)行抖動眼圖測試,示波器會自動進(jìn)行抖動眼圖分析,見下圖。
Step2: 點擊Plot→Clear All,見下圖。
Step3: 點擊Select→Eye→Mask Hits見下圖。
Step4: 點擊Configure→Mask Hits→Bits Config→All Bits→Absolute→Browse,見下圖。
Step5: 打開模板文件,見下圖。
Step6: 點擊Recalc進(jìn)行眼圖模板分析,見下圖。
Step7: 點擊Result→Mask Hits查看違規(guī)Segment,見下圖。
Step8: 點擊Report→Save As 生成報告,見下圖。
2、眼圖模板Pass/Fail
模板通常限定了信號不合格區(qū)域,如果眼圖與模板相交違規(guī),眼圖軟件會標(biāo)注不合格區(qū)域,該部分波形跡線將顯示為白色。見下圖。此外示波器將計算違規(guī)hits數(shù)量,并標(biāo)出是哪個Segment違規(guī)。
總結(jié)
本文詳細(xì)介紹了如何編寫高速信號的自定義眼圖模板文件,并進(jìn)行自定義眼圖模板信號實測,進(jìn)行了分析和生成了測試報告。