国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Altera FPGA與高速ADS4249和DAC3482的LVDS接口設(shè)計(jì)

FPGA研究院 ? 來(lái)源:FPGA技術(shù)實(shí)戰(zhàn) ? 2025-06-19 10:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言:本文以TIADS4249(ADC)和DAC3482(DAC)之間的接口為例,介紹Altera FPGA與ADC/DAC之間的DDR LVDS接口設(shè)計(jì)以及時(shí)序約束詳細(xì)設(shè)計(jì)。本文介紹的實(shí)例可方便擴(kuò)展到具有類(lèi)似接口格式的其他高速數(shù)據(jù)轉(zhuǎn)換器設(shè)計(jì)。

1.概述

ADS4249是一款雙通道、14位、250MSPS ADC,具有雙總線(xiàn)、字節(jié)級(jí)數(shù)字接口。ADS4249接口示例適用于許多TI高速ADC,包括以下系列:ADS41xx、ADS42xx和ADS62Pxx。ADS4249對(duì)外接口如圖1所示。

wKgZO2hTcECAYDuoAAOvcLXWK9Y543.png

圖1:ADS4249對(duì)外接口

DAC3482是一個(gè)雙通道、16位、1.25GSPS DAC,具有單總線(xiàn)采樣數(shù)字接口。本文代碼示例的設(shè)計(jì)數(shù)據(jù)速率為250MSPS,同樣的概念擴(kuò)展到涵蓋大多數(shù)LVDS、不同數(shù)據(jù)速率的高速DAC。DAC3482對(duì)外接口如圖2所示。

wKgZO2hTcECATZUmAAM3zlogh80068.png

圖2:DAC3482對(duì)外接口

2.硬件框圖

ADS4249及DAC3482硬件連接框圖如圖3所示。

wKgZPGhTcECAJLiFAACfpdF3WxA519.png

圖3:ADS4249及DAC3482硬件連接框圖

CDCE62005接收外部時(shí)鐘1GHz,經(jīng)分頻后向ADS4249提供250MHz時(shí)鐘,ADS4249輸出與數(shù)據(jù)同步的250 MHz源同步時(shí)鐘。

同時(shí),CDCE62005將1GHz時(shí)鐘分配給DAC,還將時(shí)鐘除以4,向FPGA發(fā)送250MHz時(shí)鐘,以創(chuàng)建傳輸時(shí)鐘域。DAC3482的插值設(shè)置為4,數(shù)據(jù)速率為250MSPS,最終DAC輸出速率為1GSPS。

3. FPGA軟件設(shè)計(jì)

以下部分將詳細(xì)分解示例代碼,示例代碼的簡(jiǎn)化框圖如下圖4所示。

wKgZPGhTcECAA0W1AAbhn5Z1EXo836.png

圖4:FPGA架構(gòu)和時(shí)鐘域框圖

2.1 輸入時(shí)鐘和時(shí)鐘域

如圖4示例代碼中,有兩個(gè)時(shí)鐘發(fā)送到FPGA,在FPGA內(nèi)形成兩個(gè)時(shí)鐘域(接收時(shí)鐘域和發(fā)送時(shí)鐘域)。ADS4249源同步數(shù)據(jù)時(shí)鐘lvds_rx_clk_p為接收域提供250MHz的輸入時(shí)鐘。FPGA的發(fā)送側(cè)從CDCE62005接收250MHz時(shí)鐘lvds_tx_fpga_clk_p。

兩個(gè)輸入時(shí)鐘都被引入FPGA內(nèi)部鎖相環(huán)(ALTPLL),鎖相環(huán)產(chǎn)生內(nèi)部時(shí)鐘。

wKgZPGhTcD-AUMibAAKJNqjAML0367.png

圖5:ALTPLL中的源同步補(bǔ)償與正常補(bǔ)償

在RX側(cè),ADS4249提供中心對(duì)齊的源同步數(shù)據(jù)和時(shí)鐘。對(duì)于源同步接口,F(xiàn)PGA的目標(biāo)是保持輸入引腳處的時(shí)鐘與數(shù)據(jù)相位關(guān)系在內(nèi)部I/O寄存器處相同,以保持最大的時(shí)序裕度。

因此,RX PLL被設(shè)置為使用源同步補(bǔ)償模式和0°相移簡(jiǎn)單地重建輸入時(shí)鐘。源同步補(bǔ)償模式通過(guò)匹配從時(shí)鐘輸入引腳到I/O寄存器的延遲和從數(shù)據(jù)輸入引腳到輸入/輸出寄存器的延遲來(lái)保持FPGA內(nèi)部ADS4249的時(shí)鐘和數(shù)據(jù)之間的相位關(guān)系。請(qǐng)注意,F(xiàn)PGA內(nèi)部不需要時(shí)鐘相移,因?yàn)锳DS4249已經(jīng)提供了一個(gè)中心對(duì)齊的數(shù)據(jù)時(shí)鐘,F(xiàn)PGA PLL的源同步補(bǔ)償保持了這種關(guān)系。圖5顯示了FPGA中源同步補(bǔ)償?shù)目驁D。

