色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA的約束、時序分析的概念詳解

FPGA之家 ? 來源:AET網站 ? 作者:AET網站 ? 2021-10-11 10:23 ? 次閱讀

A 時序約束的概念和基本策略

時序約束主要包括周期約束(FFS到FFS,即觸發器到觸發器)和偏移約束(IPAD到FFS、FFS到OPAD)以及靜態路徑約束(IPAD到OPAD)等3種。通過附加約束條件可以使綜合布線工具調整映射和布局布線過程,使設計達到時序要求。例如用OFFSET_IN_BEFORE約束可以告訴綜合布線工具輸入信號時鐘之前什么時候準備好,綜合布線工具就可以根據這個約束調整與IPAD相連的Logic Circuitry的綜合實現過程,使結果滿足FFS的建立時間要求。

附加時序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑附加專門約束。附加全局約束時,首先定義設計的所有時鐘,對各時鐘域內的同步元件進行分組,對分組附加周期約束,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的PAD TO PAD路徑附加約束。附加專門約束時,首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他特殊路徑。

B 附加約束的基本作用

提高設計的工作頻率

對很多數字電路設計來說,提高工作頻率非常重要,因為高工作頻率意味著高處理能力。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高工作頻率。

獲得正確的時序分析報告

幾乎所有的FPGA設計平臺都包含靜態時序分析工具,利用這類工具可以獲得映射或布局布線后的時序分析報告,從而對設計的性能做出評估。靜態時序分析工具以約束作為判斷時序是否滿足設計要求的標準,因此要求設計者正確輸入約束,以便靜態時序分析工具輸出正確的時序分析報告。

指定FPGA/CPLD引腳位置與電氣標準

FPGA/CPLD的可編程特性使電路板設計加工和FPGA/CPLD設計可以同時進行,而不必等FPGA/CPLD引腳位置完全確定,從而節省了系統開發時間。這樣,電路板加工完成后,設計者要根據電路板的走線對FPGA/CPLD加上引腳位置約束,使FPGA/CPLD與電路板正確連接。

另外通過約束還可以指定IO引腳所支持的接口標準和其他電氣特性。為了滿足日新月異的通信發展,Xilinx新型FPGA/CPLD可以通過IO引腳約束設置支持諸如AGP、BLVDS、CTT、GTL、GTLP、HSTL、LDT、LVCMOS、LVDCI、LVDS、LVPECL、LVDSEXT、LVTTL、PCI、PCIX、SSTL、ULVDS等豐富的IO接口標準。另外通過區域約束還能在FPGA上規劃各個模塊的實現區域,通過物理布局布線約束,完成模塊化設計等。

C 周期(PERIOD)的含義

周期的含義是時序中最簡單也是最重要的含義,其它很多時序概念會因為軟件商不同略有差異,而周期的概念確是最通用的,周期的概念是FPGA/ASIC時序定義的基礎概念。后面要講到的其它時序約束都是建立在周期約束的基礎上的,很多其它時序公式,可以用周期公式推導。

周期約束是一個基本時序和綜合約束,它附加在時鐘網線上,時序分析工具根據PERIOD約束檢查時鐘域內所有同步元件的時序是否滿足要求。PERIOD約束會自動處理寄存器時鐘端的反相問題,如果相鄰同步元件時鐘相位相反,那么它們之間的延遲將被默認限制為PERIOD約束值的一半。如下圖所示,

f23c9ece-2a37-11ec-82a8-dac502259ad0.jpg

圖1 周期的定義

時鐘的最小周期為:

TCLK = TCKO +TLOGIC +TNET +TSETUP -TCLK_SKEW

TCLK_SKEW =TCD2 -TCD1

其中TCKO為時鐘輸出時間,TLOGIC為同步元件之間的組合邏輯延遲,TNET為網線延遲,TSETUP為同步元件的建立時間,TCLK_SKEW為時鐘信號TCD2和TCD1延遲的差別。

D 數據和時鐘之間的約束

為了確保芯片數據采樣可靠和下級芯片之間正確地交換數據,需要約束外部時鐘和數據輸入輸出引腳之間的時序關系(或者內部時鐘和外部輸入/輸出數據之間的關系,這僅僅是從采用了不同的參照系罷了)。約束的內容為告訴綜合器、布線器輸入數據到達的時刻,或者輸出數據穩定的時刻,從而保證與下一級電路的時序關系。

