色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 在FPGA中實現(xiàn)源同步LVDS接收正確字對齊

          在FPGA中實現(xiàn)源同步LVDS接收正確字對齊

          作者: 時間:2009-08-03 來源:網(wǎng)絡(luò) 收藏


          在具體應(yīng)用時,還需通過仿真來確定具體應(yīng)用下的字輸出順序,然后在邏輯設(shè)計里面進(jìn)行調(diào)整,使最終的并行輸出符合滿足需求。下面以與TI的SN6595 發(fā)送器對接為例來介紹具體的設(shè)計方法和步驟。當(dāng)把Stratix III的與別的LVDS器件對接時,也可以此為參考。

          圖7:LVDS95輸出時序。


          圖7:LVDS95輸出時序。


          點擊查看大圖

          在圖7,LVDS95輸出的時鐘和數(shù)據(jù)是對齊到輸出時鐘的上升沿上的,數(shù)據(jù)的最高比特(MSB)出現(xiàn)在時鐘上升沿之在后的第三個比特。這里的目的是使Stratix III 的LVDS接收器輸出正確的字順序,也即圖7中的D6出現(xiàn)在并行輸出數(shù)據(jù)的最高比特上。

          圖8:綜合設(shè)置頁面。


          圖8:綜合設(shè)置頁面。


          假設(shè)并行側(cè)的時鐘頻率是60MHz,這樣串行LVDS的速率是480Mbps。為方便描述,這里只針對1路LVDS數(shù)據(jù)進(jìn)行設(shè)計。


          首先根據(jù)LVDS95的時序進(jìn)行Stratix III中的LVDS模塊(ALTLVDS)的調(diào)用。

          圖9:頻率和鎖相環(huán)設(shè)置頁面。


          圖9:頻率和鎖相環(huán)設(shè)置頁面。


          在圖8的綜合設(shè)置頁面中,我們沒有選上“Implement Serializer/Deserializer circuitry in logic cells,這樣就用到了LVDS SERDES硬核。同樣也沒有選上“Enable Dynamic Phase Alignment mode”選項,這表示不使用DPA功能。

          圖10:接收器設(shè)置頁面。
          圖10:接收器設(shè)置頁面。


          在圖9中,根據(jù)LVDS95的輸出時序,在“What is the phase alignment of 'rx_in' with respect to the rising edge of 'rx_inclock'? ”里選擇了0度。在圖10的設(shè)置中,通常情況下需要選上“Register outputs”選項。但因為后續(xù)設(shè)計邏輯包含了這些寄存器,所以這里選擇該選項。此外,在這里沒有使能“rx_channel_data_align”端口來進(jìn)行字重新對齊。


          接下來需要通過仿真找出串行因子等于7的情況下,LVDS硬核的字順序情況。圖11給出了頂層設(shè)計例子,圖12是在MODELSIM里的仿真結(jié)果。

          圖11:頂層模塊的設(shè)計。
          圖11:頂層模塊的設(shè)計。


          從圖11的仿真波形可以看到,LVDS時鐘上升沿之后的第一個數(shù)據(jù)將在并行側(cè)的rx_out_tmp[6:0]中的rx_out_tmp[2]出現(xiàn)。結(jié)合LVDS95的特性,LVDS95輸出的MSB(D6)將在rx_out_tmp[0]出現(xiàn),于是需要將此輸出滑動一位,得到正確的字順序。

          圖12:仿真波形。
          圖12:仿真波形。


          在圖13中,首先將數(shù)據(jù)進(jìn)行一拍延時,得到rx_out_tmp_dly[6:0],然后將rx_out_tmp_dly[0]放置在輸出數(shù)據(jù)的最高位,rx_out_tmp[6:1]順序放置在其他位上,得到數(shù)據(jù)向右滑動一位的效果。如果需要滑動多位,調(diào)整上述的放置位置就可以了。對上述調(diào)整邏輯,我們可以進(jìn)一步通過仿真來驗證。在此我們輸入了一個計數(shù)器數(shù)據(jù)進(jìn)行確認(rèn)。圖14給出了仿真的部分輸出結(jié)果,圖中,左邊兩根豎條標(biāo)出了LVDS輸入的“000001”數(shù)據(jù),右邊的兩個豎條標(biāo)出了rx_out的正確輸出。這證明了我們的調(diào)整是正確的。

          圖12:仿真波形。
          圖13:字順序的調(diào)整邏輯。

          圖13:字順序的調(diào)整邏輯。


          圖14:內(nèi)容為計數(shù)器的仿真輸出波形。

          圖14:內(nèi)容為計數(shù)器的仿真輸出波形。
          本文小結(jié)


          在利用Stratix III做LVDS接收時,我們可以將解串行化因子設(shè)置成等于輸入的LVDS數(shù)據(jù)和時鐘之間的倍數(shù)關(guān)系,這樣就可以得到確定的字輸出順序,從而可以不依賴訓(xùn)練碼實現(xiàn)正確LVDS接收的字對齊。此方法不僅適合于與單獨(dú)的LVDS發(fā)送器進(jìn)行對接,也可用于之間的數(shù)據(jù)傳送,使用時FPGA的LVDS發(fā)送端送出低頻的源同步時鐘即可。


          上一頁 1 2 下一頁

          關(guān)鍵詞: FPGA LVDS

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