在TX側(cè),從DAC3482從CDCE62005接收時(shí)鐘,該時(shí)鐘沒(méi)有與之相關(guān)的數(shù)據(jù),因此不需要源同步模式,因?yàn)闆](méi)有數(shù)據(jù)與時(shí)鐘相位關(guān)系需要維護(hù)。因此,TX側(cè)的PLL以0°相移重新創(chuàng)建TX輸入時(shí)鐘,但由于沒(méi)有與此時(shí)鐘相關(guān)的數(shù)據(jù),因此使用正常補(bǔ)償模式。

正常補(bǔ)償模式補(bǔ)償了全局時(shí)鐘網(wǎng)絡(luò)從輸入引腳到被計(jì)時(shí)寄存器的延遲,如圖5所示。0°相移時(shí)鐘用于將數(shù)據(jù)從RX輸出到TX FIFO,并將數(shù)據(jù)從FPGA輸出到DAC。DAC3482需要中心對(duì)齊的數(shù)據(jù),因此PLL也用于創(chuàng)建相對(duì)于0°相移時(shí)鐘具有90°相移的時(shí)鐘。90°相移時(shí)鐘用于創(chuàng)建TX輸出時(shí)鐘,使數(shù)據(jù)和數(shù)據(jù)時(shí)鐘之間存在90°相位差。這在FPGA和DAC之間創(chuàng)建了一個(gè)源同步、中心對(duì)齊的接口。

2.2 接口架構(gòu)

2.2.1 ADC數(shù)據(jù)輸入架構(gòu)

ADC輸入接口由ALTDDIO_IN 函數(shù)創(chuàng)建。該塊具有雙倍數(shù)據(jù)速率(DDR)輸入寄存器,可捕獲輸入時(shí)鐘上升沿和下降沿的數(shù)據(jù)。單數(shù)據(jù)速率(SDR)數(shù)據(jù)在輸入時(shí)鐘的上升沿從塊中時(shí)鐘輸出,其中dataout_l包含在前一個(gè)下降沿時(shí)鐘輸入的數(shù)據(jù),dataout_h包含在當(dāng)前上升沿時(shí)鐘輸出的數(shù)據(jù)。圖6顯示了ALTDDIO_IN函數(shù)的框圖。

wKgZPGhTcD-AN4QEAAHrurnQvlM863.png

圖6:ALTDDIO_IN的ALTDDIO_RX實(shí)例框圖

ADS4249的奇數(shù)位和偶數(shù)位的ALTDDIO_IN函數(shù)的默認(rèn)時(shí)序圖如圖7所示。該時(shí)序圖假設(shè)ADS4249和ALTDDIO_IN函數(shù)之間的時(shí)鐘沒(méi)有相移。該時(shí)序圖顯示,在輸入時(shí)鐘的上升沿,輸出dataout_l具有前一個(gè)樣本(樣本N-1)的奇數(shù)位,輸出dataout_h具有當(dāng)前樣本(樣本N)的偶數(shù)位。這意味著每個(gè)時(shí)鐘周期函數(shù)輸出端的奇數(shù)位和偶數(shù)位不是來(lái)自同一ADC樣本。當(dāng)試圖將DDR數(shù)據(jù)編譯成單個(gè)樣本進(jìn)行處理時(shí),這會(huì)產(chǎn)生問(wèn)題。問(wèn)題如圖7所示。

wKgZO2hTcD-AK8PjAAJQ2y8eC9o471.png

圖7:ALTDDIO_IN默認(rèn)時(shí)序圖

有兩種方法可以解決這個(gè)問(wèn)題:第一種方法是通過(guò)在PLL中應(yīng)用180°相移來(lái)反轉(zhuǎn)輸入時(shí)鐘。反相輸入時(shí)鐘的時(shí)序圖如圖8所示。新的圖表顯示,同一樣本的偶數(shù)位和奇數(shù)位在輸入時(shí)鐘的上升沿上時(shí)鐘輸出,偶數(shù)位在dataout_l上,奇數(shù)位在dataout_h上。請(qǐng)注意,偶數(shù)位和奇數(shù)位交換了之前默認(rèn)情況下的輸出,這是示例代碼中使用的方法。

wKgZO2hTcD-ALW4uAAKLzBgtSes064.png

圖8:交換差分時(shí)鐘對(duì)的ALTDDIO_IN時(shí)序圖

請(qǐng)注意,示例代碼中的PLL實(shí)現(xiàn)沒(méi)有如上所述的180°相移。這種相移實(shí)際上是在FPGA外部完成的,通過(guò)物理交換電路板上布局上的差分走線(xiàn)P和N,使ADC的正出到達(dá)FPGA的負(fù)輸入。交換差分走線(xiàn)與反轉(zhuǎn)信號(hào)(或應(yīng)用180°相移)相同,因此進(jìn)入FPGA的時(shí)鐘已經(jīng)反轉(zhuǎn)。因此,F(xiàn)PGA中的0°相移足以為ALTDDIO_in函數(shù)提供反相時(shí)鐘。如果沒(méi)有物理反轉(zhuǎn),PLL需要執(zhí)行相移。

