在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Xilinx FPGA時(shí)序約束設(shè)計(jì)和分析

FPGA之家 ? 來源:FPGA之家 ? 2023-04-27 10:08 ? 次閱讀

在進(jìn)行FPGA的設(shè)計(jì)時(shí),經(jīng)常會(huì)需要在綜合、實(shí)現(xiàn)的階段添加約束,以便能夠控制綜合、實(shí)現(xiàn)過程,使設(shè)計(jì)滿足我們需要的運(yùn)行速度、引腳位置等要求。通常的做法是設(shè)計(jì)編寫約束文件并導(dǎo)入到綜合實(shí)現(xiàn)工具,在進(jìn)行FPGA/CPLD的綜合、實(shí)現(xiàn)過程中指導(dǎo)邏輯的映射和布局布線。下面主要總結(jié)一下Xilinx FPGA時(shí)序約束設(shè)計(jì)和分析。

一、周期約束

周期約束是Xilinx FPGA 時(shí)序約束中最常見的約束方式。它附加在時(shí)鐘網(wǎng)線上,時(shí)序分析工具會(huì)根據(jù)周期約束來檢查時(shí)鐘域內(nèi)所有同步元件的時(shí)序是否滿足需求。周期約束會(huì)自動(dòng)的寄存器時(shí)鐘端的反相。如果相鄰的兩個(gè)元件的時(shí)鐘相位是相反的,那么它們之間的延遲將被默認(rèn)的限制成周期約束的一半。

在進(jìn)行周期約束之前,必須對(duì)電路的時(shí)鐘周期明了,這樣才不會(huì)出現(xiàn)約束過松或者過緊的現(xiàn)象。一般情況下,設(shè)計(jì)電路所能達(dá)到的最高運(yùn)行頻率取決于同步元件本身的Setup Time 和 Hold Time,以及同步元件之間的邏輯和布線延遲。周期約束一般是使用下面的約束方法:

1、period_item PERIOD=period {HIGH|LOW} [high_or low_item]

其中,period_item可以是NET或TIMEGRP,分別代表時(shí)鐘線名稱net name或元件分組名稱group-name。用NET表示PERIOD約束作用到名為“net name”的時(shí)鐘網(wǎng)線所驅(qū)動(dòng)的同步元件上,用TIMEGRP表示PERIOD約束作用到TIMEGRP所定義的分組(包括FFS、LATCH和 RAM等同步元件)上。period是目標(biāo)時(shí)鐘周期,單位可以是ps、ns、μS和ms等。HIGH|LOW指出時(shí)鐘周期中的第1個(gè)脈沖是高電平還是低電平,high or low time為HIGH LOW指定的脈沖的持續(xù)時(shí)間,默認(rèn)單位是ns。如果沒有該參數(shù),時(shí)鐘占空比 是50%。例如, NET SYS_CLK PERIOD=10 ns HIGH 4ns

2、NET“clock net name”TNM_NET=“timing group name”;

TIMESPEC“TSidentifier”=PERIOD “TNM reference”period {HIGH | LOW} [high or low item]INPUT_JITTER value;

很多時(shí)候?yàn)榱四軌蚨x比較復(fù)雜的派生關(guān)系的時(shí)鐘周期,就要使用該方法。其中TIMESPEC在時(shí)序約束中作為一個(gè)標(biāo)識(shí)符表示本約束為時(shí)序規(guī)范;TSidentifier包括字母TS和一個(gè)標(biāo)識(shí)符identifier共同作為一個(gè)TS屬性;TNM reference指定了時(shí)序約束是附加在哪一個(gè)組上,一般情況下加在TNM_NET定義的分組上。HIGH | LOW 指的是時(shí)鐘的初始相位表明第一個(gè)時(shí)鐘是上升沿還是下降沿;high or low item 表示的是時(shí)鐘占空比,即就是high或者low的時(shí)間,默認(rèn)為1:1, INPUT_JITTER 表示的是時(shí)鐘的抖動(dòng)時(shí)間,時(shí)鐘會(huì)在這個(gè)時(shí)間范圍內(nèi)抖動(dòng),默認(rèn)單元為ps。比如周期約束:

NET "ex_clk200m_p" TNM_NET = TNM_clk200_p;

