第四部分:時序約束與分析_第1頁
第四部分:時序約束與分析_第2頁
第四部分:時序約束與分析_第3頁
第四部分:時序約束與分析_第4頁
第四部分:時序約束與分析_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、時序(sh x)約束與時序(sh x)分析時序(sh x)約束與時序(sh x)分析基礎設置時序約束的常用方法高級時序分析最小化時序分析使用TCL工具進行高級時序分析 V1.01河北科技大學共五十七頁4.1時序(sh x)約束與時序(sh x)分析基礎FPGA設計常用的約束主要分為三大類:時序約束 規(guī)范設計的時序行為,滿足設計條件,指導綜合和布局布線階段的優(yōu)化算法;區(qū)域與位置約束 主要用于指定芯片IO腳位置以及指導實現(xiàn)工具在芯片特定的物理區(qū)域進行布局布線;其他約束 泛指目標芯片型號、電氣(dinq)特性等約束屬性。 V1.02河北科技大學共五十七頁4.1時序約束(yush)與時序分析基礎時序約

2、束的作用(zuyng):(1)提高設計的工作頻率 對數(shù)字電路而言,提高工作頻率至關重要。通過附加約束可以控制邏輯的綜合、映射、布局和布線,從而提高工作頻率。(2)獲得正確的時序分析報告 Quartus II 內嵌STA(Static Timing Analysis)靜態(tài)時序分析工具。分析每個時序路徑的延遲,可計算設計的最高頻率,發(fā)現(xiàn)時序違規(guī)(Timing Violation)。 V1.03河北科技大學共五十七頁4.1時序約束與時序分析(fnx)基礎設計(shj)中常用的時序概念: 周期、最大時鐘頻率、時鐘建立時間、時鐘保持時間、時鐘到輸出延時、管腳到管腳延時、Slack和時鐘偏斜。運行時序分析

3、的方法: 1、直接進行全編譯(Full compilation) 2、運行命令 processingstartstart Timing Analysis3、使用Tcl腳本(Scripts)運行時序分析工具 V1.04河北科技大學共五十七頁4.1時序約束與時序分析(fnx)基礎在靜態(tài)時序分析(STA)報告中,主要包括:1、Timing Analyzer Setting(時序分析設置)2、 Timing Analyzer Summary(時序分析概要)3、Clock Setup(時鐘建立(jinl)關系)4、 Clock Hold(時鐘保持關系)5、tsu(輸入建立時間)6、th(輸入保持時間)7

4、、 tco(時鐘到輸出延時)8、tpd(管腳到管腳延時)9、Minimum tpd & tco(最小的tpd 和tco) V1.05河北科技大學共五十七頁4.1.1周期(zhuq)與最高頻率周期的概念(ginin)是FPGA時序定義的基礎,其他時序公式都可以用周期公式推導出來。如圖所示的最小時鐘周期計算:T = tCO + tDELAY + tSU。時鐘周期大于T,觸發(fā)器正常工作;時鐘周期小于T,不滿足建立時間,觸發(fā)器可能經歷亞穩(wěn)態(tài)。即最高時鐘頻率fmax = 1/T。 V1.06河北科技大學共五十七頁4.1.1周期(zhuq)與最高頻率fmax能綜合體現(xiàn)設計的時序性能,在報告中可以觀察到影響

5、時序性能的N條(N可設置(shzh))最差時序路徑。我們可以找出關鍵路徑所在。最差的fmax源端、目的端寄存器和相關fmax的值選擇Clock Steup裕量時間=NA,是因為沒有設定Timing Requirement(時序需求) V1.07河北科技大學共五十七頁4.1.2 Quartus工具(gngj)分析時序分析報告(bogo)中以升序方式排列出路徑的fmax,些路徑上可利用Quartus中的功能工具分析更多的信息。列出路徑信息在Assinment編輯器中定位路徑在時序收斂平面布局器中定位路徑在最后編譯結果平面布局器中定位路徑在“工藝映射查看器”中定位路徑選中某路徑 V1.08河北科技大

