日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA時(shí)序約束的概念和基本策略

FPGA設(shè)計(jì)論壇 ? 來源:博客園 ? 作者:westor ? 2021-09-30 15:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

A 時(shí)序約束的概念和基本策略

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

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

B 附加約束的基本作用

提高設(shè)計(jì)的工作頻率

對(duì)很多數(shù)字電路設(shè)計(jì)來說,提高工作頻率非常重要,因?yàn)楦吖ぷ黝l率意味著高處理能力。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時(shí),從而提高工作頻率。

獲得正確的時(shí)序分析報(bào)告

幾乎所有的FPGA設(shè)計(jì)平臺(tái)都包含靜態(tài)時(shí)序分析工具,利用這類工具可以獲得映射或布局布線后的時(shí)序分析報(bào)告,從而對(duì)設(shè)計(jì)的性能做出評(píng)估。靜態(tài)時(shí)序分析工具以約束作為判斷時(shí)序是否滿足設(shè)計(jì)要求的標(biāo)準(zhǔn),因此要求設(shè)計(jì)者正確輸入約束,以便靜態(tài)時(shí)序分析工具輸出正確的時(shí)序分析報(bào)告。

指定FPGA/CPLD引腳位置與電氣標(biāo)準(zhǔn)

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

C 周期(PERIOD)的含義

周期的含義是時(shí)序中最簡單也是最重要的含義,其它很多時(shí)序概念會(huì)因?yàn)檐浖滩煌杂胁町?,而周期的概念確是最通用的,周期的概念是FPGA/ASIC時(shí)序定義的基礎(chǔ)概念。后面要講到的其它時(shí)序約束都是建立在周期約束的基礎(chǔ)上的,很多其它時(shí)序公式,可以用周期公式推導(dǎo)。

周期約束是一個(gè)基本時(shí)序和綜合約束,它附加在時(shí)鐘網(wǎng)線上,時(shí)序分析工具根據(jù)PERIOD約束檢查時(shí)鐘域內(nèi)所有同步元件的時(shí)序是否滿足要求。PERIOD約束會(huì)自動(dòng)處理寄存器時(shí)鐘端的反相問題,如果相鄰?fù)皆r(shí)鐘相位相反,那么它們之間的延遲將被默認(rèn)限制為PERIOD約束值的一半。

時(shí)鐘的最小周期為:TCLK = TCKO +TLOGIC +TNET +TSETUP -TCLK_SKEWTCLK_SKEW =TCD2 -TCD1其中TCKO為時(shí)鐘輸出時(shí)間,TLOGIC為同步元件之間的組合邏輯延遲,TNET為網(wǎng)線延遲,TSETUP為同步元件的建立時(shí)間,TCLK_SKEW為時(shí)鐘信號(hào)TCD2和TCD1延遲的差別。

D 數(shù)據(jù)和時(shí)鐘之間的約束

為了確保芯片數(shù)據(jù)采樣可靠和下級(jí)芯片之間正確地交換數(shù)據(jù),需要約束外部時(shí)鐘和數(shù)據(jù)輸入輸出引腳之間的時(shí)序關(guān)系(或者內(nèi)部時(shí)鐘和外部輸入/輸出數(shù)據(jù)之間的關(guān)系,這僅僅是從采用了不同的參照系罷了)。約束的內(nèi)容為告訴綜合器、布線器輸入數(shù)據(jù)到達(dá)的時(shí)刻,或者輸出數(shù)據(jù)穩(wěn)定的時(shí)刻,從而保證與下一級(jí)電路的時(shí)序關(guān)系。這種時(shí)序約束在Xilinx中用Setup to Clock(edge),Clock(edge) to hold等表示。

Altera里常用tsu (Input Setup Times)、th (Input Hold Times)、tco (Clock to Out Delays)來表示。很多其它時(shí)序工具直接用setup和hold表示。其實(shí)他們所要描述的是同一個(gè)問題,僅僅是時(shí)間節(jié)點(diǎn)的定義上略有不同。下面依次介紹。

