時序約束總結(jié)_第1頁
時序約束總結(jié)_第2頁
時序約束總結(jié)_第3頁
時序約束總結(jié)_第4頁
時序約束總結(jié)_第5頁
免費預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、很多人發(fā)貼,來信詢問關(guān)于約束、時序分析的問題,比如:如何設(shè)置 setup, hold 時間?如何使用全局時鐘和第二全局時鐘(長線資 源)?如何進行分組約束?如何約束某部分組合邏輯?如何通過約束保證異步 時鐘域之間的數(shù)據(jù)交換可靠?如何使用 I/O 邏輯單元內(nèi)部的寄存器資源?如何進 行物理區(qū)域約束,完成物理綜合和物理實現(xiàn)?等等。為了解決大家的疑難,我們將逐一討論這些問題。今天先討論一下約束的作用?有些人不知道何時該添加約束,何時不需要添加?有些人認(rèn)為低速設(shè)計不 需要時序約束?關(guān)于這些問題,希望下面關(guān)于約束作用的論述能夠有所幫助! 附加約束的基本作用有 3:(1)提高設(shè)計的工作頻率 對很多數(shù)字電路設(shè)

2、計來說,提高工作頻率非常重要,因為高工作頻率意味 著高處理能力。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減 小邏輯和布線延時,從而提高工作頻率。(2)獲得正確的時序分析報告幾乎所有的FPGA設(shè)計平臺都包含靜態(tài)時序分析工具,利用這類工具可以獲 得映射或布局布線后的時序分析報告,從而對設(shè)計的性能做出評估。靜態(tài)時序 分析工具以約束作為判斷時序是否滿足設(shè)計要求的標(biāo)準(zhǔn),因此要求設(shè)計者正確 輸入約束,以便靜態(tài)時序分析工具輸出正確的時序分析報告。指定FPGA/CPL引腳位置與電氣標(biāo)準(zhǔn)FPGA/CPLD的可編程特性使電路板設(shè)計加工和 FPGA/CPL設(shè)計可以同時進 行,而不必等FPGA/CPLD引

3、腳位置完全確定,從而節(jié)省了系統(tǒng)開發(fā)時間。這 樣,電路板加工完成后,設(shè)計者要根據(jù)電路板的走線對FPGA/CPLD加上引腳位置約束,使FPGA/CPLD與電路板正確連接。另外通過約束還可以指定 10引腳所 支持的接口標(biāo)準(zhǔn)和其他電氣特性。為了滿足日新月異的通信發(fā)展,Xilinx新型FPGA/CPLD可以通過I0引腳約束設(shè)置支持諸如 AGR BLVDS CTT GTLGTLP、HSTL、LDT、 LVCMOS、LVDC、I LVDS、LVPEC、L LVDSEX、T LVTTL、PCI、 PCIX SSTL ULVDS等豐富的IO接口標(biāo)準(zhǔn)。另外通過區(qū)域約束還能在FPGA上規(guī)劃各個模塊的實現(xiàn)區(qū)域,通過物

4、理布局 布線約束,完成模塊化設(shè)計等。貼 2:時序約束的概念和基本策略!時序約束主要包括周期約束(FFS到FFS即觸發(fā)器到觸發(fā)器)和偏移約束 (IPAD到FFS FFS到OPAD)以及靜態(tài)路徑約束(IPAD到OPAD)等3種。通 過附加約束條件可以使綜合布線工具調(diào)整映射和布局布線過程,使設(shè)計達到時 序要求。例如用OFFSET_IN_BEFORE束可以告訴綜合布線工具輸入信號在時鐘 之前什么時候準(zhǔn)備好,綜合布線工具就可以根據(jù)這個約束調(diào)整與IPAD相連的Logic Circuitry的綜合實現(xiàn)過程,使結(jié)果滿足 FFS的建立時間要求。附加時序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑 附

