<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

在FPGA中實(shí)現源同步LVDS接收正確字對齊

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


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

圖7:LVDS95輸出時(shí)序。


圖7:LVDS95輸出時(shí)序。


點(diǎn)擊查看大圖

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

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


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


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


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

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


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


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

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


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


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

圖11:頂層模塊的設計。
圖11:頂層模塊的設計。


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

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


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

圖12:仿真波形。
圖13:字順序的調整邏輯。

圖13:字順序的調整邏輯。


圖14:內容為計數器的仿真輸出波形。

圖14:內容為計數器的仿真輸出波形。
本文小結


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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA LVDS

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>