第二種選擇是將dataout_h上的偶數(shù)位從上一個(gè)采樣延遲一個(gè)時(shí)鐘周期。這可以通過(guò)創(chuàng)建一個(gè)寄存器來(lái)輕松實(shí)現(xiàn),該寄存器在SDR時(shí)鐘的上升沿上對(duì)偶數(shù)位進(jìn)行計(jì)時(shí)。一旦偶數(shù)位延遲了一個(gè)時(shí)鐘周期,匹配的奇數(shù)位將在SDR時(shí)鐘的下一個(gè)上升沿從ALTDDIO_IN塊中出來(lái)。然后,這些可以組合在一起形成一個(gè)ADC樣本。

wKgZPGhTcD-AKdokAAQ3NS3OFtE330.png

圖9:ALTDDIO_IN函數(shù)外ADC位的排列和重新排序

ADS4249使用兩條7位數(shù)據(jù)總線(xiàn),每條總線(xiàn)包含一個(gè)ADC通道,該通道的偶數(shù)位和奇數(shù)位交織在一起,因此它們分別在數(shù)據(jù)時(shí)鐘的上升沿和下降沿輸出。示例代碼使用具有14個(gè)LVDS輸入對(duì)的單個(gè)ALTDDIO_IN函數(shù),使得dataout_l和dataout_h每個(gè)都包含來(lái)自信道A的7位和來(lái)自信道B的7位,從而在每個(gè)時(shí)鐘上升沿上從ALTDDIO_IN函數(shù)輸出總共28位。圖9顯示了反轉(zhuǎn)時(shí)鐘情況下這些位的排列。對(duì)于信號(hào)處理,這些比特需要重新排列為通道A和B的單獨(dú)14比特樣本。使用簡(jiǎn)單的賦值語(yǔ)句將它們按正確的順序排列。賦值語(yǔ)句的功能如圖9所示。請(qǐng)注意,ADS4249為14位,而DAC3482為16位。在每個(gè)14位樣本的末尾填充兩個(gè)零,因此使用DAC的14個(gè)最高有效位。如果使用延遲方法,偶數(shù)位和奇數(shù)位將分別位于dataout_h和dataout_l上。

2.2.2 DAC數(shù)據(jù)輸出架構(gòu)

對(duì)于DAC,使用了兩個(gè)ALTDDIO_OUT 函數(shù)。其中一個(gè)實(shí)例簡(jiǎn)單地輸出數(shù)據(jù)和同步信號(hào),另一個(gè)實(shí)例創(chuàng)建DDR輸出時(shí)鐘。數(shù)據(jù)輸出ALTDDIO_OUT函數(shù)的框圖如圖10所示。

wKgZPGhTcD-AHgl3AAFBOwTkxSY260.png

圖10:ALTDDIO_OUT的ALTDDIO_TX實(shí)例框圖

datain_h端口接收DAC通道A的采樣,datain_l接收通道B的采樣,使得通道A在時(shí)鐘的上升沿輸出,通道B在下降沿輸出。這些樣本來(lái)自分隔RX和TX時(shí)鐘域的FIFO。DAC同步信號(hào)有一個(gè)額外的輸入,該信號(hào)是通過(guò)用去抖動(dòng)碼推送PUSHBUTTON1生成的,以防止多個(gè)同步實(shí)例。請(qǐng)注意,最后一個(gè)輸入位是零,這是必要的,因?yàn)椴辉试S使用17位ALTDDIO_OUT函數(shù)。因此,創(chuàng)建了一個(gè)18位函數(shù),并使用虛擬位來(lái)允許代碼編譯。

還有一個(gè)ALTDDIO_OUT實(shí)例,它生成圖11所示的輸出時(shí)鐘。ALTDDIO_CLK_OUT僅接收分別在tx_pll_output_CLK的上升沿和下降沿輸出的1和0。該塊的輸出成為傳輸?shù)紻AC的數(shù)據(jù)的數(shù)據(jù)時(shí)鐘。請(qǐng)注意,此塊的時(shí)鐘是與數(shù)據(jù)時(shí)鐘相比具有90°相移的PLL時(shí)鐘。這將根據(jù)DAC的要求創(chuàng)建一個(gè)中心對(duì)齊的源同步接口。

wKgZO2hTcECAF4x9AAD1ExWJ5W4668.png

圖11:ALTDDIO_OUT的ALTDDIO_CLK_OUT實(shí)例的框圖

這兩個(gè)塊的時(shí)序圖如圖12所示,表明tx_pll_output_clk與tx_pll_data_clk相比有90°的相移。數(shù)據(jù)在tx_pll_data_clk上計(jì)時(shí),輸出時(shí)鐘由tx_pll_output_clk創(chuàng)建。在圖的底部,很明顯,數(shù)據(jù)和輸出時(shí)鐘形成了一個(gè)中心對(duì)齊的源同步輸出。輸出時(shí)鐘是使用ALTDDIO_OUT塊創(chuàng)建的,而不是直接使用PLL時(shí)鐘,因?yàn)镈DR輸出塊與輸出引腳的延遲比DDR輸出塊的全局時(shí)鐘網(wǎng)絡(luò)更匹配。這簡(jiǎn)化了定時(shí)關(guān)閉。