5、加專門約束。附加全局約束時,首先定義設(shè)計的所有時鐘,對各時鐘域內(nèi)的 同步元件進行分組,對分組附加周期約束,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的 PAD TO PA路徑附加約束。附加專門約束時,首 先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他 特殊路徑。貼3:周期(PERIOD的含義周期的含義是時序中最簡單也是最重要的含義,其它很多時序概念會因為 軟件商不同略有差異,而周期的概念確是最通用的,周期的概念是 FPGA/ASIC 時序定義的基礎(chǔ)概念。后面要講到的其它時序約束都是建立在周期約束的基礎(chǔ) 上的,很多其它時序公式,可以用周期公式推導(dǎo)。周期

6、約束是一個基本時序和綜合約束,它附加在時鐘網(wǎng)線上,時序分析工 具根據(jù)PERIOD勺束檢查時鐘域內(nèi)所有同步元件的時序是否滿足要求。PERIOD約束會自動處理寄存器時鐘端的反相問題,如果相鄰?fù)皆r鐘相位相反, 那么它們之間的延遲將被默認(rèn)限制為 PERIOD勺束值的一半。如下圖所示,時鐘的最小周期為:TCLK = TCKO +TLOGIC +TNET +TSETUTPCLK_SKEWTCLK_SKEW =TCD2TCD1其中TCKO為時鐘輸出時間,TLOGIC為同步元件之間的組合邏輯延遲, TNET為網(wǎng)線延遲,TSETUP為同步元件的建立時間,TCLK_SKEV為時鐘信號延遲 的差別。這個帖子打