6、學共五十七頁4.1.2 Quartus工具(gngj)分析選擇(xunz)List Path則可在Message Windows窗口System頁中查看路徑延時細節(jié)。數(shù)據(jù)延時(B)時鐘偏斜(S)時鐘到輸出延時(tco)建立時間(tsu)fmax = 1/tco + data delay + tsu - clock skew = 1/0.25 + 7.571 + (-0.036)-(0.009) = 128.6MHzBtcotsuS V1.09河北科技大學共五十七頁4.1.2 Quartus工具(gngj)分析點開信息+號,將展開該項延時路徑(ljng)組成及延時分解信息。最后顯示該數(shù)據(jù)路徑的互

7、連延時和邏輯延時的比例關系60/40原則:如果關鍵路徑的延時組成中,邏輯延時占據(jù)時序要求的60%以下:容易滿足時序要求;80%:可能需高級設置來滿足時序要求;80%:說明設計幾乎無法滿足時序要求。 V1.010河北科技大學共五十七頁4.1.2 Quartus工具(gngj)分析在list Paths窗口中,右鍵 選擇Locate 或 在編譯報告中右鍵 選擇Locate in TimingClosureFloorplan,在平面布局(bj)器中定位路徑 V1.011河北科技大學共五十七頁4.1.3 時鐘建立(jinl)時間Setup Time:即建立(jinl)時間,在時鐘上升沿之前數(shù)據(jù)必須穩(wěn)定

8、的最短時間。若不滿足setup time,數(shù)據(jù)無法進入寄存器: tSU = Data Delay -Clock Delay +Micro tSUtsuData DelayClock DelayMicro tSU指觸發(fā)器內部固有的建立時間,是其固有屬性,典型 值一般1ns V1.012河北科技大學共五十七頁4.1.4 時鐘(shzhng)保持時間Hold Time:即保持時間(shjin),在時鐘上升沿之后數(shù)據(jù)必須穩(wěn)定的最短時間(shjin)。否則,數(shù)據(jù)無法進入寄存器:如果Tco延時太短導致上一級寄存器鎖存的數(shù)據(jù)侵占了下一級寄存器正在鎖存數(shù)據(jù)的保持時間,那么下一級寄存器就無法有效的鎖存數(shù)據(jù),系統(tǒng)

9、時序也就無法達到要求。tH = Clock Delay -Data Delay+Micro tHtHData DelayClock DelayMicro tHMicro tH指寄存器內部固有的保持時間,是其固有屬性,典型 值一般1ns V1.013河北科技大學共五十七頁4.1.5 時鐘(shzhng)輸出延時Clock to Output Delay:即時鐘輸出(shch)延時,在時鐘有效沿到數(shù)據(jù)有效的最大時間間隔。tCO = Clock Delay +Data Delay+Micro tCOData DelayClock DelayMicro tCOMicro tCO指寄存器內部固有的延遲時

10、間,是其固有屬性,典型 值一般Time Setings Assignments-Setings- Timing Require & Options通過修改“.QSF”文件設置Quartus II工程中所有的約束都存放在“.QSF”文件中,可直接用文本編輯器修改(關閉工程) V1.022河北科技大學共五十七頁4.2.1 指定全局(qunj)時序約束時序驅動的編譯全局時鐘設置全局的I/O時序設置時序分析和報告(bogo)選項時序向導 V1.023河北科技大學共五十七頁4.2.1 指定(zhdng)全局時序約束時序(sh x)驅動的編譯(TDC)優(yōu)化時序:把關鍵路徑中的節(jié)點放的更靠近優(yōu)化保持時間:修

11、改布局布線,滿足保持時間和最小時序要求。優(yōu)化I/O單元寄存器的放置:為滿足時序要求,自動將寄存器移到I/O單元中。1、優(yōu)化I/O路徑保持時間和最小tPD要求。(如最小觸發(fā)器到管腳tCO延時)2、優(yōu)化所有路徑(內部和I/O),包括內部寄存器到寄存器之間的路徑保持時間。Quartus II 在優(yōu)化過程中,布局布線將在保持時間時序違規(guī)的路徑上增加布線延時,以滿足時序要求。 對設計增加時序約束的目的是要使工具在實現(xiàn)過程中朝這個約束的方向努力,因此,在工程中需要首先將布局布線的過程設置為時序驅動的編譯(Timing Driven Compilation)過程。 運行【Assignment】【Settin

