99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文詳解Xilinx GTX/GTH及2D eye scan的基本原理

電子設計 ? 來源:懶癌晚期患者 ? 作者:懶癌晚期患者 ? 2020-12-15 15:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹Xilinx GT的一些概念,對GT沒有概念但是有時間的童鞋推薦先看一下此文(Xilinx 7系列FPGA 高速收發(fā)器GTX/GTH的一些基本概念),補充一些基礎概念。

隨著高速數(shù)據傳輸?shù)钠占埃琒erdes已經成為FPGA上重要的I/O接口。而線速率也不斷的提高。更高的線速率也就帶來了更大的通道衰減影響。通常,Serdes接收端需要打開內部的均衡來對高速串行信號進行處理,保證內部的有效信號能夠等到放大而噪聲可以被抑制,并最終恢復出正確的數(shù)據。

通常,高速信號到達接收端的Pin位置,稱為遠端;進入Pin后,被接收端的均衡處理之后的信號,稱為近端。在一些均衡能力比較優(yōu)秀的Serdes上(例如Xilinx的GTX/GTH),遠端處的眼圖(可以通過高速示波器進行測量)無法睜開,但是近端處的眼圖可以完全睜開。這就是均衡器無法忽視的重要作用。

這也帶來一個問題,就是如何測量眼圖。針對遠端眼圖,可以通過高速示波器來進行測量。但是這個測量在很多情況下并不容易,比如沒有足夠高速的示波器,或者由于FPGA多為BGA封裝導致Serdes的RX Pin沒有合適的測試點來進行測試。而近端眼圖,由于近端的定義就是在Serdes的PMA內部,所以沒有使用高速示波器直接測量眼圖的可能。那么如何評價近端眼圖,就成了一個問題。

Xilinx 7系列(及以后)的GTX/GTH中提供了2D眼圖測量的功能,通常稱呼為2D eye scan,可以用來測量近端眼圖。Xilinx提供的GT測試工具ibert中,就是利用這個功能進行眼圖的測量。

圖片來自UG908

關于GT的基本結構和eye scan的具體原理,由于文檔已經做了充分的描述,這里就不重復贅述了。下文將會用簡單通俗的語言來描述2D eye scan的基本原理,出發(fā)點是易于理解。所以在準確性和嚴謹程度上肯定有所欠缺,這里先說一聲抱歉。

從字面分析,2D eye scan的意思就是二維眼圖掃描。二維的意思自然是橫縱兩個坐標。所以眼圖掃描的基本原理就是將二維眼圖的最大范圍坐標化,將眼圖整體變?yōu)橐粋€二維矩陣區(qū)域。

眼圖掃描的過程就是依次遍歷眼圖的二位矩陣區(qū)域,并和眼圖掃描的正中間區(qū)域做對比,記錄錯誤值,然后依據錯誤值,用不同的顏色來繪制當前二位矩陣中某個點,最終組成一個眼圖。

用更通俗的話來解釋,就是眼圖被劃分為一個分辨率是N*M的圖片。測量眼圖的時候會依次遍歷N*M個點,并和中心點的數(shù)據做對比。多次對比后記錄值不一樣的次數(shù),即誤碼率。當遍歷完N*M個點之后,依據每個點記錄的誤碼率來用不同的顏色繪制一副圖,即為眼圖。

圖片來自UG476

從上圖的左邊可以看到,每一個點相對中心點都有一個水平偏移量和垂直偏移量,這就等價于每個點的坐標值(至于0,0點在左下角還是在中心點都只是簡單的坐標變換而已)。

從圖中的右邊可以看到,最終眼圖的顏色是依據誤碼率繪制的,結合前文來自UG908的截圖,可以清楚的看到當誤碼率越低,顏色越偏向藍色(深藍色);當誤碼率越高,顏色越偏向紅色。理論上,越接近中心的點,誤碼率越低,所以越偏藍色,而越接近外圍的點,誤碼率越高,所以越偏紅色。所以實際獲取的眼圖樣子,是中心藍色,四周紅色的眼圖。

所以從原理上說,2D眼圖的測量步驟其實是遍歷整個N*M的點陣,計算每一個點與中心點數(shù)據值的誤碼率。當?shù)玫近c陣誤碼率的數(shù)據之后,后面僅僅是繪圖以便美觀顯示的事情。