這種時序約束在Xilinx中用Setup to Clock(edge),Clock(edge) to hold等表示。在Altera里常用tsu (Input Setup Times)、th (Input Hold Times)、tco (Clock to Out Delays)來表示。很多其它時序工具直接用setup和hold表示。其實他們所要描述的是同一個問題,僅僅是時間節點的定義上略有不同。下面依次介紹。

E 關于輸入到達時間

Xilinx的“輸入到達時間的計算”時序描述如下圖所示:

f276501a-2a37-11ec-82a8-dac502259ad0.jpg

圖2 輸入到達時間示意圖

定義的含義是輸入數據在有效時鐘沿之后的TARRIVAL時刻到達。則,

TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式1

根據上面介紹的周期(Period)公式,我們可以得到:

Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk; 公式2

將公式1代入公式2:Tarrival+Tinput+Tsetup-Tclk_skew=Tclk, 而Tclk_skew滿足時序關系后為負,所以

TARRIVAL +TINPUT+TSETUP

這就是Tarrival應該滿足的時序關系。其中TINPUT為輸入端的組合邏輯、網線和PAD的延遲之和,TSETUP為輸入同步元件的建立時間。

F 數據延時和數據到達時間的關系

f284a7aa-2a37-11ec-82a8-dac502259ad0.jpg

圖3 數據延時和數據到達時間示意圖

TDELAY為要求的芯片內部輸入延遲,其最大值TDELAY_MAX與輸入數據到達時間TARRIVAL的關系如上圖所示。也就是說:TDELAY_MAX+TARRIVAL=TPERIOD 公式4

所以:

TDELAY

G 要求輸出的穩定時間

從下一級輸入端的延遲可以計算出當前設計輸出的數據必須在何時穩定下來,根據這個數據對設計輸出端的邏輯布線進行約束,以滿足下一級的建立時間要求,保證下一級采樣的數據是穩定的。計算要求的輸出穩定時間如下圖所示:

f2ac6196-2a37-11ec-82a8-dac502259ad0.jpg

圖4 要求的輸出穩定時間示意圖

公式的推導如下:

定義:TSTABLE = TLOGIC +TINPUT +TSETUP

從前面帖子介紹的周期(Period)公式,可以得到(其中TCLK_SKEW=TCLK1-TCLK2):

TCLK=TCKO+TOUTPUT+TLOGIC+TINPUT+TSETUP+TCLK_SKEW

將TSTABLE的定義代入到周期公式,可以得到:

TCLK=TCKO+TOUTPUT+TSTABLE+TCLK_SKEW

所以:TCKO +TOUTPUT+TSTABLE

這個公式就是TSTABLE必須要滿足的基本時序關系,即本級的輸出應該保持怎么樣的穩定狀態,才能保證下級芯片的采樣穩定。有時我們也稱這個約束關系是輸出數據的保持時間的時序約束關系。只要滿足上述關系,當前芯片輸出端的數據比時鐘上升沿提早TSTABLE 時間穩定下來,下一級就可以正確地采樣數據。其中TOUTPUT為設計中連接同步元件輸出端的組合邏輯、網線和PAD的延遲之和,TCKO為同步元件時鐘輸出時間。

H 實施時序約束的方法和命令

實施上述約束的基本方法是,根據已知時序信息,推算需要約束的時間值,實施約束。具體地說是這樣的,首先對于一般設計,首先掌握的是TCLK,這個對于設計者來說是個已知量。前面介紹公式和圖中的TCKO和TSETUP(注:有的工具軟件對TCKO和TSETUP的定義與前面圖形不同,還包含了到達同步器件的一段logic的時延)是器件內部固有的一個時間量,一般我們選取典型值,對于FPGA,這個量值比較小,一般不大于1~2ns。比較難以確定的是TINPUT和TOUTPUT兩個時間量。

約束輸入時間偏移,需要知道TINPUT,TINPUT為輸入端的組合邏輯、網線和PAD的延遲之和,PAD的延時也根據器件型號也有典型值可選,但是到達輸入端的組合邏輯電路和網線的延時就比較難以確定了,只能通過靜態時序分析工具分析,或者通過底層布局布線工具量取,有很大的經驗和試探的成分在里面。