12、gs】 選擇【Fitter Setting】進入TDC界面 V1.024河北科技大學共五十七頁4.2.1 指定(zhdng)全局時序約束全局(qunj)時鐘設置單時鐘設計中的全局時鐘約束 如果在設計中只有一個全局時鐘,或者所有的時鐘同頻,那么可以在Quartus II中設計一個全局的時鐘約束。 運行【Assignment】【Timing Settings】 進入全局時鐘設置界面 V1.025河北科技大學共五十七頁4.2.1 指定全局時序(sh x)約束全局的I/O時序(sh x)設置建立延時輸出延時引腳間延時最小輸出延時最小保持延時最小引腳間延時 V1.026河北科技大學共五十七頁4.2.1

13、指定全局時序(sh x)約束時序分析(fnx)和報告選項(1)剪除從雙向管腳反饋回來的路徑。剪除異步的清零和置位信號的路徑。剪除穿過ESB(嵌入式系統(tǒng)塊)的路徑。剪除不相關時鐘之間的路徑。鎖存器同步元素分析。I/O路徑的時鐘建立和保持關系。在缺省情況下,這些路徑都將被當做偽路徑處理 Quartus II中,一些設置選項可以用來控制時序分析和報告。例如分析哪些路徑,不分析哪些路徑,如何報告時序等。 V1.027河北科技大學共五十七頁4.2.1 指定全局時序(sh x)約束時序分析(fnx)和報告選項(2)每個時鐘顯示10個最慢的目的寄存器每個時鐘顯示10個最慢的源寄存器顯示200條最差的路徑。不

14、報告fmax在250MHz以上的路徑。fmax 最高頻率; slack 時序裕量;tsu 時鐘建立時間; th 時鐘保持時間;tco 時鐘輸出延時; tpd 引腳到引腳延遲在缺省情況下,這些路徑都將被當做偽路徑處理不報告建立時間tsu在3ns以下的路徑。 V1.028河北科技大學共五十七頁4.2.1 指定(zhdng)全局時序約束時序(sh x)向導通過時序向導(Timing Wizard)工具來設置全局的時序約束,可系統(tǒng)、完整設置。運行【Assignment】 【W(wǎng)izards】 【Timing Wizard】 V1.029河北科技大學共五十七頁4.2.2 指定個別時序(sh x)約束指定個