wKgZO2hTcD-Ae6YwAAGAmL0gBqk632.png

圖12:ALTDDIO_TX和ALTDDIO_CLK_OUT的時(shí)序圖

2.3 LVDS接口時(shí)鐘約束設(shè)計(jì)

2.3.1 概述

時(shí)序約束的目的是描述與FPGA接口的外部設(shè)備的數(shù)據(jù)時(shí)鐘偏差。這些約束為代碼綜合提供了FPGA內(nèi)部時(shí)序的有效時(shí)鐘到數(shù)據(jù)偏斜目標(biāo)。最重要的是要記住,它是正在定義的外部接口。本節(jié)僅討論ADC和DAC源同步接口的時(shí)序約束。

對(duì)于向FPGA傳輸數(shù)據(jù)的設(shè)備,如ADC,時(shí)序約束定義了數(shù)據(jù)和數(shù)據(jù)時(shí)鐘之間可能存在的偏斜變化量。首先定義鎖存和啟動(dòng)時(shí)鐘,其中啟動(dòng)時(shí)鐘表示數(shù)據(jù)轉(zhuǎn)換沿,鎖存時(shí)鐘表示數(shù)據(jù)時(shí)鐘。時(shí)鐘定義設(shè)定了數(shù)據(jù)和時(shí)鐘之間的初始理想定時(shí)。然后,定義最小和最大延遲,表示數(shù)據(jù)線(xiàn)的最大可能延遲變化。這些延遲基本上指定了鎖存時(shí)鐘周?chē)挠行?shù)據(jù)窗口。

對(duì)于從FPGA接收數(shù)據(jù)的設(shè)備,如DAC,時(shí)序約束定義了接收器在鎖存時(shí)鐘沿前后要求數(shù)據(jù)有效的最小時(shí)間,以便正確捕獲數(shù)據(jù)。它可以被認(rèn)為是定義了接收設(shè)備的內(nèi)部路徑可能引入的數(shù)據(jù)和時(shí)鐘之間的延遲范圍。延遲定義了FPGA必須保證數(shù)據(jù)在鎖存時(shí)鐘之前或之后到達(dá)的時(shí)間量,以滿(mǎn)足所有情況下的定時(shí)要求。同樣,首先定義時(shí)鐘以給出理想的起點(diǎn),然后應(yīng)用延遲來(lái)定義接收器捕獲有效數(shù)據(jù)所需的時(shí)間。

2.3.2定義時(shí)鐘

設(shè)置定時(shí)約束的第一步是為RX和TX域定義外部時(shí)鐘。對(duì)于RX時(shí)鐘域,實(shí)際FPGA輸入端口處存在的時(shí)鐘是ADC輸出的數(shù)據(jù)時(shí)鐘。該時(shí)鐘的定義如下面的SDC行所示。假設(shè)ADS4249以250MSPS的速度運(yùn)行,并且時(shí)鐘應(yīng)用于頂級(jí)verilog文件中定義的lvds_rx_clk_p輸入端口,則周期設(shè)置為4 ns。

create_clock-nameADC_DATA_CLK-period4.00[get_ports lvds_rx_clk_p]
接下來(lái),創(chuàng)建一個(gè)虛擬時(shí)鐘,為ADC輸出的數(shù)據(jù)定義理想的啟動(dòng)時(shí)鐘。由于ADC是一個(gè)中心對(duì)齊的接口,因此啟動(dòng)時(shí)鐘需要提前90°,以獲得正確的初始設(shè)置和保持時(shí)間。如下圖所示,波形參數(shù)分別定義了上升沿和下降沿位置,其中250 MHz時(shí)鐘的默認(rèn)值為0 ns和2 ns。將時(shí)鐘提前90°相當(dāng)于使上升沿提前1ns出現(xiàn),因此-1ns的值應(yīng)該有效,但是波形參數(shù)不能為負(fù)值。由于波形參數(shù)理解時(shí)鐘是周期性的,因此3ns和5ns的值將被理解為-1ns和1ns。
create_clock-name ADC_LAUNCH_CLK -period4.00-waveform {35}

接下來(lái),ADC鎖存時(shí)鐘是從PLL輸出手動(dòng)創(chuàng)建的,如下圖所示,而不是讓工具自動(dòng)創(chuàng)建。這樣,名稱(chēng)ADC_LATCH_CLK可以在其他語(yǔ)句中使用,而不是使用較長(zhǎng)的自動(dòng)生成的PLL時(shí)鐘名稱(chēng)。這些時(shí)鐘定義必須位于下面提到的derive_pll_clocks語(yǔ)句之前。

create_generated_clock -name ADC_LATCH_CLK   
-source[get_pins {RX_PLL_inst|altpll_component|auto_generated|pll1|inclk[0]}] 
[get_pins {RX_PLL_inst|altpll_component|auto_generated|pll1|clk[0]}]
添加下面的兩行會(huì)自動(dòng)得出尚未定義的PLL時(shí)鐘,并計(jì)算時(shí)鐘不確定性。
derive_pll_clocks
derive_clock_uncertainty