TIMESPEC "TS_clk200_p" = PERIOD "TNM_clk200_p" 5.000 ns HIGH 50 %;

建立一個(gè)TNM_clk200_p的時(shí)序分組,包括時(shí)鐘網(wǎng)絡(luò)ex_clk200m_p驅(qū)動(dòng)的所有同步元件,這些同步元件都將受到時(shí)序規(guī)范TS_clk200_p的約束。同步元件到同步元件有5ns的時(shí)間要求。占空比為1:1.

二、偏移約束

偏移約束包括OFFSET_IN_BEFORE、OFFSET_IN_AFTER、OFFSET_OUT_BEFORE和OFFSET_OUT_AFTER等4種約束。屬于基本的時(shí)序約束,它規(guī)定了外部時(shí)鐘和數(shù)據(jù)輸入輸出引腳之間的時(shí)序關(guān)系,只能用于與引腳相連接。其基本的語法為:

OFFSET = {IN | OUT} “offset_time” [units] {BEFORE | AFTER} “clk_name” [TIMEGRP “group_name”];

其中,[IN | OUT] 說明約束是輸入還是輸出,”offset_time”為FPGA引腳數(shù)據(jù)變化與有效時(shí)鐘之間的時(shí)間差,[BEFORE | AFTER]說明該時(shí)間差在有效時(shí)鐘沿的前面還是后面,”clk_name”時(shí)鐘名,[TIMEGRP “group_name”]定義約束的觸發(fā)器組,缺省時(shí)約束clk_name驅(qū)動(dòng)的所有觸發(fā)器。

1、OFFSET_IN_BEFORE、OFFSET_IN_AFTER約束

OFFSET_IN_BEFORE和OFFSET_IN_AFTER都是輸入偏移約束。OFFSET_IN_BEFORE說明了輸入數(shù)據(jù)比有效時(shí)鐘沿提前多長時(shí)間準(zhǔn)備好。于是芯片內(nèi)部與輸入引腳相連的,組合邏輯的延遲不能大于這個(gè)時(shí)間,否則會(huì)發(fā)生數(shù)據(jù)采樣錯(cuò)誤。OFFSET_IN_AFTER是輸入數(shù)據(jù)在有效時(shí)間沿之后多久到達(dá)芯片的輸入引腳。

OFFSET_IN_BEFORE對(duì)芯片內(nèi)部的輸入邏輯的約束,約束如下:

NET data_in OFFSET = IN Time BEFORE CLK;

2、OFFSET_OUT_AFTER、OFFSET_OUT_BEFORE約束

這兩個(gè)都是輸出約束,OFFSET_OUT _AFTER規(guī)定了輸出數(shù)據(jù)在有效沿之后多久穩(wěn)定下來,芯片內(nèi)部的輸出延遲必須小于這個(gè)數(shù)值。OFFSET_OUT_BEFORE是指下一級(jí)芯片的輸入數(shù)據(jù)應(yīng)該在有效時(shí)鐘沿之前多久準(zhǔn)備好。從下一級(jí)的輸入端的延遲可以計(jì)算出當(dāng)前設(shè)計(jì)輸出的數(shù)據(jù)必須在何時(shí)穩(wěn)定下來。其基本的語法規(guī)則為:“NET data_out” OFFSET=OUT

Time AFTER CLK“;

三、專門約束

附加約束的一般策略是首先附加整天約束,比如PERIOD、OFFSET等約束,然后對(duì)局部的電路進(jìn)行約束。專門約束包括以下幾個(gè):

1、FROM_TO約束

FROM_TO在兩個(gè)組之間定義的約束,對(duì)二者之間的邏輯和布線延遲進(jìn)行控制,這兩個(gè)組可以是用戶自定義的,也可以預(yù)定義的,可以使用TNM_NET、TNM和TIMEGRP定義組。其語法如下:

TIMESPEC “TSname“ = FROM ”group1“ TO ”group2“ value ;

其中g(shù)roup1和group2分別是路徑的起點(diǎn)和終點(diǎn),value為延遲時(shí)間,可以是具體的數(shù)值或者表達(dá)式。比如:TIMESPEC TS_CLK = PERIOD CLK 30ns; TIMESPEC T1_T3 = FROM T1 TO T3 60ns;

2、MAXDELAY約束

MAXDELAY約束定義了特定的網(wǎng)絡(luò)線的最大延遲,其語法如:

NET “net_name“ MAXDELAY = value units ;value 為延遲時(shí)間。

3、MAXSKEW約束

MAXSKEW是高級(jí)時(shí)序約束,通過MAXSKEW約束附加在某一網(wǎng)線上,可以約束該網(wǎng)線上的最大SKEW。MAXSKEW語法如下:

NET “net_name“ MAXSKEW = allowable_skew units;

比如,NET “Singal“ MAXSKEW = 3ns;

四、分組約束

在FPGA設(shè)計(jì)當(dāng)中,往往包含大量的觸發(fā)器、寄存器和RAM等元件,為了方便附加約束需要把他們分成不同的組,然后根據(jù)需要對(duì)某些組分別約束。

1、TNM約束。

使用TNM約束可以選出一個(gè)構(gòu)成分組的元件,并且賦予一個(gè)名字,以便添加約束。如:{NET | INST | PIN} “object_name“ TNM= “identifier“;

其中object_name為NET、INST或PIN的名稱,identifier為分組名稱。

2、TNM_NEY約束

TNM_NET約束只加在網(wǎng)線上,其作用與TNM約束加在網(wǎng)線時(shí)基本相同,即把該網(wǎng)線所在路徑上的所有有效同步元件作為一組命名。不同之處在于TNM是加在引腳上的,而不是該網(wǎng)線所在路徑上的同步元件,也就是說TNM約束不能穿過IBUF,用TNM_NET約束就不出現(xiàn)這種情況。

NET “net_name“ TNM_NET = [predefined_group:] identifier;

TNM_NET只能用在網(wǎng)線上,否則會(huì)出現(xiàn)警告,或者同時(shí)該約束被忽略。

2、TIMEGRP約束

可以通過TIMEGRP約束使已有的分組約束構(gòu)成新的分組,已經(jīng)有的預(yù)定義和用TNM/TIMEGRP定義。使用TIMEGRP約束可以使多個(gè)分組合并組成一個(gè)新分組。

TIMEGRP “big_group1“ = ”small_group“ ”medium_group“

將”small_group“ ”medium_group“合并一個(gè)新分組big_group1。

五、簡(jiǎn)單的避免時(shí)序違規(guī)和補(bǔ)救的方法

PERIOD 約束定義的是觸發(fā)器等同步元件的時(shí)鐘周期。可使用時(shí)序分析器來驗(yàn)證同步元件之間的所有路徑是否滿足設(shè)計(jì)的建立和保持時(shí)序要求。PERIOD 約束違例將以負(fù)的時(shí)序裕量顯示在在時(shí)序報(bào)告,并說明到底是建立時(shí)間還是保持時(shí)間要求出現(xiàn)違例。應(yīng)找出兩個(gè)所分析的同步元件間一條較快路徑,如果是多周期路徑,應(yīng)該采樣多周期約束,或至少是某種方法來確保數(shù)據(jù)在合適時(shí)間內(nèi)到達(dá)并保持足夠長的時(shí)間,以便時(shí)鐘脈沖邊沿能夠正確采樣。若布局布線軟件無法找到更快的路徑,則可從 FPGA Editor 工具中手動(dòng)進(jìn)行布線。不過一般不推薦使用手工布局布線。首先應(yīng)該試試重構(gòu)電路來滿足時(shí)序要求。比如用寄存器打一拍,有點(diǎn)邏輯復(fù)制的意思,這樣可以增加了信號(hào)的延遲,但是卻可以使電路正確的采樣數(shù)據(jù)。

若外部信號(hào)值在時(shí)鐘脈沖邊沿之前發(fā)生變化,則需使用 DCM 或 PLL 延遲時(shí)鐘脈沖邊沿,這樣數(shù)據(jù)才能由新的延遲時(shí)鐘正確采樣。有一種替代方法,就是在輸入/ 輸出模塊中使用 IDELAY 元件,將數(shù)據(jù)移到時(shí)鐘有效的位置上。

一般情況下,提高電路的運(yùn)行速度可以盡量減少時(shí)序違規(guī)的問題。具體總結(jié)如下:

1、通過設(shè)置Xilinx ISE軟件在“Implement Design“點(diǎn)擊右鍵,選擇”屬性“選擇”“Optimization Strategy”欄中選擇”speed“以及點(diǎn)擊右鍵選擇”Design Goals and Strategies“選擇”Timing performance“。