約束輸出時間偏移,需要知道TOUTPUT,TOUTPUT為設計中連接同步元件輸出端的組合邏輯、網線和PAD的延遲之和,仍然是到達輸出端的組合邏輯電路和網線的延時就比較難以確定,需要通過靜態時序分析工具分析,或者通過底層布局布線工具量取,有很大的經驗和試探的成分在里面。

約束的具體命令根據約束工具不同而異,首先說使用Xilinx器件的情況下,實施上述約束的命令和方法。Xilinx把上述約束統稱為:OFFSET約束(偏移約束),一共有4個相關約束屬性:OFFSET_IN_BEFORE、OFFSET_IN_AFTER、OFFSET_OUT_BEFORE和OFFSET_OUT_AFTER。其中前兩個屬性叫做輸入偏移(OFFSET_IN)約束,基本功能相似,僅僅是約束取的參考對象不同而已。后兩個屬性叫做輸出偏移(OFFSET_OUT)約束,基本功能相似,也是約束取的參考對象不同而已。為了便于理解,舉例說明。

輸入偏移約束:時鐘周期為20ns,前級寄存器的TCKO選擇1ns,前級輸出邏輯延時TOUTPUT為3ns,中間邏輯TLOGIC的延時為10ns,那么TARRIVAL=14ns,于是可以在數據輸入引腳附加NET DATA_IN OFFET=IN 14ns AFTER CLK約束,也可以使用OFFSET_IN_BEFORE對芯片內部的輸入邏輯進行約束,其語法如下:

NET DATA_IN OFFET=IN TDELAY BEFORE CLK

其中TDELAY為要求的芯片內部輸入延遲,其最大值與輸入數據到達時間TARRIVAL的關系:TDELAY_MAX + TARRIVAL = TPERIOD,所以TDELAY 《 TPERIOD - TARRIVAL = 20 - 14 =6 ns。

輸出偏移約束:設時鐘周期為20ns,后級輸入邏輯延時TINPUT為4ns、建立時間TSETUP為1ns,中間邏輯TLOGIC的延時為10ns,那么TSTABLE=15ns,于是可以在數據輸入引腳附加NET DATA_OUT OFFET=OUT 15ns BEFORE CLK約束,也可以直接對芯片內部的輸出邏輯直接進行約束,NET DATA_OUT OFFET=OUT TOUTPUT_DELAY AFTER CLK,其中TOUTPUT_DELAY為要求的芯片內部輸出延遲,其最大值與要求的輸出數據穩定時間TSTABLE的關系為:

TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。TOUT_DELAY《 TPERIOD - TSTABLE = 20 - 15 = 5ns

很多人詢問關于約束、時序分析的問題,比如:如何設置setup,hold時間?如何使用全局時鐘和第二全局時鐘(長線資源)?如何進行分組約束?如何約束某部分組合邏輯?如何通過約束保證異步時鐘域之間的數據交換可靠?如何使用I/O邏輯單元內部的寄存器資源?如何進行物理區域約束,完成物理綜合和物理實現?為了解決大家的疑難,我們將逐一討論這些問題。(注:以下主要設計時序約束)

I Altera對應的時序概念

下面主要介紹Altera對應的這些時序概念和約束方法。前面首先介紹的第一個時序概念是周期(Period),這個概念是FPGA/ASIC通用的一個概念,各方的定義相當統一,至多是描述方式不同罷了,所有的FPGA設計都首先要進行周期約束,這樣做的好處除了在綜合與布局布線時給出規定目標外,還能讓時序分析工具考察整個設計的Fmax等。

Altera的周期定義如下圖所示,公式描述如下:

f37d9180-2a37-11ec-82a8-dac502259ad0.jpg

圖5 Altera 的 Period 示意圖

Clock Period = Clk-to-out + Data Delay + Setup Time - Clk Skew

即,Tclk= Tco+ B + Tsu-(E-C) Fmax =1/Tclk

對比一下前面的介紹,只要理解了B 包含了兩級寄存器之間的所有 logic 和 net 的延時就會發現與前面公式完全一致。

J Altera的其他基本時序概念

Clock Setup Time (tsu) 要想正確采樣數據,就必須使數據和使能信號在有效時鐘沿到達前就準備好,所謂時鐘建立時間就是指時鐘到達前,數據和使能已經準備好的最小時間間隔。如下圖所示:

f3ad5230-2a37-11ec-82a8-dac502259ad0.jpg

圖6 tsu示意圖

(注:這里定義Setup時間是站在同步時序整個路徑上的,需要區別的是另一個概念Micro tsu。Micro tsu指的是一個觸發器內部的建立時間,它是觸發器的固有屬性,一般典型值小于1~2ns。在Xilinx等的時序概念中,稱Altera的Micro tsu為setup時間,用Tsetup表示,請大家區分一下。回到Altera的時序概念,Altera的tsu定義如下:tsu = Data Delay – Clock Delay + Micro tsu)

Clock Hold Time (tH) 時鐘保持時間是只能保證有效時鐘沿正確采用的數據和使能信號的最小穩定時間。其定義如下圖所示:

f3bae99a-2a37-11ec-82a8-dac502259ad0.jpg

圖7 tH示意圖

定義的公式為:tH= Clock Delay – Data Delay + Micro tH

注:其中Micro tH是指寄存器內部的固有保持時間,同樣是寄存器的一個固有參數,典型值小于1~2ns。

Clock-to-Output Delay(tco) 這個時間指的是當時鐘有效沿變化后,將數據推倒同步時序路徑的輸出端的最小時間間隔。如下圖所示:

f3e6b1ce-2a37-11ec-82a8-dac502259ad0.jpg

圖8 tco示意圖

tco = Clock Delay + Micro tco + Data Delay

(注:其中 Micor tco也是一個寄存器的固有屬性,指的是寄存器相應時鐘有效沿,將數據送到輸出端口的內部時間參數。它與Xilinx的時序定義中,有一個概念叫Tcko是同一個概念。)

Pin to Pin Delay (tpd) tpd指輸入管腳通過純組合邏輯到達輸出管腳這段路徑的延時,特別需要說明的是,要求輸入到輸出之間只有組合邏輯,才是tpd延時。

Slack是表示設計是否滿足時序的一個稱謂,正的slack表示滿足時序(時序的余量),負的slack表示不滿足時序(時序的欠缺量)。slack的定義和圖形如下圖所示。

f4224a72-2a37-11ec-82a8-dac502259ad0.jpg

圖9 slack示意圖

Slack = Required clock period – Actual clock period

Slack = Slack clock period – (Micro tCO+ Data Delay + Micro tSU)

Clock Skew指一個同源時鐘到達兩個不同的寄存器時鐘端的時間偏移,如下圖所示。

f4327992-2a37-11ec-82a8-dac502259ad0.jpg

圖10 clock skew示意圖

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21744

    瀏覽量

    603596
  • cpld
    +關注

    關注

    32

    文章

    1248

    瀏覽量

    169383
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120424
  • PCI
    PCI
    +關注

    關注

    4

    文章

    666

    瀏覽量

    130288
  • lvds
    +關注

    關注

    2

    文章

    1043

    瀏覽量

    65821

