前言
在STA中,要分析上游器件和FPGA之間的時序關(guān)系就得指定input delay。
流程
什么是input delay:約定上游芯片輸出及時鐘之間的關(guān)系。約束的目的就是看適配后的時序關(guān)系是什么樣的。
以下以源同步接口舉例,上游芯片發(fā)送data和隨路時鐘到下游FPGA芯片端口進行接收,使用解串原語對數(shù)據(jù)進行解串。

這里使用的DCLK為:4.464ns。時鐘與數(shù)據(jù)關(guān)系是DDR中心對齊。

40M下的建立保持時間如下:Tsu=0.72ns,Tho = 0.82ns。

上vivado中語言模板中找模板。把Tsu、Tho抄進去對應(yīng)dv_bre、dv_are、dv_bfe、dv_afe。dv_bre指的是時鐘沿前穩(wěn)定的時間,這個時間可以用示波器測出來,或者看datasheet上的建立保持時間(這之間的數(shù)據(jù)肯定是穩(wěn)定的)。

得到:min=Tho=0.82ns,max=T/2-Tsu=4.464/2-0.72=1.512ns;這里假定時鐘和數(shù)據(jù)到FPGA的路徑長度是一致的(由PCB布線保證)。
set_input_delay -clock [get_clocks adc_dco_clk] -clock_fall -min -add_delay 0.820 [get_ports i_data_ch0_p]
set_input_delay -clock [get_clocks adc_dco_clk] -clock_fall -max -add_delay 1.512 [get_ports i_data_ch0_p]
set_input_delay -clock [get_clocks adc_dco_clk] -min -add_delay 0.820 [get_ports i_data_ch0_p]
set_input_delay -clock [get_clocks adc_dco_clk] -max -add_delay 1.512 [get_ports i_data_ch0_p]
編譯分析STA結(jié)果:
本次時鐘路徑:IBUFDS→BUFIO→ISERDESE 差分時鐘經(jīng)過IBUFDS變?yōu)閱味耍?jīng)過IOB中的BUFIO送入ISERDESE。

本次數(shù)據(jù)路徑:IBUFDS→ISERDESE 差分數(shù)據(jù)經(jīng)過IBUFDS變成單端送入ISERDESE。

則要求數(shù)據(jù)在2.904ns時候到來,但數(shù)據(jù)抵達時刻是1.559ns,出現(xiàn)了保持違例:1.559-2.904 = -1.345ns。
也就是說數(shù)據(jù)來早了,提前撤銷導(dǎo)致了保持違例。另一個角度說是時鐘來晚了。
所以要解決這個問題,可以讓數(shù)據(jù)晚點來,或者讓時鐘早點來。
對于片內(nèi)邏輯間的保持不滿足可以插LUT1,但接口IOB部分就沒法插了,于是上網(wǎng)上找方法。
參考前面參考鏈接可知:可使用IODELAY原語對數(shù)據(jù)進行相應(yīng)的延時,達到保持時間的滿足。
這里1.345ns/78ps=18拍,即IODELAY至少需要延遲18拍;
時序約束文件中參考下述圖片寫,但我還沒有驗證過,待驗證,理論可行,估計就可以STA通過了。

這個延時可以通過時序訓練或者手動調(diào)節(jié),找尋合適點。具體可參考:xapp524-serial-lvds-adc-interface.pdf
如果是動態(tài)調(diào)節(jié)TAP值,那么STA就沒卵用了,STA的前提是假定TAP值為定值。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1643文章
21946瀏覽量
613543 -
芯片
+關(guān)注
關(guān)注
459文章
52091瀏覽量
435382 -
Vivado
+關(guān)注
關(guān)注
19文章
828瀏覽量
68133
發(fā)布評論請先 登錄
FPGA時序約束之設(shè)置時鐘組

飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之基于input子系統(tǒng)的光線傳感器驅(qū)動
一文詳解Vivado時序約束

ADC08D500要一起工作做Interleaving的話,需要在ADC CLK Input端各接一個Delay Line IC對嗎?
ADS1281 FIR濾波器Input sample rate,Decimation factor, Decimation offset, Estimated delay是如何確定的?
pcm1796數(shù)據(jù)中的delay time和pcm1748數(shù)據(jù)手冊中的group delay是同一個意思嗎?
常用時序約束使用說明-v1
如何做才能使TAS5631處于準備狀態(tài)呢?
sr鎖存器約束條件怎樣得出的
硬件工程師如何做元器件變更的決策

評論