2、盡量使用Xilinx公司提高的專用資源,F(xiàn)PGA廠商都提高了一些專用的,比如進(jìn)位鏈MUX、SRL等。

3、重新分配關(guān)鍵路徑

(1) 關(guān)鍵路徑在同一Module,這樣綜合時(shí)可以獲得最佳的時(shí)序效果。

(2) 對(duì)關(guān)鍵路徑近LOC約束,如果發(fā)現(xiàn)關(guān)鍵路徑相關(guān)的LUT距離太遠(yuǎn),可以使用floorplanner手工布線。

(3) 復(fù)制電路,減少關(guān)鍵路徑的扇出。當(dāng)一個(gè)信號(hào)網(wǎng)絡(luò)所帶的負(fù)載越多的時(shí)候,他的路徑也會(huì)相應(yīng)的增加,所以通過復(fù)制電路,可以有效的減少甚至消除時(shí)序違規(guī)的問題。

(4) 在關(guān)鍵路徑網(wǎng)絡(luò)上插入buffer減少扇出,提高速度,消除時(shí)序違規(guī)。

4、 進(jìn)行特殊約束,通過設(shè)置Multi_Cycle_Path意義不大,因?yàn)樗粫?huì)直接對(duì)關(guān)鍵路徑產(chǎn)生影響,這樣想法顯然不對(duì),因?yàn)樗梢詫?duì)非關(guān)鍵路徑散開的作用,給關(guān)鍵路徑節(jié)約了空間,間接的達(dá)到壓縮關(guān)鍵路徑延遲的問題,有點(diǎn)“曲線救國“的味道。

5、 通過修改代碼減少邏輯級(jí)數(shù)和分割組合邏輯。

注:一般情況下,使用比較多的都是周期約束,專門約束只是針對(duì)部分器件可能需要,一般高端FPGA是不需要這個(gè)的。

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

    關(guān)注

    1630

    文章

    21801

    瀏覽量

    606355
  • 電路
    +關(guān)注

    關(guān)注

    173

    文章

    5974

    瀏覽量

    173036
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122231
  • 布線
    +關(guān)注

    關(guān)注

    9

    文章

    778

    瀏覽量

    84459
  • 時(shí)序約束
    +關(guān)注

    關(guān)注

    1

    文章

    115

    瀏覽量

    13462