原文標題:FPGA約束、時序分析的概念介紹

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    時序約束一主時鐘與生成時鐘

    一、主時鐘create_clock 1.1 定義 主時鐘是來自FPGA芯片外部的時鐘,通過時鐘輸入端口或高速收發器GT的輸出引腳進入FPGA內部。對于賽靈思7系列的器件,主時鐘必須手動定義到GT
    的頭像 發表于 11-29 11:03 ?380次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b>一主時鐘與生成時鐘

    Verilog vhdl fpga

    編程語言,熟悉時序約束時序分析方法; 4.熟悉FPGA開發環境及仿真調試工具。 5.熟悉FPGA
    發表于 11-12 16:40

    常用時序約束使用說明-v1

    約束使用說明-v1 文章出處:【微信公眾號:易靈思FPGA技術交流】歡迎添加關注!文章轉載請注明出處。
    的頭像 發表于 11-01 11:06 ?200次閱讀

    FPGA電源時序控制

    電子發燒友網站提供《FPGA電源時序控制.pdf》資料免費下載
    發表于 08-26 09:25 ?0次下載
    <b class='flag-5'>FPGA</b>電源<b class='flag-5'>時序</b>控制

    電路的兩類約束指的是哪兩類

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設計和分析中起著至關重要的作用。 一、電氣
    的頭像 發表于 08-25 09:34 ?911次閱讀

    深度解析FPGA中的時序約束

    建立時間和保持時間是FPGA時序約束中兩個最基本的概念,同樣在芯片電路時序分析中也存在。
    的頭像 發表于 08-06 11:40 ?701次閱讀
    深度解析<b class='flag-5'>FPGA</b>中的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    FPGA 高級設計:時序分析和收斂

    FPGA/ASIC 時序定義的基礎概念。后面要講到的其它時序約束都是建立在周期約束的基礎上的
    發表于 06-17 17:07

    Xilinx FPGA編程技巧之常用時序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧之常用時序約束詳解,話不多說,上貨。 基本的約束方法 為了保證成功的設計,所有路徑的
    發表于 05-06 15:51

    FPGA工程的時序約束實踐案例

    詳細的原時鐘時序、數據路徑時序、目標時鐘時序的各延遲數據如下圖所示。值得注意的是數據路徑信息,其中包括Tco延遲和布線延遲,各級累加之后得到總的延遲時間。
    發表于 04-29 10:39 ?779次閱讀
    <b class='flag-5'>FPGA</b>工程的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>實踐案例

    時序約束實操

    添加約束的目的是為了告訴FPGA你的設計指標及運行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復制到別的指定目錄或
    的頭像 發表于 04-28 18:36 ?2313次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b>實操

    Xilinx FPGA約束設置基礎

    LOC約束FPGA設計中最基本的布局約束和綜合約束,能夠定義基本設計單元在FPGA芯片中的位置,可實現絕對定位、范圍定位以及區域定位。
    發表于 04-26 17:05 ?1220次閱讀
    Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>約束</b>設置基礎

    Xilinx FPGA編程技巧之常用時序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧之常用時序約束詳解,話不多說,上貨。 基本的約束方法為了保證成功的設計,所有路徑的
    發表于 04-12 17:39

    讀《FPGA入門教程》

    分析時序仿真是最準確的,能較好地反映芯片的實際工作情況,同時發現時序違規(Timing Violation),即不滿足時序約束條件或者器件
    發表于 03-29 16:42

    fpga時序仿真和功能仿真的區別

    FPGA時序仿真和功能仿真在芯片設計和驗證過程中各自扮演著不可或缺的角色,它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:28 ?2278次閱讀

    FPGA物理約束之布局約束

    在進行布局約束前,通常會對現有設計進行設計實現(Implementation)編譯。在完成第一次設計實現編譯后,工程設計通常會不斷更新迭代,此時對于設計中一些固定不變的邏輯,設計者希望它們的編譯結果
    的頭像 發表于 01-02 14:13 ?1520次閱讀
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>約束</b>之布局<b class='flag-5'>約束</b>
    主站蜘蛛池模板: 亚洲人成电影网站| 99亚洲精品自拍AV成人软件 | 岛国电影网址| 口内射精颜射极品合集| 亚洲精品另类有吗中文字幕| 国产成人综合在线观看网站| 乳液全集电影在线观看| 99久久人妻无码精品系列性欧美 | 精品无码国产自产在线观看水浒传 | 青草在线在线d青草在线| 日本动漫henta videos| 2019精品国产品在线不卡| YELLOW视频在线观看最新| 暖暖 免费 高清 日本在线| 91极品蜜桃臀在线播放| 免费乱理伦片在线观看八戒| 0951影音在线| 免费精品国产日韩热久久| 91精品婷婷国产综合久久8| 免费观看的毛片| 99热最新在线| 日日碰狠狠躁久久躁综合网| 高h gl肉文| 亚洲成人综合在线| 花蝴蝶在线直播观看| 在教室伦流澡到高潮H免费视频| 久久久久综合网久久| 91久久综合精品国产丝袜长腿| 男男校园园bl文全肉高h寝室| 扒开屁股眼往里面夹东西| 日本特交大片免费观看| 国产高清在线a视频大全| 性色爽爱性色爽爱网站| 九九99热久久999精品| 91福利国产在线观看网站| 奇米狠狠干| 国产乱码精品一区二区三区四川| 亚洲欧美精品无码一区二在线| 久久中文字幕免费视频| 波多久久亚洲精品AV无码| 无码专区无码专区视频网网址|