之前做的一個超寬帶非均勻采樣系統(tǒng)中遇到的一些問題,雖然本文所述方法并未實際用到并解決遇到的問題,但也是給了很大的啟發(fā)和參考,所以今天專門整理出來作為備忘。
在高速信號處理時的時許約束不僅僅包括片內(nèi)時序約束,要想實現(xiàn)高速信號的有效傳輸就必須進行片外靜態(tài)時序分析。本文作為在高速信號處理時信號輸入輸出的理論參考,之所以說作為理論參考是因為由于高速信號處理,具體的一些參數(shù)無法實際計算出來,只能在理論參考的方向進行不斷嘗試。
對于建立時間和保持時間本文就不再過多敘述,可參考【FPGA】幾種時序問題的常見解決方法-------3,可以說在數(shù)字高速信號處理中最基本的概念就是建立時間和保持時間,而我們要做的就是解決亞穩(wěn)態(tài)問題和傳輸穩(wěn)定問題。
下面就IO口時序約束分析進行原理性的討論,首先在分析時要考慮的時序范圍是信號的兩端(FPGA和另一端器件)、信號傳輸路徑,三部分,這三部分中信號傳輸路徑可以包括邏輯器件或者單純外部信號線路。先將FPGA的建立時間和保持時間按照觸發(fā)器的定義方式進行一下定義:
(1) Tdin為從FPGA的IO口到FPGA內(nèi)部寄存器輸入端的延時;
(2) Tclk為從FPGA的IO口到FPGA內(nèi)部寄存器時鐘端的延時;
(3) Tus/Th為FPGA內(nèi)部寄存器的建立時間和保持時間;
(4) Tco為FPGA內(nèi)部寄存器傳輸時間;
(5) Tout為從FPGA寄存器輸出到IO口輸出的延時;
FPGA的建立時間和保持時間可定義為:
(1) FPGA建立時間:FTsu = Tdin + Tsu – Tclk;
(2) FPGA保持時間:FTh = Th + Tclk - Tdin;
(3) FPGA數(shù)據(jù)傳輸時間:FTco = Tclk + Tco + Tout;
-----------------------------------------------進行輸入的最大延遲和最小延遲-----------------------------------------------
有了上述的重新定義的參數(shù),就可以將FPGA和器件之間的時序分析按照內(nèi)部分析的模式來進行分析了,對FPGA的IO口進行輸入最大最小延時約束是為了讓FPGA設(shè)計工具能夠盡可能的優(yōu)化從輸入端口到第一級寄存器之間的路徑延遲,使其能夠保證系統(tǒng)時鐘可靠的采到從外部芯片到FPGA的信號。
輸入延時即為從外部器件發(fā)出數(shù)據(jù)到FPGA輸入端口的延時時間。其中包括時鐘源到FPGA延時和到外部器件延時之差、經(jīng)過外部器件的數(shù)據(jù)發(fā)送Tco,再加上PCB板上的走線延時。如圖1.4所示,為外部器件和FPGA接口時序。
1,最大輸入延時
最大輸入延時(input delay max)為當從數(shù)據(jù)發(fā)送時鐘沿(lanuch edge)經(jīng)過最大外部器件時鐘偏斜(Tclk1),最大的器件數(shù)據(jù)輸出延時(Tco),再加上最大的PCB走線延時(Tpcb),減去最小的FPGA時鐘偏移(FTsu)的情況下還能保證時序滿足的延時。這樣才能保證FPGA的建立時間,準確采集到本次數(shù)據(jù)值,即為setup slack必須為正,計算公式如下式所示:
Setup slack =(Tclk + Tclk2(min))–(Tclk1(max) +Tco(max) +Tpcb(max) +FTsu)≥0
推出如下公式:
Tclk1(max) + Tco(max) + Tpcb(max) –Tclk2(min) ≤ Tclk - FTsu
PS:上式中max和min是為了保證傳輸質(zhì)量所必需的條件,如果不加max和min就會有可能導致系統(tǒng)有些情況不滿足上式,從而導致信號傳輸產(chǎn)生錯誤。Tclk為同步時鐘的周期。
可以得出最大輸入時延表達式為上述不等式的左半部分而其最大值為上述不等式的右半部份,即:
最大輸入延時(input delay max) =Tclk - FTsu
歸根結(jié)底就是輸入信號的各部分時延必須滿足Tclk1(max) + Tco(max) + Tpcb(max) –Tclk2(min) ≤ Tclk - FTsu這個公式。但是式中Tco(max)可以通過對片外器件延時實現(xiàn)手動調(diào)節(jié),Tclk2(min)也可以通過時許約束(offset)或者FPGA內(nèi)部DCM實現(xiàn)相移等操作。最大最小輸入延時指的是數(shù)據(jù)的最大輸入延時,可通過始終約束其最大輸入延時來保證時序正確。
2,最小輸入延時
最小輸入延時(input delay min)為當從數(shù)據(jù)發(fā)送時鐘沿(lanuch edge)經(jīng)過最小外部器件時鐘偏斜(Tclk1),最小器件數(shù)據(jù)輸出延時(Tco),再加上最小PCB走線延時(Tpcb),此時的時間總延時值一定要大于FPGA的最大時鐘延時和建立時間之和,這樣才能不破壞FPGA上一次數(shù)據(jù)的保持時間,即為hold slack必須為正,計算公式如下式所示:
Hold slack = (Tclk1(min) + Tco(min) + Tpcb(min))–(FTh + Tclk2(max))≥ 0
推出如下公式:
Tclk1(min) + Tco(min) + Tpcb(min) – Tclk2(max) ≥ FTh
可以得出最大輸入時延表達式為上述不等式的左半部分而其最大值為上述不等式的右半部份,即:
最小輸入延時(input delay min) = FTh
歸根結(jié)底就是輸入信號的各部分時延必須滿足Tclk1(min) + Tco(min) + Tpcb(min) – Tclk2(max) ≥ FTh這個公式。但是式中Tco(max)可以通過對片外器件延時實現(xiàn)手動調(diào)節(jié),Tclk2(min)也可以通過時許約束(offset)或者FPGA內(nèi)部DCM實現(xiàn)相移等操作。外部器件輸出數(shù)據(jù)通過PCB板到達FPGA端口的最大值和最小值Tpcb,PCB延時經(jīng)驗值為600mil/ns,1mm = 39.37mil。
-----------------------------------------------------------------------------------------------------
本文所述為高速信號處理時,片間信號傳輸?shù)撵o態(tài)時許分析,中間的很多參數(shù)需要查看數(shù)據(jù)手冊,另外對于FPGA輸出的靜態(tài)時許分析大家可以參考FPGA輸入的靜態(tài)時序分析進行對照分析,在此就不再贅述。
原文標題:【FPGA】高速信號處理中的片外信號輸入輸出靜態(tài)時序分析
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602986 -
信號
+關(guān)注
關(guān)注
11文章
2789瀏覽量
76730
原文標題:【FPGA】高速信號處理中的片外信號輸入輸出靜態(tài)時序分析
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論