圖13顯示了上述時(shí)鐘的默認(rèn)設(shè)置和保持時(shí)間。TimeQuest分析了四種可能的默認(rèn)設(shè)置和保持時(shí)間:

?上升沿到上升沿

?上升沿到下降沿

?下降沿到上升沿

?下降沿到下降沿

wKgZPGhTcECAUDUkAAEnc13kLh4348.png

圖13:帶有250 MHz時(shí)鐘的ADS4249的默認(rèn)設(shè)置和保持時(shí)間

所需的默認(rèn)設(shè)置時(shí)間應(yīng)基于上升沿到上升沿和下降沿到下降沿。所需的默認(rèn)保持時(shí)間應(yīng)基于上升沿到下降沿和下降沿到上升沿。盡管TimeQuest分析了設(shè)置和保持的所有四種情況,但只有兩種最嚴(yán)格的情況用于限制時(shí)間。四種情況中的兩種如圖13所示。

使用圖13中所示的較短的設(shè)置和保持時(shí)間是因?yàn)樗鼈儽容^長(zhǎng)的設(shè)置和保留時(shí)間更具限制性。示例代碼中的SDC文件包含ADC鎖存器和啟動(dòng)時(shí)鐘之間的set_false_path語(yǔ)句,該語(yǔ)句告訴TimeQuest忽略這些額外的設(shè)置和保持時(shí)間,這簡(jiǎn)化了分析和定時(shí)報(bào)告,但它們不是正確分析所必需的。

對(duì)于TX側(cè),首先需要添加DAC3482的輸入時(shí)鐘,如下所示。該時(shí)鐘應(yīng)用于輸入端口lvds_tx_fpga_clk_p,并用作tx_PLL塊的輸入時(shí)鐘。

create_clock-nameTX_FPGA_CLK-period4.00[get_ports lvds_tx_fpga_clk_p]

接下來(lái),DAC啟動(dòng)時(shí)鐘是手動(dòng)創(chuàng)建的,而不是通過(guò)derive_pll_clocks語(yǔ)句,允許使用更方便的時(shí)鐘名稱(chēng),如下所示。這樣,在其他語(yǔ)句中使用名稱(chēng)DAC_LAUNCH_CLK來(lái)定義PLL輸出時(shí)鐘,而不是使用較長(zhǎng)的自動(dòng)生成名稱(chēng)。這兩個(gè)時(shí)鐘定義必須位于前面提到的derive_pll_clocks語(yǔ)句之前。

create_generated_clock -name DAC_LAUNCH_CLK  
-source[get_pins {TX_PLL_inst|altpll_component|auto_generated|pll1|inclk[0]}]  
[get_pins {TX_PLL_inst|altpll_component|auto_generated|pll1|clk[0]}]

接下來(lái),推導(dǎo)上述PLL時(shí)鐘和時(shí)鐘不確定性,然后定義DAC數(shù)據(jù)輸出時(shí)鐘,如下所示。以下語(yǔ)句定義了FPGA輸出端口的DAC數(shù)據(jù)時(shí)鐘。雖然該時(shí)鐘是由ALTDDIO_clock_OUT函數(shù)生成的,但時(shí)鐘的來(lái)源是90°相移PLL時(shí)鐘輸出。ALTDDIO_CLOCK_OUT輸出應(yīng)用于端口lvds_tx_data_clk_p。

create_generated_clock-nameDAC_DATA_CLK 
-source[get_pins {TX_PLL_inst|altpll_component|auto_generated|pll1|clk[1]}]  
[get_ports lvds_tx_data_clk_p]

DAC_DATA_CLK和DAC_LAUNCH_CLK也有四種可能的默認(rèn)設(shè)置和保持時(shí)間。同樣的論點(diǎn)也適用于這里,即只使用兩個(gè)最嚴(yán)格的設(shè)置和保持時(shí)間。為這些時(shí)鐘添加了set_false_path語(yǔ)句,以簡(jiǎn)化分析和報(bào)告計(jì)時(shí),但它們也是可選的。與ADS4249的情況一樣,TX側(cè)的默認(rèn)設(shè)置和保持時(shí)間均為1ns,因?yàn)樗且粋€(gè)中心對(duì)齊的接口。

2.3.3 FPGA輸入時(shí)序約束

一旦創(chuàng)建了外部時(shí)鐘,就必須根據(jù)外部設(shè)備定義延遲。首先,在RX側(cè),ADS4249的設(shè)置和保持時(shí)間需要從數(shù)據(jù)表中刪除。圖14中的摘錄取自ADS4249數(shù)據(jù)表中的時(shí)序要求表。ADC設(shè)置和保持時(shí)間參數(shù)定義了時(shí)鐘過(guò)零點(diǎn)周?chē)臄?shù)據(jù)有效窗口,并表示FPGA可用于滿(mǎn)足時(shí)序的時(shí)間窗口。數(shù)據(jù)設(shè)置時(shí)間表示數(shù)據(jù)有效的時(shí)鐘沿之前的時(shí)間,保持時(shí)間表示數(shù)據(jù)無(wú)效的時(shí)鐘沿之后的時(shí)間。左側(cè)顯示的每個(gè)參數(shù)的最小值是最有用的,因?yàn)樗鼈冊(cè)跍囟确秶鷥?nèi)有效,并考慮了位到位的偏斜。