E 關(guān)于輸入到達(dá)時(shí)間

定義的含義是輸入數(shù)據(jù)在有效時(shí)鐘沿之后的TARRIVAL時(shí)刻到達(dá)。則,

TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式1根據(jù)上面介紹的周期(Period)公式,我們可以得到:Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk; 公式2

將公式1代入公式2:Tarrival+Tinput+Tsetup-Tclk_skew=Tclk, 而Tclk_skew滿足時(shí)序關(guān)系后為負(fù),所以TARRIVAL +TINPUT+TSETUP這就是Tarrival應(yīng)該滿足的時(shí)序關(guān)系。其中TINPUT為輸入端的組合邏輯、網(wǎng)線和PAD的延遲之和,TSETUP為輸入同步元件的建立時(shí)間。

F 數(shù)據(jù)延時(shí)和數(shù)據(jù)到達(dá)時(shí)間的關(guān)系

TDELAY為要求的芯片內(nèi)部輸入延遲,其最大值TDELAY_MAX與輸入數(shù)據(jù)到達(dá)時(shí)間TARRIVAL的關(guān)系如上圖所示。也就是說:TDELAY_MAX+TARRIVAL=TPERIOD 公式4

所以:TDELAY

G 要求輸出的穩(wěn)定時(shí)間

從下一級(jí)輸入端的延遲可以計(jì)算出當(dāng)前設(shè)計(jì)輸出的數(shù)據(jù)必須在何時(shí)穩(wěn)定下來,根據(jù)這個(gè)數(shù)據(jù)對(duì)設(shè)計(jì)輸出端的邏輯布線進(jìn)行約束,以滿足下一級(jí)的建立時(shí)間要求,保證下一級(jí)采樣的數(shù)據(jù)是穩(wěn)定的。計(jì)算要求的輸出穩(wěn)定時(shí)間

公式的推導(dǎo)如下:定義: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

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

H 實(shí)施時(shí)序約束的方法和命令

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

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

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

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

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

NET DATA_IN OFFET=IN TDELAY BEFORE CLK其中TDELAY為要求的芯片內(nèi)部輸入延遲,其最大值與輸入數(shù)據(jù)到達(dá)時(shí)間TARRIVAL的關(guān)系:TDELAY_MAX + TARRIVAL = TPERIOD,所以TDELAY 《 TPERIOD - TARRIVAL = 20 - 14 =6 ns。

輸出偏移約束:設(shè)時(shí)鐘周期為20ns,后級(jí)輸入邏輯延時(shí)TINPUT為4ns、建立時(shí)間TSETUP為1ns,中間邏輯TLOGIC的延時(shí)為10ns,那么TSTABLE=15ns,于是可以在數(shù)據(jù)輸入引腳附加NET DATA_OUT OFFET=OUT 15ns BEFORE CLK約束,也可以直接對(duì)芯片內(nèi)部的輸出邏輯直接進(jìn)行約束,NET DATA_OUT OFFET=OUT TOUTPUT_DELAY AFTER CLK,其中TOUTPUT_DELAY為要求的芯片內(nèi)部輸出延遲,其最大值與要求的輸出數(shù)據(jù)穩(wěn)定時(shí)間TSTABLE的關(guān)系為:TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。TOUT_DELAY《 TPERIOD - TSTABLE = 20 - 15 = 5ns

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

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

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

B 附加約束的基本作用

提高設(shè)計(jì)的工作頻率

對(duì)很多數(shù)字電路設(shè)計(jì)來說,提高工作頻率非常重要,因?yàn)楦吖ぷ黝l率意味著高處理能力。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時(shí),從而提高工作頻率。獲得正確的時(shí)序分析報(bào)告

幾乎所有的FPGA設(shè)計(jì)平臺(tái)都包含靜態(tài)時(shí)序分析工具,利用這類工具可以獲得映射或布局布線后的時(shí)序分析報(bào)告,從而對(duì)設(shè)計(jì)的性能做出評(píng)估。靜態(tài)時(shí)序分析工具以約束作為判斷時(shí)序是否滿足設(shè)計(jì)要求的標(biāo)準(zhǔn),因此要求設(shè)計(jì)者正確輸入約束,以便靜態(tài)時(shí)序分析工具輸出正確的時(shí)序分析報(bào)告。