15、別時鐘(shzhng)要求個別時序約束輸入最大最小延時輸出最大最小延時反相時鐘非時鐘tCO要求(最大、最?。?、 tSU要求、 tH要求、 tPD要求剪除時序路徑個別時序約束的對象單點點到點通配符時序組 V1.030河北科技大學共五十七頁4.2.2 指定個別(gbi)時序約束時鐘分類:獨立時鐘:( absolute clock)獨立于其他時鐘而存在(cnzi)的時鐘衍生時鐘:(derived clock)指由某個獨立時鐘派生出的時鐘在一個工程中,允許有多個獨立和衍生時鐘存在;獨立時鐘之間是非相關時鐘;獨立時鐘和其衍生時鐘之間是相關時鐘。發(fā)射沿捕獲沿 偏移 基準時鐘 衍生時鐘 V1.031河北科技

16、大學共五十七頁4.2.2 指定(zhdng)個別時序約束指定個別(gbi)時鐘要求獨立時鐘之間是非相關時鐘,而獨立時鐘和其衍生時鐘之間是相關時鐘,缺省情況下,QuartusII不分析非相關時鐘之間的路徑。指定獨立時鐘要求時,須顯式指定該時鐘的Fmax和占空比。指定衍生時鐘要求時,只需指定衍生時鐘相對于產生該衍生時鐘的獨立時鐘的相位差、分頻或倍頻比等參數(shù)。 V1.032河北科技大學共五十七頁4.2.2 指定個別(gbi)時序約束指定(zhdng)個別時鐘要求獨立時鐘設置衍生時鐘設置單擊增加新設置應用于某節(jié)點,可不填 V1.033河北科技大學共五十七頁4.2.2 指定個別(gbi)時序約束指定個別

17、時鐘(shzhng)要求設置為衍生時鐘衍生時鐘設置需先設置了其獨立時鐘后添加設置。輸入衍生時鐘設置的名稱輸入衍生時鐘節(jié)點的名稱選擇衍生時鐘基于那個獨立時鐘乘率除率占空比偏移設置反相設置應用于某節(jié)點,可不填 V1.034河北科技大學共五十七頁4.2.2 指定個別(gbi)時序約束指定(zhdng)個別時鐘要求 在高級設計中,設計者應對所有時鐘都進行約束,確保STA(Static Timimg Analysis)分析結果的正確性和完整性。通過更改TCL約束文件的方法,具有更好的延續(xù)性(不同版本)。附加一條獨立時鐘約束:create_base_clock fmax -duty_cycle -targ

18、et -no_target -entity -disable 附加一條衍生時鐘約束:create_relative_clock base_clock -duty_cycle -multiply -divide -offset -invert-target -no_target -entity -disable V1.035河北科技大學共五十七頁4.2.1 指定個別(gbi)時序約束個別(gbi)時序約束 Quartus II 中對節(jié)點或模塊的個別(individual)時序約束均是通過約束編輯器(Assignment Editor)來設定的。 V1.036河北科技大學共五十七頁4.2.1 指定

19、個別(gbi)時序約束個別(gbi)時序約束(1)時鐘設置(Clock Setting)輸入時鐘管腳或者內部時鐘節(jié)點 在“指定個別時鐘要求” 中時鐘要求并沒有和實際設計中的網(wǎng)絡或節(jié)點一一對應。(如上圖中“應用于某節(jié)點”未指定)。 在Assignment Editor中,可設置某物理節(jié)點的時鐘特性,即與“時鐘要求”聯(lián)系起來。輸入時鐘引腳或內部節(jié)點名稱選擇 clock setting選擇 已定義的獨立或衍生時鐘約束 V1.037河北科技大學共五十七頁4.2.1 指定(zhdng)個別時序約束個別(gbi)時序約束(2)輸入最大/最小延時(Input Maximum/Minimum Delay) “

20、輸入最大延時”約束指定了外部輸入路徑延時的最差情況,外部延時實際上包含了上游器件的TCO和PCB走線延時。 外部器件與FPGA同相CLK,數(shù)據(jù)到達時間可能晚,延時CLK,以保證建立時間。即滿足: tsuAtclk-Input Max Delay “輸入最小延時”約束指定了外部延時的最小情況,則工具調整滿足FPGA保持時間需求。調整CLK延時,以保證足夠保持時間。即滿足:thAInput Min Delay延時:指到達FPGA時數(shù)據(jù)和時鐘的延時差 V1.038河北科技大學共五十七頁4.2.1 指定個別時序(sh x)約束個別時序(sh x)約束(3)輸出最大/最小延時(Output Maximu

21、m/Minimum Delay) “輸出最大延時”約束指定了外部輸出路徑延時的最差情況,外部延時實際上包含了下游器件的tsu和PCB走線延時。 外部器件與FPGA同相CLK,F(xiàn)PGA數(shù)據(jù)輸出延時盡可能小,以保證不破壞建立時間。tcoBtclk-Output Max Delay “輸出最小延時”約束指定了外部延時的最小情況,則工具調整滿足FPGA保持時間需求。調整CLK延時,以保證足夠保持時間。tclkOUTput Min Delay V1.039河北科技大學共五十七頁4.2.1 指定個別(gbi)時序約束個別(gbi)時序約束(4)反相時鐘(Inverted Clock) 如果設計中某些觸發(fā)器

22、采用反相時鐘工作,時序分析工具會自動識別,但如果產生反相時鐘的邏輯復雜,在約束中需顯式設置反相時鐘.如圖,在Assignment Editor 中設置 V1.040河北科技大學共五十七頁4.2.1 指定個別時序(sh x)約束個別(gbi)時序約束(5)非時鐘(Not a Clock) 時序分析工具會自動將穿過內部邏輯送到觸發(fā)器時鐘輸入端的管腳作為時鐘??梢杂谩癗ot a Clock”約束將其從時序分析中去除。如圖,在Assignment Editor 中設置 V1.041河北科技大學共五十七頁4.2.1 指定個別時序(sh x)約束個別時序(sh x)約束(6)tCO要求(最大最小):對管腳

23、或輸出寄存器設置tCO約束,或者指定從輸出寄存器到管腳的tCO。(7)tH要求:對管腳、輸入寄存器、從管腳到輸入寄存器,或者從時鐘管腳到輸入寄存器的tH約束。(8)tPD要求:對從輸入管腳到輸出管腳、從輸入管腳到寄存器、從寄存器到寄存器,或者從輸出寄存器到管腳指定的tPD約束,或者對輸入管腳進行單點約束。(9)tSU要求:對輸入管腳、輸入寄存器、從輸入管腳到輸入寄存器,或從時鐘管腳到輸入寄存器到指定的tSU約束。個別的時序約束比全局約束有更高的優(yōu)先級(10)剪除時序路徑:對除前面介紹的全局的偽路徑剪除功能之外,在Assignment Editor 中可指定專門的時序路徑,將其剪除,使其不在時序

24、報告中體現(xiàn)。 V1.042河北科技大學共五十七頁4.2.2 指定(zhdng)個別時序約束個別(gbi)時序約束的對象(1)單點(2)點到點(3)通配符(4)時序組 V1.043河北科技大學共五十七頁4.2.2 指定(zhdng)個別時序約束個別(gbi)時序約束的對象(1)單點(Single Point) 在一個“輸入最大/最小延時”的設置,如果對輸入的管腳進行單點約束,那么這個設置將對輸入管腳到不同時鐘驅動器的所有寄存器路徑有效。 V1.044河北科技大學共五十七頁4.2.2 指定個別時序(sh x)約束個別時序(sh x)約束的對象(2)點到點(Point-to- Point ) 在一個

25、“輸入最大/最小延時”的設置,如果對 “從時鐘管腳到數(shù)據(jù)輸入管腳”進行點對點約束,那么這個設置將對輸入數(shù)據(jù)管腳到指定時鐘驅動器的寄存器路徑有效。 V1.045河北科技大學共五十七頁4.2.2 指定(zhdng)個別時序約束個別時序約束(yush)的對象(3)通配符(Wildcard ) 通配符有兩種: “ * ” 用來代替零個或多個字符; “ ?” 用來代替單個字符。如我們建立約束: From “data” to “Rg*”或 From “data” to “Rg?”那么將約束 data 到 Rg1 和data 到 Rg2 兩條路徑。 V1.046河北科技大學共五十七頁4.2.2 指定個別(g

26、bi)時序約束個別(gbi)時序約束的對象(4)時序組(Time Group)增加和移去的成員在上面添加的里面去除的子成員時序組名稱在Quartus II工具中,可以先建一些時序組,一個時序組可以包含設計中的任意節(jié)點,在做時序約束時,對這些時序組約束,即對其相關的路徑進行了約束。 V1.047河北科技大學共五十七頁時序(sh x)約束與時序(sh x)分析時序約束與時序分析基礎設置時序約束的常用(chn yn)方法高級時序分析最小化時序分析使用TCL工具進行高級時序分析 V1.048河北科技大學共五十七頁4.3高級(goj)時序分析-4.3.1 時鐘偏斜-4.3.2 多時鐘域-4.3.3 多周

27、期約束-4.3.4 偽路徑(ljng)-4.3.5 修正保持時間違規(guī)-4.3.6 異步時鐘域時序分析 V1.049河北科技大學共五十七頁4.3.1 時鐘(shzhng)偏斜一、派生(pishng)時鐘DQINPUTVCCINPUTVCCDQDQDQDQDQOUTPUTINPUTOUTbOUTainainbclock_aAB2.411ns1.847ns7.141ns 在設計中,派生時鐘(或衍生時鐘)往往有較大延遲,如果數(shù)據(jù)延遲過小,即可能發(fā)生偏斜錯誤。如圖,從時鐘管腳clock_a到寄存器inst5的延時為1.847ns;clock_a到寄存器inst4的延時為7.141ns;時鐘偏斜為:5.2

28、94nsinst5的tco+數(shù)據(jù)延時2.411ns建立時間為:-2.883nsinsts4的固有保持時間0.710ns保持時間更無法滿足inst4inst5解決方法:可以通過人為增加數(shù)據(jù)路徑的延時來滿足時序要求。有兩種方法增加路徑延時:增加邏輯延時:在路徑中增加延時單元(在邏輯中插入LCELL);增加走線延時:通過手動定位源端和目的端寄存器來增加互連線延時。 V1.050河北科技大學共五十七頁4.3.1 時鐘(shzhng)偏斜二、異步存儲器 異步存儲器表現(xiàn)得像鎖存器(latch),設計(shj)必須檢查其建立和保持時間。如圖,從clock6到目的寄存器的時鐘延時為9.251ns;clock6

29、到源寄存的延時為2.302ns;時鐘偏斜為:6.949ns源寄存器的tco+數(shù)據(jù)延時3.503ns建立時間為:-3.446ns存儲器的固有保持時間0.106ns時鐘偏斜大于數(shù)據(jù)延時,保持時間更無法滿足解決方法:同派生時鐘的處理方法增加邏輯延時:在路徑中增加延時單元(在邏輯中插入LCELL);增加走線延時:通過手動定位源端和目的端寄存器來增加互連線延時。DQDQDQDQclock69.251ns2.302ns4069bits RAMData8.0Wraddress11.0Rdaddress11.0WrenABDclock23.503ns V1.051河北科技大學共五十七頁4.3.2 多時鐘(sh

30、zhng)域一、多時鐘(shzhng)路徑 設計中有多個工作時鐘,系統(tǒng)為多時鐘域;Quartus II工具會對各時鐘域中相關時鐘的寄存器到寄存器路徑時序,缺省情況下,自動剪除非相關時鐘之間的路徑。 如果非相關時鐘或非同時鐘域的時鐘是事實相關(如外電路引進的多時鐘),需通過指定時鐘關系再進行合理約束。二、指定時鐘關系 要約束不同時鐘域之間的路徑,首先定義一個獨立時鐘(虛擬時鐘),然后在這個時鐘的基礎上定義衍生時鐘,選擇倍頻關系、占空比、偏移和反相設置等,再將時鐘與不同域的時鐘節(jié)點關聯(lián)。 這樣,分析工具就會將這兩個時鐘之間的路徑作為相關路徑,時序約束即按兩時鐘之間的關系約束 Altera器件中PLL可以有多輸出時鐘,即使這些時鐘之間頻率、相位、延時以及偏移都不同,Quartus工具會將其做相關時鐘,除非通過Assignment Editor將這些輸出時鐘分別定義為獨立時鐘。 V1.052河北科技大學共五十七頁4.3.2 多時鐘(shzhng)域三、分析時序(sh x)報告 非同時鐘域的時鐘指定時鐘關系后,編譯后即在報告中出現(xiàn)路徑。如圖,將clkA和clkB指定關系,報告出現(xiàn)如下: V1.053河北科技大學共五十七頁4.3.3 多周期(zhuq)約束一、多周期(zhuq)路徑 所謂多周期路徑是指需要一個時鐘周期以上數(shù)據(jù)穩(wěn)定時間的路徑。 通常的時序路

溫馨提示

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

評論

0/150

提交評論