原文標(biāo)題:Xilinx FPGA的約束設(shè)計(jì)和時(shí)序分析總結(jié)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA的IO口時(shí)序約束分析

      在高速系統(tǒng)中FPGA時(shí)序約束不止包括內(nèi)部時(shí)鐘約束,還應(yīng)包括完整的IO時(shí)序約束
    發(fā)表于 09-27 09:56 ?1801次閱讀

    FPGA時(shí)序約束之衍生時(shí)鐘約束和時(shí)鐘分組約束

    FPGA設(shè)計(jì)中,時(shí)序約束對(duì)于電路性能和可靠性非常重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束
    發(fā)表于 06-12 17:29 ?2893次閱讀

    FPGA I/O口時(shí)序約束講解

    前面講解了時(shí)序約束的理論知識(shí)FPGA時(shí)序約束理論篇,本章講解時(shí)序
    發(fā)表于 08-14 18:22 ?1774次閱讀
    <b class='flag-5'>FPGA</b> I/O口<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>講解

    Xilinx_fpga_設(shè)計(jì):全局時(shí)序約束及試驗(yàn)總結(jié)

    Xilinx_fpga_設(shè)計(jì):全局時(shí)序約束及試驗(yàn)總結(jié)
    發(fā)表于 08-05 21:17

    FPGA時(shí)序分析如何添加其他約束

    你好: 現(xiàn)在我使用xilinx FPGA進(jìn)行設(shè)計(jì)。遇到問題。我不知道FPGA設(shè)計(jì)是否符合時(shí)序要求。我在設(shè)計(jì)中添加了“時(shí)鐘”時(shí)序
    發(fā)表于 03-18 13:37

    FPGA約束設(shè)計(jì)和時(shí)序分析

    FPGA/CPLD的綜合、實(shí)現(xiàn)過程中指導(dǎo)邏輯的映射和布局布線。下面主要總結(jié)一下Xilinx FPGA時(shí)序約束設(shè)計(jì)和
    發(fā)表于 09-21 07:45

    時(shí)序約束時(shí)序分析 ppt教程

    時(shí)序約束時(shí)序分析 ppt教程 本章概要:時(shí)序約束時(shí)序
    發(fā)表于 05-17 16:08 ?0次下載

    FPGA時(shí)序約束方法

    FPGA時(shí)序約束方法很好地資料,兩大主流的時(shí)序約束都講了!
    發(fā)表于 12-14 14:21 ?19次下載

    Xilinx時(shí)序約束設(shè)計(jì)

    Xilinx時(shí)序約束設(shè)計(jì),有需要的下來看看
    發(fā)表于 05-10 11:24 ?18次下載

    Xilinx時(shí)序約束培訓(xùn)教材

    FPGA學(xué)習(xí)資料教程之Xilinx時(shí)序約束培訓(xùn)教材
    發(fā)表于 09-01 15:27 ?0次下載

    Xilinx FPGA編程技巧常用時(shí)序約束介紹

    Xilinx FPGA編程技巧常用時(shí)序約束介紹,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 07-14 07:18 ?4652次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>編程技巧常用<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>介紹

    FPGA中的時(shí)序約束設(shè)計(jì)

    一個(gè)好的FPGA設(shè)計(jì)一定是包含兩個(gè)層面:良好的代碼風(fēng)格和合理的約束時(shí)序約束作為FPGA設(shè)計(jì)中不可或缺的一部分,已發(fā)揮著越來越重要的作用。毋
    發(fā)表于 11-17 07:54 ?2604次閱讀
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>設(shè)計(jì)

    xilinx時(shí)序分析約束

    詳細(xì)講解了xilinx時(shí)序約束實(shí)現(xiàn)方法和意義。包括:初級(jí)時(shí)鐘,衍生時(shí)鐘,異步時(shí)終域,多時(shí)終周期的講解
    發(fā)表于 01-25 09:53 ?6次下載

    正點(diǎn)原子FPGA靜態(tài)時(shí)序分析時(shí)序約束教程

    時(shí)序分析結(jié)果,并根據(jù)設(shè)計(jì)者的修復(fù)使設(shè)計(jì)完全滿足時(shí)序約束的要求。本章包括以下幾個(gè)部分: 1.1 靜態(tài)時(shí)序
    發(fā)表于 11-11 08:00 ?65次下載
    正點(diǎn)原子<b class='flag-5'>FPGA</b>靜態(tài)<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>與<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>教程

    FPGA設(shè)計(jì)之時(shí)序約束

    上一篇《FPGA時(shí)序約束分享01_約束四大步驟》一文中,介紹了時(shí)序約束的四大步驟。
    發(fā)表于 03-18 10:29 ?1706次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)之<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>
    主站蜘蛛池模板: 我想看一级黄色片 | av网站免费线看 | 五月天婷婷网亚洲综合在线 | 女张腿男人桶羞羞漫画 | 五月天婷婷网亚洲综合在线 | www.九色视频| 天天插天天摸 | 加勒比在线视频 | 色尼玛亚洲综合 | 日本二区免费一片黄2019 | 国模在线视频一区二区三区 | 四虎影院永久在线 | 男人操女人视频免费 | 天天爱天天做天天爽天天躁 | 亚洲插| 老司机亚洲精品影院在线观看 | 视频一区日韩 | 日本不卡视频一区二区三区 | 我不卡老子影院午夜伦我不卡四虎 | 一区二区三区无码高清视频 | 四虎欧美| 综合免费视频 | 欧美日a| 奇米狠狠操| 高清一区二区三区四区五区 | 酒色成人网 | 亚洲综合色就色手机在线观看 | 特一级黄色片 | 国产成人综合日韩精品婷婷九月 | 特黄日韩免费一区二区三区 | 在线你懂得 | 日本特黄特色免费大片 | 国内精品免费视频精选在线观看 | 四虎影视永久在线精品免费播放 | 手机看片国产在线 | 很黄很色的网站 | 国产高清在线精品 | 久久香蕉综合精品国产 | 免费一区二区视频 | 国产日本特黄特色大片免费视频 | 美女视频黄又黄又免费高清 |