wKgZO2hTcEGAaK3lAAFLjaSgTtQ549.png

圖14:ADS4249數(shù)據(jù)表中的時(shí)間要求

圖15提供了ADC設(shè)置和保持時(shí)間以及必須定義的輸入延遲的圖形視圖。在圖中,綠色塊表示FPGA允許在內(nèi)部引入的總偏斜,紅色塊表示ADC可能在數(shù)據(jù)線(xiàn)上引入的最大和最小延遲。

wKgZO2hTcECACO9UAAFHTx1IeK4549.png

圖15:SDC輸入時(shí)序約束圖

由于ADC建立和保持時(shí)間定義了數(shù)據(jù)時(shí)鐘周?chē)臄?shù)據(jù)有效窗口,因此很直觀(guān)的是,ADC以數(shù)據(jù)線(xiàn)上的延遲形式消耗了時(shí)鐘周期的其余部分。然后,SDC文件中定義的輸入定時(shí)延遲指定了ADC可能引入的數(shù)據(jù)延遲范圍。因此,最小和最大延遲被定義為下面的方程。方程式中使用的變量如圖15所示。

wKgZPGhTcECABjLHAABE7jy6Lts331.png

這些方程假設(shè)電路板上的數(shù)據(jù)和時(shí)鐘走線(xiàn)匹配良好。如果數(shù)據(jù)走線(xiàn)比時(shí)鐘走線(xiàn)長(zhǎng),則會(huì)減少設(shè)置時(shí)間并增加保持時(shí)間,因此最大延遲增加,最小延遲相應(yīng)減少。如果時(shí)鐘走線(xiàn)比數(shù)據(jù)走線(xiàn)長(zhǎng),則會(huì)減少保持時(shí)間并增加設(shè)置時(shí)間,因此最小延遲增加(變得更負(fù)),最大延遲相應(yīng)減少。

2.3.4 FPGA輸出時(shí)序約束

考慮輸出定時(shí)延遲的一種簡(jiǎn)單方法是將其想象為在到達(dá)鎖存寄存器之前定義接收設(shè)備內(nèi)部的數(shù)據(jù)延遲。這基本上說(shuō),延遲指定了接收器需要在鎖存時(shí)鐘周?chē)3謹(jǐn)?shù)據(jù)恒定的最小時(shí)間量,以便數(shù)據(jù)及時(shí)到達(dá)鎖存寄存器,以便時(shí)鐘成功捕獲數(shù)據(jù)。知道這一點(diǎn),DAC的定時(shí)延遲非常直接。數(shù)據(jù)表中列出的DAC設(shè)置和保持時(shí)間分別指定了DAC在時(shí)鐘邊沿之前需要接收數(shù)據(jù)的時(shí)間量和DAC在時(shí)鐘沿之后需要數(shù)據(jù)保持恒定的時(shí)間。因此,很簡(jiǎn)單,最大輸出延遲就是DAC的設(shè)置時(shí)間,最小輸出延遲是DAC保持時(shí)間的負(fù)值。如圖16所示。

wKgZPGhTcECAOEewAAEp3drAtjE004.png

圖16:SDC輸出時(shí)序約束圖

同樣,這些延遲只有在數(shù)據(jù)和時(shí)鐘線(xiàn)精確匹配的情況下才有效。如果走線(xiàn)之間存在不匹配,則需要考慮延遲。如果數(shù)據(jù)走線(xiàn)比時(shí)鐘走線(xiàn)長(zhǎng),則最大延遲增加,最小延遲相應(yīng)減少。如果時(shí)鐘走線(xiàn)比數(shù)據(jù)走線(xiàn)長(zhǎng),則最大延遲減小,最小延遲增大。

2.3.5 時(shí)序收斂小技巧

如果設(shè)計(jì)師在時(shí)序收斂上遇到問(wèn)題,可以嘗試一些簡(jiǎn)單的方法。首先,RX和TX側(cè)的PLL可用于在FPGA內(nèi)部引入相移,以增加設(shè)置或保持時(shí)間。通過(guò)在鎖存時(shí)鐘上添加延遲,默認(rèn)設(shè)置時(shí)間增加,默認(rèn)保持時(shí)間減少。在設(shè)置時(shí)間幾乎沒(méi)有松弛但保持時(shí)間有很多松弛的情況下,這應(yīng)該有助于改善設(shè)置松弛。或者,可以向鎖存時(shí)鐘添加負(fù)相移,以增加保持松弛并減少設(shè)置松弛。同樣,TX PLL可以在0°啟動(dòng)時(shí)鐘和90°鎖存時(shí)鐘之間增加或多或少的相位差,以改善DAC的設(shè)置和保持時(shí)間。