指定FPGA/CPLD引腳位置與電氣標(biāo)準(zhǔn)

FPGA/CPLD的可編程特性使電路板設(shè)計(jì)加工和FPGA/CPLD設(shè)計(jì)可以同時(shí)進(jìn)行,而不必等FPGA/CPLD引腳位置完全確定,從而節(jié)省了系統(tǒng)開發(fā)時(shí)間。這樣,電路板加工完成后,設(shè)計(jì)者要根據(jù)電路板的走線對(duì)FPGA/CPLD加上引腳位置約束,使FPGA/CPLD與電路板正確連接。另外通過約束還可以指定IO引腳所支持的接口標(biāo)準(zhǔn)和其他電氣特性。為了滿足日新月異的通信發(fā)展,Xilinx新型FPGA/CPLD可以通過IO引腳約束設(shè)置支持諸如AGP、BLVDS、CTT、

GTL、GTLP、HSTL、LDT、LVCMOS、LVDCI、LVDS、LVPECL、LVDSEXT、LVTTL、PCI、PCIX、SSTL、ULVDS等豐富的IO接口標(biāo)準(zhǔn)。另外通過區(qū)域約束還能在FPGA上規(guī)劃各個(gè)模塊的實(shí)現(xiàn)區(qū)域,通過物理布局布線約束,完成模塊化設(shè)計(jì)等。

C 周期(PERIOD)的含義

周期的含義是時(shí)序中最簡單也是最重要的含義,其它很多時(shí)序概念會(huì)因?yàn)檐浖滩煌杂胁町?,而周期的概念確是最通用的,周期的概念是FPGA/ASIC時(shí)序定義的基礎(chǔ)概念。后面要講到的其它時(shí)序約束都是建立在周期約束的基礎(chǔ)上的,很多其它時(shí)序公式,可以用周期公式推導(dǎo)。周期約束是一個(gè)基本時(shí)序和綜合約束,它附加在時(shí)鐘網(wǎng)線上,時(shí)序分析工具根據(jù)PERIOD約束檢查時(shí)鐘域內(nèi)所有同步元件的時(shí)序是否滿足要求。PERIOD約束會(huì)自動(dòng)處理寄存器時(shí)鐘端的反相問題,如果相鄰?fù)皆r(shí)鐘相位相反,那么它們之間的延遲將被默認(rèn)限制為PERIOD約束值的一半。如下圖所示,

時(shí)鐘的最小周期為:TCLK = TCKO +TLOGIC +TNET +TSETUP -TCLK_SKEWTCLK_SKEW =TCD2 -TCD1其中TCKO為時(shí)鐘輸出時(shí)間,TLOGIC為同步元件之間的組合邏輯延遲,TNET為網(wǎng)線延遲,TSETUP為同步元件的建立時(shí)間,TCLK_SKEW為時(shí)鐘信號(hào)TCD2和TCD1延遲的差別。

D 數(shù)據(jù)和時(shí)鐘之間的約束

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

這種時(shí)序約束在Xilinx中用Setup to Clock(edge),Clock(edge) to hold等表示。在Altera里常用tsu (Input Setup Times)、th (Input Hold Times)、tco (Clock to Out Delays)來表示。很多其它時(shí)序工具直接用setup和hold表示。其實(shí)他們所要描述的是同一個(gè)問題,僅僅是時(shí)間節(jié)點(diǎn)的定義上略有不同。下面依次介紹。 E 關(guān)于輸入到達(dá)時(shí)間 Xilinx的“輸入到達(dá)時(shí)間的計(jì)算”時(shí)序

定義的含義是輸入數(shù)據(jù)在有效時(shí)鐘沿之后的TARRIVAL時(shí)刻到達(dá)。則,TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式1根據(jù)上面介紹的周期(Period)公式,我們可以得到:Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk; 公式2