7、算先澄清一些時序約束的基本概念,然后將在綜合工具(Synplify Pro為例),設(shè)計平臺(ISE5.x 和 Quartus2.2 為例)的具體約束方法和技巧,然后將如何利用時序分析工具分析關(guān)鍵 路徑。如果沒有意外,應(yīng)該 30 多個帖子吧。仿真時序本來是Deve的老本行,隨時需要Deve加入一起把這個帖子辦好。歡迎大家暢談觀點,本站的版主,沖鋒啊,嘻嘻。貼 4:數(shù)據(jù)和時鐘之間的約束:OFFSET和 SETUP HOLD時間。為了確保芯片數(shù)據(jù)采樣可靠和下級芯片之間正確的交換數(shù)據(jù),需要約束外 部時鐘和數(shù)據(jù)輸入輸出引腳之間的時序關(guān)系(或者內(nèi)部時鐘和外部輸入 /輸出數(shù) 據(jù)之間的關(guān)系,這僅僅是從采用了不

8、同的參照系罷了)。約束的內(nèi)容為告訴綜 合器、布線器輸入數(shù)據(jù)到達的時刻,或者輸出數(shù)據(jù)穩(wěn)定的時刻,從而保證與下 一級電路的時序關(guān)系。這種時序約束在 Xili nx 中用 Setup to Clock (edge), Clock( edge) to hold 等表示。在 Altera 里常用 tsu (Input Setup Times、th (Input Hold Times)、tco (Clock to Out Delays來表示。很多其它時序工具直接用 setup和hold表示。其實 他們所要描述的是同一個問題,僅僅是時間節(jié)點的定義上略有不同。下面依次介紹。貼 5:關(guān)于輸入到達時間,這一貼估計

9、問題比較多,看起來也比較累,但是 沒有辦法,這些都是時序的基本概念啊。搞不清楚,永遠(yuǎn)痛苦,長痛不如短痛 了,呵呵。Xilinx 的輸入到達時間的計算 時序描述如圖所示:定義的含義是輸入數(shù)據(jù)在有效時鐘沿之后的TARRIVA時刻到達。貝打TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式 1根據(jù)”貼3介紹的周期(Period)公式,我們可以得到:Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew二Tel公式 2將公式 1 代入公式 2:Tarrival+Tinput+Tsetup-Tclk_skew二Tel而 Tclk_skew滿足時序關(guān)系后為負(fù),

10、所以TARRIVAL +TINPUT+TSETUP TC公式 3,這就是Tarrival應(yīng)該滿足的時序關(guān)系。其中TINPUT為輸入端的組合邏輯、 網(wǎng)線和PAD的延遲之和,TSETUP為輸入同步元件的建立時間。貼 6 數(shù)據(jù) xx 和數(shù)據(jù)到達時間的關(guān)系:TDELAY為要求的芯片內(nèi)部輸入延遲,其最大值 TDELAY_MAXf輸入數(shù)據(jù)到 達時間TARRIVA的關(guān)系如圖2所示。也就是說:TDELAY_MAX+TARRIVAL二TPERIO!式 4所以:TDELAYTDELAY_MAX=TPERIOTDARRIVAL帖 7 要求輸出的穩(wěn)定時間從下一級輸入端的延遲可以計算出當(dāng)前設(shè)計輸出的數(shù)據(jù)必須在何時穩(wěn)定下

11、 來,根據(jù)這個數(shù)據(jù)對設(shè)計輸出端的邏輯布線進行約束,以滿足下一級的建立時 間要求,保證下一級采樣的數(shù)據(jù)是穩(wěn)定的。計算要求的輸出穩(wěn)定時間如圖所示。公式的推導(dǎo)如下:定義:TSTABLE = TLOGIC +TINPUT +TSETUP從前面帖子介紹的周期(Period)公式,可以得到(其中TCLK_SKEWTCLK1 TCLK2:)TCLK= TCK6 TOUTPUT+TLOGIC+TINPUT+TSETUP+TCLK_SKEW將TSTABLE勺定義代入到周期公式,可以得到:TCLK=TCKO+TOUTPUT+TSTABLE+TCLK_SKEW所以,TCKO +TOUTPUT+TSTABLETCLK

12、這個公式就是TSTABL必須要滿足的基本時序關(guān)系,即本級的輸出應(yīng)該保 持怎么樣的穩(wěn)定狀態(tài),才能保證下級芯片的采樣穩(wěn)定。有時我們也稱這個約束 關(guān)系是輸出數(shù)據(jù)的保持時間的時序約束關(guān)系。只要滿足上述關(guān)系,當(dāng)前芯片輸 出端的數(shù)據(jù)比時鐘上升沿提早 TSTABLE時間穩(wěn)定下來,下一級就可以正確地采 樣數(shù)據(jù)。其中TOUTPUT為設(shè)計中連接同步元件輸出端的組合邏輯、網(wǎng)線和PAD的延遲之和,TCKQ為同步元件時鐘輸出時間。這里的概念介紹比較繁復(fù),但是如果想掌握數(shù)據(jù)與時鐘關(guān)系的基本約束, 就必須搞清楚這些概念,下一帖介紹這些概念的具體應(yīng)用,實施上述約束的方 法和具體命令。轉(zhuǎn)貼 lipple 的問題:請問斑竹上面幾

13、貼那些延時屬于 setup,哪些屬于hold啊其中TDELAY為要求的芯片內(nèi)部輸入延遲,其最大值與輸入數(shù)據(jù)到達時間 TARRIVA的關(guān)系如帖6所述:TDELAY_MAX + TARRIVAL = TPER所以,TDELAY TPERIOD - TARRIVAL = 20 - 14 =6 ns.輸出偏移約束例:設(shè)時鐘周期為20ns,后級輸入邏輯延時TINPUT為4ns、建立時間TSETUP 為1ns,中間邏輯TLOGIC勺延時為10ns,那么TSTABLE=15,于是可以在數(shù)據(jù) 輸入引腳附力口 NET DATA_OUT FFET=OUT5ns BEFORE CL約束,也可以直接 對芯片內(nèi)部的輸出

14、邏輯直接進行約束,NET DATA_OUT FFET=OUTOUTPUT_DELAY AFTER CL,K其中TOUTPUT_DELA為要求的芯片內(nèi)部輸出延遲,其最大值與要求的輸出 數(shù)據(jù)穩(wěn)定時間TSTABL的關(guān)系為:TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD.TOUT_DELAY TPERIOD - TSTABLE = 20 - 15 = 5ns這些概念和推導(dǎo)有些枯燥和乏味,但是如果要掌握好數(shù)據(jù)與時鐘之間的約 束,就要耐心看下去,明天介紹一下 Altera 的相關(guān)約束方法。帖 9 Altera 對應(yīng)的時序概念這兩天太忙了,帖子上的有些慢,請朋友們原諒,我會盡量按照計劃

15、寫完 這個主題的。前面8個帖子介紹了一些時序概念,有的是 FPGA/ASI(設(shè)計的一般性時序 概念,有的為了方便敘述,主要介紹了 Xilinx對應(yīng)的這些時序概念,和具體的約 束熟悉。下面幾個帖子主要介紹 Altera 對應(yīng)的這些時序概念和約束方法。前面首先介紹的第一個時序概念是周期,Period,這個概念是FPGA/ASICS用的一個概念,各方的定義相當(dāng)統(tǒng)一,至多是描述方式不同罷了,所有的 FPGA 設(shè)計都首先要進行周期約束,這樣做的好處除了在綜合與布局布線時給出規(guī)定 目標(biāo)外,還能讓時序分析工具考察整個設(shè)計的Fmax等。Altera 的周期定義如圖所示,公式描述如下:Clock Period

16、= Clk-to-out + Data Delay + Setup Time - Clk SkeWW,Tclk= Tco+ B+ Tsu-(E-C)Fmax= 1/Tclk一個設(shè)計的Fmax在時序報告,或者在圖形界面觀察。以 Quartus2為例, 在圖形界面的觀察方法是,編譯實現(xiàn)完成后,展開 Compilation Report下面的 Timi ng An alyses 單擊 Fmax( n ot in elude delays to / from pi ns) 即可。在詳細(xì)報 告窗口可以觀察到影響周期惡化的 10 條最差時序路徑,根據(jù)這些信息可以找出 關(guān)鍵路徑,進行時序分析。關(guān)于時序分析和

17、關(guān)鍵路徑改進等內(nèi)容在后面的帖子會有專門的討論,暫時 不做進一步介紹。貼 10Clock Setup Time (tsu)要想正確采樣數(shù)據(jù),就必須使數(shù)據(jù)和使能信號在有效時鐘沿到達前就準(zhǔn)備 好,所謂時鐘建立時間就是指時鐘到達前,數(shù)據(jù)和使能已經(jīng)準(zhǔn)備好的最小時間 間隔。如圖 1 所示:注:這里定義 Setup 時間是站在同步時序整個路徑上的,需要區(qū)別的是另一個 概念Micro tsu。Micro tsu指的是一個觸發(fā)器內(nèi)部的建立時間,它是觸發(fā)器的固 有屬性,一般典型值小于12nso在Xilinx等的時序概念中,稱 Altera的Micro tsu為setup時間,用Tsetup表示,請大家區(qū)分一下。回

18、到 Altera 的時序概念, Altera 的 tsu 定義如下:tsu = Data Delay -Clock Delay + Micro tsu貼11Clock Hold Time tH時鐘保持時間是只能保證有效時鐘沿正確采用的數(shù)據(jù)和使能信號的最小穩(wěn) 定時間。其定義如圖 2所示。定義的公式為:tH= Clock Delay-Data Delay + Micro tH注:其中 Micro tH 是指寄存器內(nèi)部的固有保持時間,同樣是寄存器的一個固有 參數(shù),典型值小于1 2ns。貼12Clock-to-Output Delay(tco)這個時間指的是當(dāng)時鐘有效沿變化后,將數(shù)據(jù)推倒同步時序路徑的輸出端 的最小時間間隔。如圖 3 所示。tco = Clock Delay + Micro tco + Data Delay注:其中 Micor tco 也是一個寄存器的固有屬性,指的是寄存器相應(yīng)時鐘有效 沿,將數(shù)據(jù)送到輸出端口的內(nèi)部時間參數(shù)。它與Xilinx的時序定義中,有一個概念叫 Tcko 是同一個概念。Pin to Pin Delay (tpd )tpd 指輸入管腳通過純組合邏輯到達輸出管腳這段路徑的延時,特別需要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論