請(qǐng)注意,更改PLL時(shí)鐘相移不會(huì)影響SDC定時(shí)約束,因?yàn)橹挥袃?nèi)部定時(shí)發(fā)生了變化,而外部定時(shí)保持不變。請(qǐng)記住,SDC文件僅描述了外部接口時(shí)序。

這些設(shè)備通常具有更大的靈活性。例如,DAC3482允許在不同的建立和保持時(shí)間進(jìn)行編程,有效地在數(shù)據(jù)時(shí)鐘周?chē)苿?dòng)所需的數(shù)據(jù)窗口。這對(duì)于采樣率高于250MSPS的時(shí)序收斂可能特別有用。ADS4249具有類(lèi)似的功能,其中上升和下降時(shí)鐘沿可以隨時(shí)間移動(dòng),但不如DAC3482廣泛。

3. ADC接口設(shè)計(jì)不使用PLL情況

當(dāng)與許多設(shè)備連接時(shí),很容易消耗FPGA的所有PLL。在這種情況下,最好避免將PLL用于接收設(shè)備??梢詫r(shí)鐘引入FPGA,并直接在ALTDDIO_IN塊中使用。需要注意的是,F(xiàn)PGA內(nèi)不再像使用具有源同步補(bǔ)償?shù)腜LL時(shí)那樣保持時(shí)鐘與數(shù)據(jù)的關(guān)系。因此,F(xiàn)PGA必須匹配時(shí)鐘和數(shù)據(jù)線(xiàn)之間的延遲,以滿(mǎn)足中心對(duì)齊接口的必要時(shí)序。這應(yīng)該是可能的,因?yàn)镕PGA I/O單元具有可調(diào)的數(shù)據(jù)延遲。如果時(shí)間約束設(shè)置正確,應(yīng)該能夠匹配時(shí)鐘和數(shù)據(jù)走線(xiàn)之間的延遲。

如果無(wú)法滿(mǎn)足時(shí)序要求或滿(mǎn)足時(shí)序要求的結(jié)果很差,則可以使用ADS4249的時(shí)鐘偏移功能來(lái)移動(dòng)與數(shù)據(jù)相比的時(shí)鐘沿,以放寬FPGA內(nèi)部的匹配要求。如果這樣做,則需要更新時(shí)序約束以匹配ADC接口的新時(shí)序。

來(lái)源:本文轉(zhuǎn)載自FPGA技術(shù)實(shí)戰(zhàn)公眾號(hào)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22034

    瀏覽量

    617858
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8992

    瀏覽量

    153657
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6688

    瀏覽量

    549046
  • Altera
    +關(guān)注

    關(guān)注

    37

    文章

    805

    瀏覽量

    155942
  • lvds
    +關(guān)注

    關(guān)注

    2

    文章

    1126

    瀏覽量

    67430