將公式1代入公式2:Tarrival+Tinput+Tsetup-Tclk_skew=Tclk, 而Tclk_skew滿足時(shí)序關(guān)系后為負(fù),所以

TARRIVAL +TINPUT+TSETUP這就是Tarrival應(yīng)該滿足的時(shí)序關(guān)系。其中TINPUT為輸入端的組合邏輯、網(wǎng)線和PAD的延遲之和,TSETUP為輸入同步元件的建立時(shí)間。F 數(shù)據(jù)延時(shí)和數(shù)據(jù)到達(dá)時(shí)間的關(guān)系

TDELAY為要求的芯片內(nèi)部輸入延遲,其最大值TDELAY_MAX與輸入數(shù)據(jù)到達(dá)時(shí)間TARRIVAL的關(guān)系如上圖所示。也就是說:TDELAY_MAX+TARRIVAL=TPERIOD 公式4所以:TDELAY G 要求輸出的穩(wěn)定時(shí)間

從下一級(jí)輸入端的延遲可以計(jì)算出當(dāng)前設(shè)計(jì)輸出的數(shù)據(jù)必須在何時(shí)穩(wěn)定下來,根據(jù)這個(gè)數(shù)據(jù)對(duì)設(shè)計(jì)輸出端的邏輯布線進(jìn)行約束,以滿足下一級(jí)的建立時(shí)間要求,保證下一級(jí)采樣的數(shù)據(jù)是穩(wěn)定的。

公式的推導(dǎo)如下:定義: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這個(gè)公式就是TSTABLE必須要滿足的基本時(shí)序關(guān)系,即本級(jí)的輸出應(yīng)該保持怎么樣的穩(wěn)定狀態(tài),才能保證下級(jí)芯片的采樣穩(wěn)定。有時(shí)我們也稱這個(gè)約束關(guān)系是輸出數(shù)據(jù)的保持時(shí)間的時(shí)序約束關(guān)系。只要滿足上述關(guān)系,當(dāng)前芯片輸出端的數(shù)據(jù)比時(shí)鐘上升沿提早TSTABLE 時(shí)間穩(wěn)定下來,下一級(jí)就可以正確地采樣數(shù)據(jù)。其中TOUTPUT為設(shè)計(jì)中連接同步元件輸出端的組合邏輯、網(wǎng)線和PAD的延遲之和,TCKO為同步元件時(shí)鐘輸出時(shí)間。

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

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

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

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

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

NET DATA_IN OFFET=IN TDELAY BEFORE CLK其中TDELAY為要求的芯片內(nèi)部輸入延遲,其最大值與輸入數(shù)據(jù)到達(dá)時(shí)間TARRIVAL的關(guān)系:TDELAY_MAX + TARRIVAL = TPERIOD,所以TDELAY 《 TPERIOD - TARRIVAL = 20 - 14 =6 ns。

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

TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。TOUT_DELAY《 TPERIOD - TSTABLE = 20 - 15 = 5ns I Altera對(duì)應(yīng)的時(shí)序概念

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

Clock Period = Clk-to-out + Data Delay + Setup Time - Clk Skew即,Tclk= Tco+ B + Tsu-(E-C) Fmax =1/Tclk對(duì)比一下前面的介紹,只要理解了B 包含了兩級(jí)寄存器之間的所有 logic 和 net 的延時(shí)就會(huì)發(fā)現(xiàn)與前面公式完全一致。 J Altera的其他基本時(shí)序概念 Clock Setup Time (tsu) 要想正確采樣數(shù)據(jù),就必須使數(shù)據(jù)和使能信號(hào)在有效時(shí)鐘沿到達(dá)前就準(zhǔn)備好,所謂時(shí)鐘建立時(shí)間就是指時(shí)鐘到達(dá)前,數(shù)據(jù)和使能已經(jīng)準(zhǔn)備好的最小時(shí)間間隔