具體的測量細節(jié)可以參考UG476的第四章。這里直接給出結論,內置的2D eye scan是逐個點進行測量的,所以每次測量只需一組坐標值。從微觀看來,逐點測量由于是串行的,所以是比較慢的。但是從宏觀來看,整體測量速度是比較快速的。

另外一個優(yōu)點就是,眼圖的測量不需要特殊的配置和數(shù)據,也不會對數(shù)據鏈路帶來任何負面影響。由于是和中心點數(shù)據的對比,所以無論GT跑的是什么數(shù)據流,都可以進行測量,也沒有影響。這就擴展了這一功能的使用范圍。例如ibert的誤碼率只能統(tǒng)計PRBS,無法用于實際數(shù)據的統(tǒng)計/測試。而這一功能可以實時測試,不影響GT正常業(yè)務的運行。將這一功能集成到最終版本中,可以作為實時監(jiān)控高速鏈路質量的一個參考標準。

如果GT無法正確回復出數(shù)據,則中心點的數(shù)據不會穩(wěn)定。這樣統(tǒng)計出來的結果也不會穩(wěn)定的顯示為一個眼睛的圖案,而是一個奇怪的圖案。如果GT能正確恢復出數(shù)據,那么中心點一定是穩(wěn)定的數(shù)據,所以無論眼圖是否睜開,張開多大,大體的形狀還是一個眼睛的圖案。進而,眼圖張開的大小就代表信號質量的好壞。所以2D eye scan的結果對鏈路信號質量的判斷,是非常有幫助的。

由于是逐點測試,所以這個過程相對來說更適合基于CPU/MCU的軟件來實現(xiàn)。Xilinx提供了兩個XAPP來實現(xiàn)該功能,其核心的控制都是交給MCU軟核MicroBlaze來實現(xiàn)的。
https://www.xilinx.com/support/documentation/application_notes/xapp743-e...
https://www.xilinx.com/support/documentation/application_notes/xapp1198-...

下面介紹一下具體的操作步驟。

首先,eye scan的具體操作是需要使用DRP的端口,這一端口也是容易和CPU接口適配的。

使用DRP端口的優(yōu)點是,主要步驟不占用FPGA可編程邏輯資源。代價是這個結構更適合MCU接口的實現(xiàn),如果使用普通邏輯資源實現(xiàn),會需要設計接口。

1.部分默認端口可以直接連接到地,例如:
EYESCANMODE
EYESCANTRIGGER

EYESCANRESET端口如果不需要使用,也是可以連接到地。

2.下面幾個信號設置為1
ES_SCAN_EN
PMA_RSV2[5]
ES_ERRDET_EN
ES_QUAL_MASK=(80’b1)