原文標(biāo)題:Altera FPGA與高速ADS4249和DAC3482的LVDS接口設(shè)計(jì)

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    T使用tsw1400evm搭配ads4249來(lái)采集模擬數(shù)據(jù),如何自己向tsw1400evm燒錄程序呢?

    我們使用tsw1400evm搭配ads4249來(lái)采集模擬數(shù)據(jù)。請(qǐng)問(wèn)我們?nèi)绾巫约合騮sw1400evm燒錄程序呢?ti在這里提供了相關(guān)的接口了沒(méi)有呢?
    發(fā)表于 11-22 13:04

    DAC3482存在雜散怎么解決?

    當(dāng)前DTRU產(chǎn)品中使用了DAC3482,故障率達(dá)到12%,從FPGA側(cè)IQ數(shù)據(jù)到達(dá)DAC3482,從3482出口處測(cè)量到的信號(hào),發(fā)現(xiàn)近端存在雜散。具體見(jiàn)下圖所示。 另外做了如下實(shí)驗(yàn)
    發(fā)表于 12-16 06:23

    DAC3482從時(shí)鐘發(fā)生器出來(lái)的FIFO_OSTR信號(hào)連入時(shí)鐘緩沖器CDCP1803后才輸出到DA中,時(shí)鐘緩沖器起什么作用?

    DAC3482的評(píng)估板(DAC3482EVM))從時(shí)鐘發(fā)生器出來(lái)的FIFO_OSTR信號(hào)連入時(shí)鐘緩沖器CDCP1803后才輸出到DA中,想問(wèn)下這其中的時(shí)鐘緩沖器起什么作用,僅僅是把LVDS轉(zhuǎn)為L(zhǎng)VPECL輸出?
    發(fā)表于 12-23 07:05

    DAC3482內(nèi)部的FIFO作用是什么?

    我現(xiàn)在正在使用DAC3482芯片,想請(qǐng)教一下其內(nèi)部的FIFO作用是什么? FIFO讀寫(xiě)指針?lè)謩e由DATACLK和DACCLK(或其分頻)來(lái)驅(qū)動(dòng),用于“緩沖”的作用,我有兩種理解: 1.只能緩沖讀寫(xiě)
    發(fā)表于 12-23 07:06

    使用DAC3482 fifo同步失敗的原因?怎么處理?

    最近在使用DAC3482芯片,使用AD9517提供DACCLK P/N(30M),然后使用3482內(nèi)部PLL產(chǎn)生480M的DACCLK,相關(guān)分頻器M=16,N=1,OSTR=30M;另外
    發(fā)表于 12-23 06:02

    EVM DAC3482無(wú)法配置是什么原因?qū)е碌模?/a>

    最近在使用貴公司EVM DAC3482時(shí)之前都好好的 都是使用DAC348x-GUI進(jìn)行配置參數(shù),但是昨天突然出現(xiàn)無(wú)法進(jìn)行配置情況,板子連上電腦后所用默認(rèn)參數(shù)歸零,無(wú)法Load Regs 也無(wú)
    發(fā)表于 01-03 06:24

    DAC3482輸出正弦波形出現(xiàn)如下失真和抖動(dòng)情況,怎么解決?

    DAC3482輸出正弦波形出現(xiàn)如下失真和抖動(dòng)情況: 使用pattern檢查了輸入沒(méi)有發(fā)現(xiàn)某位有錯(cuò)誤,并且FIFO沒(méi)有沖突,請(qǐng)問(wèn)這會(huì)不會(huì)是由于DAC的采樣時(shí)鐘的抖動(dòng)或不穩(wěn)定造成的呢?
    發(fā)表于 01-08 08:32

    dac3482寄存器報(bào)警始終提示dataclk沒(méi)有

    dac3482寄存器報(bào)警始終提示dataclk沒(méi)有,但是我可以確定dataclk已經(jīng)可以用示波器在管腳上檢測(cè)到信號(hào)??!求助各位大神,給出解決方案和問(wèn)題原因?。≈x謝?。?
    發(fā)表于 01-21 09:40

    dac3482寄存器報(bào)警始終提示dataclk沒(méi)有,為什么?

    dac3482寄存器報(bào)警始終提示dataclk沒(méi)有,但是我可以確定dataclk已經(jīng)可以用示波器在管腳上檢測(cè)到信號(hào)?。∏笾魑淮笊?,給出解決方案和問(wèn)題原因!!謝謝??!
    發(fā)表于 01-22 06:15

    DAC3482中,采用片內(nèi)混頻器實(shí)現(xiàn)上變頻功能需要保證兩路輸入信號(hào)的正交性嗎?

    DAC3482中,采用片內(nèi)混頻器實(shí)現(xiàn)上變頻功能需要保證兩路輸入信號(hào)的正交性么?現(xiàn)在想用DAC3482將兩路不相關(guān)的基帶信號(hào)轉(zhuǎn)換成中頻信號(hào)輸出,能否實(shí)現(xiàn)?請(qǐng)?jiān)敿?xì)說(shuō)明一下信號(hào)處理過(guò)程
    發(fā)表于 02-13 06:28

    《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第16期:2025.06.16--2025.06.20

    功能的實(shí)際應(yīng)用 6、基于AMD Versal器件實(shí)現(xiàn)PCIe5 DMA功能 7、Altera FPGA高速ADS4249DAC3482
    發(fā)表于 06-20 19:50

    雙通道,16位,1.25GSPS數(shù)模轉(zhuǎn)換器DAC3482的詳細(xì)資料概述

    DAC3482是一種非常低功率、高動(dòng)態(tài)范圍、雙通道、16位數(shù)字到模擬轉(zhuǎn)換器(DAC),其采樣率高達(dá)L.25GSP。
    發(fā)表于 05-11 11:02 ?8次下載
    雙通道,16位,1.25GSPS數(shù)模轉(zhuǎn)換器<b class='flag-5'>DAC3482</b>的詳細(xì)資料概述

    Altera FPGA和TI的ADS4249DAC382之間的接口的詳細(xì)闡明(免費(fèi)下載)

    接口FPGA高速數(shù)模轉(zhuǎn)換器(DAC)和模數(shù)轉(zhuǎn)換器(ADC)可能會(huì)混淆,特別是有如此多的接口格式可用。此應(yīng)用筆記特別著眼于連接
    發(fā)表于 05-18 11:38 ?37次下載
    <b class='flag-5'>Altera</b> <b class='flag-5'>FPGA</b>和TI的<b class='flag-5'>ADS4249</b>和<b class='flag-5'>DAC</b>382之間的<b class='flag-5'>接口</b>的詳細(xì)闡明(免費(fèi)下載)

    ADS4249雙通道、14位、250MSPS超低功耗ADC數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS4249雙通道、14位、250MSPS超低功耗ADC數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-17 09:33 ?0次下載
    <b class='flag-5'>ADS4249</b>雙通道、14位、250MSPS超低功耗ADC數(shù)據(jù)表

    DAC3482雙通道、16位、1.25GSPS數(shù)模轉(zhuǎn)換器(DAC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DAC3482雙通道、16位、1.25GSPS數(shù)模轉(zhuǎn)換器(DAC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-22 10:37 ?0次下載
    <b class='flag-5'>DAC3482</b>雙通道、16位、1.25GSPS數(shù)模轉(zhuǎn)換器(<b class='flag-5'>DAC</b>)數(shù)據(jù)表