(注:這里定義Setup時(shí)間是站在同步時(shí)序整個(gè)路徑上的,需要區(qū)別的是另一個(gè)概念Micro tsu。Micro tsu指的是一個(gè)觸發(fā)器內(nèi)部的建立時(shí)間,它是觸發(fā)器的固有屬性,一般典型值小于1~2ns。在Xilinx等的時(shí)序概念中,稱Altera的Micro tsu為setup時(shí)間,用Tsetup表示,請(qǐng)大家區(qū)分一下?;氐紸ltera的時(shí)序概念,Altera的tsu定義如下:tsu = Data Delay – Clock Delay + Micro tsu)Clock Hold Time (tH) 時(shí)鐘保持時(shí)間是只能保證有效時(shí)鐘沿正確采用的數(shù)據(jù)和使能信號(hào)的最小穩(wěn)定時(shí)間。其定義如下圖所示:

定義的公式為:tH= Clock Delay – Data Delay + Micro tH注:其中Micro tH是指寄存器內(nèi)部的固有保持時(shí)間,同樣是寄存器的一個(gè)固有參數(shù),典型值小于1~2ns。Clock-to-Output Delay(tco) 這個(gè)時(shí)間指的是當(dāng)時(shí)鐘有效沿變化后,將數(shù)據(jù)推倒同步時(shí)序路徑的輸出端的最小時(shí)間間隔。如下圖所示:

tco = Clock Delay + Micro tco + Data Delay(注:其中 Micor tco也是一個(gè)寄存器的固有屬性,指的是寄存器相應(yīng)時(shí)鐘有效沿,將數(shù)據(jù)送到輸出端口的內(nèi)部時(shí)間參數(shù)。它與Xilinx的時(shí)序定義中,有一個(gè)概念叫Tcko是同一個(gè)概念。)Pin to Pin Delay (tpd) tpd指輸入管腳通過純組合邏輯到達(dá)輸出管腳這段路徑的延時(shí),特別需要說明的是,要求輸入到輸出之間只有組合邏輯,才是tpd延時(shí)。Slack是表示設(shè)計(jì)是否滿足時(shí)序的一個(gè)稱謂,正的slack表示滿足時(shí)序(時(shí)序的余量),負(fù)的slack表示不滿足時(shí)序(時(shí)序的欠缺量)。slack的定義和圖形如下圖所示。

Slack = Required clock period – Actual clock periodSlack = Slack clock period – (Micro tCO+ Data Delay + Micro tSU)Clock Skew指一個(gè)同源時(shí)鐘到達(dá)兩個(gè)不同的寄存器時(shí)鐘端的時(shí)間偏移,如下圖所示。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1664

    文章

    22509

    瀏覽量

    639554
  • 時(shí)序設(shè)計(jì)

    關(guān)注

    0

    文章

    22

    瀏覽量

    44143

