《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 教程:FPGA高速信號處理的片外靜態(tài)時序分析

教程:FPGA高速信號處理的片外靜態(tài)時序分析

2022-12-20
來源:FPGA之家
關(guān)鍵詞: 高速信號處理 FPGA

  之前做的一個超寬帶非均勻采樣系統(tǒng)中遇到的一些問題,雖然本文所述方法并未實際用到并解決遇到的問題,但也是給了很大的啟發(fā)和參考,所以今天專門整理出來作為備忘。

  在高速信號處理時的時許約束不僅僅包括片內(nèi)時序約束,要想實現(xiàn)高速信號的有效傳輸就必須進(jìn)行片外靜態(tài)時序分析。本文作為在高速信號處理時信號輸入輸出的理論參考,之所以說作為理論參考是因為由于高速信號處理,具體的一些參數(shù)無法實際計算出來,只能在理論參考的方向進(jìn)行不斷嘗試。

  對于建立時間和保持時間本文就不再過多敘述,可參考【FPGA】幾種時序問題的常見解決方法-------3,可以說在數(shù)字高速信號處理中最基本的概念就是建立時間和保持時間,而我們要做的就是解決亞穩(wěn)態(tài)問題和傳輸穩(wěn)定問題。

  下面就IO口時序約束分析進(jìn)行原理性的討論,首先在分析時要考慮的時序范圍是信號的兩端(FPGA和另一端器件)、信號傳輸路徑,三部分,這三部分中信號傳輸路徑可以包括邏輯器件或者單純外部信號線路。先將FPGA的建立時間和保持時間按照觸發(fā)器的定義方式進(jìn)行一下定義:

 12.JPG

  如上圖所示:

 ?。?) Tdin為從FPGA的IO口到FPGA內(nèi)部寄存器輸入端的延時;

 ?。?) Tclk為從FPGA的IO口到FPGA內(nèi)部寄存器時鐘端的延時;

 ?。?) Tus/Th為FPGA內(nèi)部寄存器的建立時間和保持時間;

 ?。?) Tco為FPGA內(nèi)部寄存器傳輸時間;

 ?。?) Tout為從FPGA寄存器輸出到IO口輸出的延時;

  FPGA的建立時間和保持時間可定義為:

 ?。?) FPGA建立時間:FTsu = Tdin + Tsu – Tclk;

 ?。?) FPGA保持時間:FTh = Th + Tclk - Tdin;

 ?。?) FPGA數(shù)據(jù)傳輸時間:FTco = Tclk + Tco + Tout;

  -----------------------------------------------進(jìn)行輸入的最大延遲和最小延遲-----------------------------------------------

  有了上述的重新定義的參數(shù),就可以將FPGA和器件之間的時序分析按照內(nèi)部分析的模式來進(jìn)行分析了,對FPGA的IO口進(jìn)行輸入最大最小延時約束是為了讓FPGA設(shè)計工具能夠盡可能的優(yōu)化從輸入端口到第一級寄存器之間的路徑延遲,使其能夠保證系統(tǒng)時鐘可靠的采到從外部芯片到FPGA的信號。

 11.JPG

  輸入延時即為從外部器件發(fā)出數(shù)據(jù)到FPGA輸入端口的延時時間。其中包括時鐘源到FPGA延時和到外部器件延時之差、經(jīng)過外部器件的數(shù)據(jù)發(fā)送Tco,再加上PCB板上的走線延時。如圖1.4所示,為外部器件和FPGA接口時序。

10.JPG

  1,最大輸入延時

  最大輸入延時(input delay max)為當(dāng)從數(shù)據(jù)發(fā)送時鐘沿(lanuch edge)經(jīng)過最大外部器件時鐘偏斜(Tclk1),最大的器件數(shù)據(jù)輸出延時(Tco),再加上最大的PCB走線延時(Tpcb),減去最小的FPGA時鐘偏移(FTsu)的情況下還能保證時序滿足的延時。這樣才能保證FPGA的建立時間,準(zhǔn)確采集到本次數(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就會有可能導(dǎo)致系統(tǒng)有些情況不滿足上式,從而導(dǎo)致信號傳輸產(chǎn)生錯誤。Tclk為同步時鐘的周期。

  可以得出最大輸入時延表達(dá)式為上述不等式的左半部分而其最大值為上述不等式的右半部份,即:

  最大輸入延時(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)為當(dāng)從數(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

  可以得出最大輸入時延表達(dá)式為上述不等式的左半部分而其最大值為上述不等式的右半部份,即:

  最小輸入延時(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板到達(dá)FPGA端口的最大值和最小值Tpcb,PCB延時經(jīng)驗值為600mil/ns,1mm = 39.37mil。

  本文所述為高速信號處理時,片間信號傳輸?shù)撵o態(tài)時許分析,中間的很多參數(shù)需要查看數(shù)據(jù)手冊,另外對于FPGA輸出的靜態(tài)時許分析大家可以參考FPGA輸入的靜態(tài)時序分析進(jìn)行對照分析,在此就不再贅述。



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<< 

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。