3.根據位寬(RX_INT_DATAWIDTH)設置ES_SDATA_MASK
40-bit 位寬: ES_SDATA_MASK = (40'b1, 40'b0)
32-bit位寬: ES_SDATA_MASK = (40'b1, 32'b0, 8'b1)
20-bit位寬: ES_SDATA_MASK = (40'b1, 20'b0, 20'b1)
16-bit位寬: ES_SDATA_MASK = (40'b1, 16'b0, 24'b1)

4.根據誤碼率設置ES_PRESCALE,關于這個參數(shù)的值,可以暫時跳過,等看完下文,理解原理之后再選擇合適的值寫入。

上述設置只需要設置一次即可。其中要注意,ES_QUAL_MASK和ES_SDATA_MASK都是80bit數(shù)據,需要分多次才能寫入。7系列的GTX/GTH,DRP數(shù)據位寬為16bit,所以需要5次才能完成80bit的寫入。

開始遍歷每一個點(即每一對橫縱坐標)。橫軸由ES_HORZ_OFFSET控制,縱軸由ES_VERT_OFFSET控制。

1.對每個點,將縱坐標寫入ES_VERT_OFFSET

這里需要注意,ES_VERT_OFFSET和ES_PRESCALE的地址是一樣的,高5bit是給ES_PRESCALE使用,低9位給ES_VERT_OFFSET使用。對于ES_VERT_OFFSET,0-7bit作為地址使用。第8位作為一個控制位,先填入0。DFE條件下后續(xù)還需要用到。

2.將橫坐標寫入ES_HORZ_OFFSET

3.將ES_CONTROL的低兩位設置為2'b01

這里需要先讀取出來,然后將低位設置位01,高位不變,再寫入ES_CONTROL寄存器中。

4.循環(huán)查詢es_control_status寄存器的值,如果發(fā)現(xiàn)最低位是1,表明采樣/記錯計數(shù)器溢出了,該點統(tǒng)計完畢(關于兩個計數(shù)器的含義,下文在做討論)。此時可以將ES_CONTROL的最低兩位設置為2'd00,以便于下一個點的測量。

5.讀取ES_ERROR_COUNT和ES_SAMPLE_COUNT寄存器的值,分別為記錯寄存器和采樣寄存器。

6.計算一下誤碼率

誤碼率的計算公式為,誤碼數(shù)目 / 采樣數(shù)目。

誤碼數(shù)目即為ES_ERROR_COUNT的值,如果該值為0,則誤碼率直接為0。

采樣數(shù)目的計算則相對負責。具體公式為:

SAMPLE/_COUNT=ES/_SAMPLE/_COUNT/times2^{(ES/_PRESCALE+1)}/times RX/_INT/_DATAWIDTH

可以看到,具體的采樣數(shù)和ES_SAMPLE_COUNT的值是有一個非線性的計算關系。

通過上述公式可以計算出采樣數(shù)的值,然后參與運算即可獲取誤碼率這一數(shù)據。

7.當使用DFE的時候,需要將ES_VERT_OFFSET的第八位設置為1(前文描述設置為0),然后重新測試一邊,計算出另一個誤碼率,和設置為0的誤碼率取一次平均才為最終的誤碼率。

這樣就完成一個點的測試了。

所以測試的大體流程就是先設置好一些固定的參數(shù),然后設置橫縱坐標,開始測試。等測試結束后獲取采樣數(shù)和錯誤數(shù)兩個值,計算誤碼率即可。DFE模式下需要將縱坐標的一位取反后重新測算一下,然后兩個誤碼率取平均。

這里就能看出來測試的具體細節(jié)。內部測試提供了兩個計數(shù)器,一個用于統(tǒng)計采樣次數(shù),另一個用于統(tǒng)計錯誤次數(shù)。測試過程其實就是進行多次的數(shù)據對比。對比一次,采樣次數(shù)加1,如果數(shù)據不對,則錯誤次數(shù)也加1。等到兩個計數(shù)器有一個溢出的時候就可以結束統(tǒng)計了。這樣會有兩種情況。
1.錯誤計數(shù)器溢出,采樣計數(shù)器沒有溢出,此時錯誤值比較大,可以保證精度。
2.采樣計數(shù)器溢出,錯誤計數(shù)器沒有溢出,此時采樣值比較大,誤碼率往往比較低。
由于兩個技術器溢出值相差非常大,所以不可能同時溢出。如果都沒有溢出,那么測試就不會停止。
用這種方法,可以獲取一個比較好的測試精度結果,也便于測試流程的控制。
另外,理解了這一流程,并觀察采樣值的計算公式,就能反推出ES_PRESCALE比較合適的值。
通過逐點的測量,就可以獲取完整的眼圖數(shù)據,然后進行繪圖即可。

2D eye scan的原理就分析完了。

下面分析一下實際操作中的一些問題。

1.ES_PRESCALE:如果確定這個值

這個參數(shù)實際控制的是采樣數(shù)的計算結果。通常情況下,通過公式反推,選區(qū)一個固定值就好。但是實際情況下,如果使用動態(tài)的控制,可以提高精度。關于這部分的討論就非常深入了。有興趣的童鞋可以再熟悉2D eye scan之后進行研究。

2.采樣點的數(shù)量:一定要逐點嗎

從手冊中可以查詢到ES_HORZ_OFFSET和ES_VERT_OFFSET的范圍。實際操作中,其實并不需要逐點測試。從圖片的角度觸發(fā),逐點(或者點間隔較?。┑暮锰幘褪菆D片的分辨率較高。同時弊端就是花費的時間較長。通常使用中并不需要非常高的眼圖分辨率,尤其是并不需要將眼圖美觀的繪制出來的條件下,適當加大間隔可以快速獲取眼圖的基本信息。依據基本信息再考慮是否提高精度,改變參數(shù)等操作,更為合適。ibert中也提供了調整采樣點間隔的選項。

3.關于ibert眼圖顯示的美觀性和眼圖的顯示

根據上述分析,眼圖最終結果其實是一個顆粒感比較強的圖片。ibert中較為平滑/美觀的眼圖其實是美化過的結果。右鍵點擊眼圖彈出的菜單中可以選擇沒有沒畫過的點陣圖。

ibert繪制的平滑眼圖

ibert的原始點陣眼圖,每個點為細長的橫條形狀

以上兩張圖為同一次測量后調整ibert顯示參數(shù)獲取的不同效果,可以看到ibert默認顯示是經過了美化的。而原始圖就是一個顆粒感很強的點陣圖。

下圖為自行設計/實現(xiàn)2D eye scan后自行繪制的眼圖。

自行實現(xiàn)2D eye scan測量后繪制的眼圖

原始數(shù)據已經有了的情況下,眼圖的繪制其實只是一個繪圖的軟件設計??紤]到大部分FPGA開發(fā)者可能并不擅長于圖形界面的開發(fā),所以推薦了解一下tk繪圖。不過更好的方案是讓專業(yè)的人做專業(yè)的事情。通過基本的數(shù)據,即使沒有繪圖,也能做很多事情了。

4.DRP如何控制

官方推薦的方案是利用MCU來進行控制,比如MicroBlaze的軟核。

另外可以通過JTAG,由PC發(fā)起控制。原廠方案為AXI JTAG。

本人是通過TCL和JTAG來控制VIO接口,進而控制DRP端口的。關于這個方案,除了控制DRP端口,還可以控制BRAM。具體可以參考專欄文章:Vivado功能完善:如何用Tcl/VIO更新BRAM中的數(shù)據

5.寄存器的地址

上文的描述中最大的問題就是沒有介紹寄存器和相關的地址。關于各個寄存器的名稱再文章已經給出了。具體的地址可以參考UG476的附錄D(通常都是最后一個附錄)。
ES_QUAL_MASK 0x031~0x035
ES_SDATA_MASK 0x036~0x03A
PMA_RSV2 0x082
ES_ERRDET_EN 0x03D
ES_EYE_SCAN_EN 0x03D
ES_CONTROL 0x03D
ES_PRESCALE 0x03B
ES_VERT_OFFSET 0x03B
ES_HORZ_OFFSET 0x03C
es_control_status 0x151
ES_ERROR_COUNT 0x14F
ES_SAMPLE_COUNT 0X150

這里給出7系列GT的部分寄存器地址。

整套方案可以移植到UltraScale/UltraScale+的GT上,需要注意的是,寄存器地址需要重新核對一下??梢源_定很多寄存器的地址/定義都不一樣。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 收發(fā)器
    +關注

    關注

    10

    文章

    3673

    瀏覽量

    108023
  • 示波器
    +關注

    關注

    113

    文章

    6709

    瀏覽量

    189362
  • 寄存器
    +關注

    關注

    31

    文章

    5435

    瀏覽量

    124606
  • Xilinx
    +關注

    關注

    73

    文章

    2185

    瀏覽量

    125433
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TechWiz LCD 2D應用:不同結構下的VT曲線

    我們可以在TechWiz LCD 2D軟件中調整電極的寬度,錐度,厚度和位置。 1. 案例結構 2. 建模過程 2.1在TechWiz LCD 2D中創(chuàng)建結構 2.2將com電極兩個掩膜的寬度均
    發(fā)表于 06-13 08:44

    HT 可視化監(jiān)控頁面的 2D 與 3D 連線效果

    HT 是個靈活多變的前端組件庫,具備豐富的功能和效果,滿足多種開發(fā)需求。讓我們將其效果化整為零,逐拆解具體案例,幫助你更好地理解其實現(xiàn)方案。 此篇文章中,讓我們起深入探討 2D
    的頭像 發(fā)表于 04-09 11:28 ?568次閱讀
    HT 可視化監(jiān)控頁面的 <b class='flag-5'>2D</b> 與 3<b class='flag-5'>D</b> 連線效果

    六天專修課程!電子電路基本原理66課

    、運算放大器、負反饋、振蕩電路原理以及數(shù)字電路的數(shù)字邏輯、二進制運算、大規(guī)模微處理器以及A-DD-A轉換電路的基本原理,并對模擬(線性)電路設計的SPICE軟件仿真以及現(xiàn)代邏輯電路設計的硬件描述語言做了詳細
    發(fā)表于 04-08 16:21

    無刷電機電調的基本原理

    有關本文所談論的無刷電機內容, 只涉及低速飛行類航模電調的小功率無傳感器應用,講解的理論比較淺顯易懂 ,旨在讓初學者能夠對無刷電機有個比較快的認 識,掌握基本原理和控制方法,可以在短時間內達到
    發(fā)表于 03-17 19:57

    STM8/STM32 products有2D marking和沒有2D marking的工藝有差別嗎?

    請教下,STM8/STM32 products 有2D marking 和沒有2D marking的工藝有差別嗎?同程序在使用時有2D標識的不能用。
    發(fā)表于 03-07 07:21

    DLPC120軟件無法和EYE2通訊怎么解決?

    ,并且今年上半年在大陸市場出售過2000支EYE2色彩分析儀,這個銷量差不多是柯尼卡美能達CA410去年在大陸市場的半,我們后續(xù)還會有些客戶會用到TI的產品,想問下TI是否能把我
    發(fā)表于 02-20 06:04

    TechWiz LCD 2D應用:不同結構下的VT曲線

    我們可以在TechWiz LCD 2D軟件中調整電極的寬度,錐度,厚度和位置。 1. 案例結構 2. 建模過程 2.1在TechWiz LCD 2D中創(chuàng)建結構 2.2將com電極兩個掩膜的寬度均
    發(fā)表于 02-06 10:18

    RNN的基本原理與實現(xiàn)

    RNN,即循環(huán)神經網絡(Recurrent Neural Network),是種特殊類型的人工神經網絡,專門設計用于處理序列數(shù)據,如文本、語音、視頻等。以下是對RNN基本原理與實現(xiàn)的介紹:
    的頭像 發(fā)表于 11-15 09:49 ?1463次閱讀

    高斯濾波的基本原理有哪些

    高斯濾波的基本原理可以從以下幾個方面進行闡述: 、定義與性質 定義 :高斯濾波(Gaussian Filter)是種常見的圖像處理技術,實質上是種信號的濾波器,用于平滑和降噪圖像
    的頭像 發(fā)表于 09-29 09:27 ?1576次閱讀

    Allegro推出2D霍爾效應速度和方向鎖存器

    對于天窗頂電機位置,升降門電機,車窗升降電機和電子駐車制動(EPB)系統(tǒng)等應用,透過使用單個2D磁性速度和方向傳感器,可以簡化系統(tǒng)設計和生產,減少BOM,并提高系統(tǒng)安全性。APS12625和APS12626系列2D霍爾效應2D
    的頭像 發(fā)表于 09-27 09:58 ?785次閱讀

    3DP工藝基本原理

     3DP工藝,全稱Three-Dimensional Printing(三維打?。?,是種3D打印技術,其基本原理可以詳細闡述如下:
    的頭像 發(fā)表于 09-16 15:32 ?1998次閱讀

    TMAG511x 2D鎖扣的優(yōu)點

    電子發(fā)燒友網站提供《TMAG511x 2D鎖扣的優(yōu)點.pdf》資料免費下載
    發(fā)表于 09-13 09:53 ?0次下載
    TMAG511x <b class='flag-5'>2D</b>鎖扣的優(yōu)點

    限流保護電路的基本原理

    限流保護電路的基本原理個復雜但至關重要的概念,它涉及到電子電路中電流控制的多個方面。這種電路的主要目的是在電流超過預設的安全閾值時,通過系列機制來限制或切斷電流,從而保護電路中的元件和設備免受損壞。以下是對限流保護電路
    的頭像 發(fā)表于 08-19 17:55 ?4569次閱讀

    無線充電技術的基本原理和應用領域

    無線充電技術作為近年來快速發(fā)展的電力傳輸方式,其基本原理和應用范圍廣泛,為人們的生活帶來了極大的便利。以下將詳細闡述無線充電技術的基本原理、主要類型、技術優(yōu)勢以及在不同領域的應用。
    的頭像 發(fā)表于 07-26 17:56 ?5534次閱讀

    D/A轉換器的基本原理和性能指標

    D/A轉換器(Digital-to-Analog Converter,簡稱DAC)是種將數(shù)字信號轉換為模擬信號的電子器件。在數(shù)字信號處理、音頻設備、通信系統(tǒng)等眾多領域中,D/A轉換器都扮演著至關重要的角色。以下將詳細闡述
    的頭像 發(fā)表于 07-22 17:01 ?3616次閱讀