原文標(biāo)題:FPGA約束、時(shí)序分析的概念介紹

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    2026深入拆解:Gemini 3.0 鏡像官網(wǎng)如何理解 FPGA 時(shí)序約束并自動(dòng)生成 SDC 文件

    讓 AI 直接根據(jù)一句“這個(gè) 200MHz 時(shí)鐘需要 5% 的抖動(dòng)約束,跨時(shí)鐘域路徑設(shè)為 false_path”自動(dòng)吐出符合 Synopsys Design Constraints 格式的 SDC
    的頭像 發(fā)表于 05-04 12:29 ?1305次閱讀
    2026深入拆解:Gemini 3.0 鏡像官網(wǎng)如何理解 <b class='flag-5'>FPGA</b> <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>并自動(dòng)生成 SDC 文件

    工程師高培解讀XilinxVivadoFPGA設(shè)計(jì)進(jìn)階與AI自動(dòng)編程

    FPGA開發(fā)中,Vivado是貫穿設(shè)計(jì)全流程的核心工具。許多工程師在掌握基本操作后,仍會(huì)在時(shí)序收斂、綜合策略、IP復(fù)用等方面遇到瓶頸?,F(xiàn)根據(jù)中際賽威工程師培訓(xùn)老師對(duì)Vivado設(shè)計(jì)技術(shù)與AI自動(dòng)
    的頭像 發(fā)表于 04-22 16:29 ?210次閱讀
    工程師高培解讀XilinxVivado<b class='flag-5'>FPGA</b>設(shè)計(jì)進(jìn)階與AI自動(dòng)編程

    FPGA時(shí)序收斂的痛點(diǎn)與解決之道——從一次高速接口調(diào)試談起

    的高速DDR接口調(diào)試,讓我深刻體會(huì)到,時(shí)序問題遠(yuǎn)不止“跑慢一點(diǎn)”那么簡單,它涉及器件結(jié)構(gòu)、時(shí)鐘特性、約束策略和工具理解的方方面面。 一、問題的浮現(xiàn):看似正確的設(shè)計(jì)為何時(shí)序違例? 某項(xiàng)目
    的頭像 發(fā)表于 03-11 11:43 ?352次閱讀

    Vivado時(shí)序約束中invert參數(shù)的作用和應(yīng)用場景

    在Vivado的時(shí)序約束中,-invert是用于控制信號(hào)極性的特殊參數(shù),應(yīng)用于時(shí)鐘約束(Clock Constraints)和延遲約束(Delay Constraints)中,用于指定
    的頭像 發(fā)表于 02-09 13:49 ?454次閱讀
    Vivado<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>中invert參數(shù)的作用和應(yīng)用場景

    vivado中常用時(shí)序約束指令介紹

    在vivado中,我們常用的時(shí)序約束指令主要包括如下幾個(gè)方面。
    的頭像 發(fā)表于 01-20 16:15 ?667次閱讀

    輸入引腳時(shí)鐘約束_Xilinx FPGA編程技巧-常用時(shí)序約束詳解

    基本的約束方法 為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑以及異常路徑為: 輸入路徑(Input Path),使用輸入約束 寄存器到寄存器路徑
    發(fā)表于 01-16 08:19

    鎖存器中的時(shí)間借用概念與靜態(tài)時(shí)序分析

    對(duì)于基于鎖存器的設(shè)計(jì),靜態(tài)時(shí)序分析會(huì)應(yīng)用一個(gè)稱為時(shí)間借用的概念。本篇博文解釋了時(shí)間借用的概念,若您的設(shè)計(jì)中包含鎖存器且時(shí)序報(bào)告中存在時(shí)間借用,即可適用此
    的頭像 發(fā)表于 12-31 15:25 ?5670次閱讀
    鎖存器中的時(shí)間借用<b class='flag-5'>概念</b>與靜態(tài)<b class='flag-5'>時(shí)序</b>分析

    數(shù)字IC/FPGA設(shè)計(jì)中的時(shí)序優(yōu)化方法

    在數(shù)字IC/FPGA設(shè)計(jì)的過程中,對(duì)PPA的優(yōu)化是無處不在的,也是芯片設(shè)計(jì)工程師的使命所在。此節(jié)主要將介紹performance性能的優(yōu)化,如何對(duì)時(shí)序路徑進(jìn)行優(yōu)化,提高工作時(shí)鐘頻率。
    的頭像 發(fā)表于 12-09 10:33 ?3582次閱讀
    數(shù)字IC/<b class='flag-5'>FPGA</b>設(shè)計(jì)中的<b class='flag-5'>時(shí)序</b>優(yōu)化方法

    移植E203到Genesys2開發(fā)板時(shí)遇到時(shí)序問題的常見原因

    -clk_out2 to clk_out1的setup違例,看block design發(fā)現(xiàn)違例太大和時(shí)序約束無關(guān),其實(shí)是axi_interconnect一側(cè)的端口時(shí)鐘需要保持一致。這里e203核時(shí)鐘16M,而
    發(fā)表于 10-29 07:04

    基于FPGA的高效除法器設(shè)計(jì)

    FPGA可以通過除號(hào)直接實(shí)現(xiàn)除法,但是當(dāng)除數(shù)或被除數(shù)位寬較大時(shí),計(jì)算會(huì)變得緩慢,導(dǎo)致時(shí)序約束不能通過。此時(shí)可以通過在除法IP中加入流水線來提高最大時(shí)鐘頻率,這種方式提高時(shí)鐘頻率也很有限。如果還不能達(dá)到要求,就只能把除法器拆分,來
    的頭像 發(fā)表于 10-28 14:56 ?2513次閱讀
    基于<b class='flag-5'>FPGA</b>的高效除法器設(shè)計(jì)

    時(shí)序約束問題的解決辦法

    Time 是否滿足約束。 我們要留意的是 WNS 和 WHS 兩個(gè)數(shù)值,如果這兩個(gè)數(shù)值為紅色,就說明時(shí)序不滿足約束。下面將解釋怎么解決這個(gè)問題。 1. Setup Time 違例 Setup
    發(fā)表于 10-24 09:55

    關(guān)于綜合保持時(shí)間約束不滿足的問題

    1、將 nuclei-config.xdc 和 nuclei-master.xdc 加入到項(xiàng)目工程中,綜合得到時(shí)序約束報(bào)告如下: 保持時(shí)間約束不滿足,分析原因,發(fā)現(xiàn)所有不滿足均出現(xiàn)在
    發(fā)表于 10-24 07:42

    技術(shù)資訊 I Allegro 設(shè)計(jì)中的走線約束設(shè)計(jì)

    本文要點(diǎn)在進(jìn)行時(shí)序等長布線操作的時(shí)候,在布線操作的時(shí)候不管你是走蛇形線還是走折線,約束管理器會(huì)自動(dòng)幫你計(jì)算長度、標(biāo)偏差,通過精確控制走線長度,來實(shí)現(xiàn)信號(hào)的時(shí)序匹配。約束設(shè)計(jì)就是一套精準(zhǔn)
    的頭像 發(fā)表于 09-05 15:19 ?1576次閱讀
    技術(shù)資訊 I Allegro 設(shè)計(jì)中的走線<b class='flag-5'>約束</b>設(shè)計(jì)

    Altera FPGA與高速ADS4249和DAC3482的LVDS接口設(shè)計(jì)

    引言: 本文以TI的ADS4249(ADC)和DAC3482(DAC)之間的接口為例,介紹Altera FPGA與ADC/DAC之間的DDR LVDS接口設(shè)計(jì)以及時(shí)序約束詳細(xì)設(shè)計(jì)。本文介紹的實(shí)例可方便擴(kuò)展到具有類似接口格式的其他
    的頭像 發(fā)表于 06-19 10:05 ?3446次閱讀
    Altera <b class='flag-5'>FPGA</b>與高速ADS4249和DAC3482的LVDS接口設(shè)計(jì)

    西門子再收購EDA公司 西門子宣布收購Excellicon公司 時(shí)序約束工具開發(fā)商

    精彩看點(diǎn) 此次收購將幫助系統(tǒng)級(jí)芯片 (SoC) 設(shè)計(jì)人員通過經(jīng)市場檢驗(yàn)的時(shí)序約束管理能力來加速設(shè)計(jì),并提高功能約束和結(jié)構(gòu)約束的正確性 ? 西門子宣布 收購 Excellicon 公司
    的頭像 發(fā)表于 05-20 19:04 ?1866次閱讀
    西門子再收購EDA公司  西門子宣布收購Excellicon公司  <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>工具開發(fā)商
    贵阳市| 奉新县| 六安市| 凤台县| 黑水县| 新河县| 弋阳县| 临武县| 秀山| 称多县| 汉源县| 喀喇| 安康市| 泸西县| 仙居县| 小金县| 遂昌县| 北流市| 沛县| 赞皇县| 巴南区| 卢湾区| 固原市| 陈巴尔虎旗| 通化市| 蒲江县| 甘肃省| 屏东市| 颍上县| 泰安市| 桃园市| 沙田区| 乐东| 溧阳市| 宝山区| 轮台县| 黔西县| 天台县| 柞水县| 遂昌县| 石屏县|