chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

XDC時鐘約束的三種基本語法

汽車玩家 ? 來源:FPGA開源工作室 ? 作者:默宸 ? 2020-01-30 17:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

XDC介紹

XDC 是 Xilinx Design Constraints 的簡寫,但其基礎(chǔ)語法來源于業(yè)界統(tǒng)一的約束規(guī)范SDC。XDC 在本質(zhì)上就是 Tcl 語言,但其僅支持基本的 Tcl 語法如變量、列表和運算符等等,對其它復(fù)雜的循環(huán)以及文件 I/O 等語法可以通過在 Vivado 中 source 一個 Tcl 文件的方式來補(bǔ)充。

SDC、XDC跟 Vivado Tcl 的關(guān)系如下圖所示。

XDC時鐘約束的三種基本語法

XDC的基本語法可以分為時鐘約束、I/O約束以及時序例外約束三大類。根據(jù)Xilinx的UltraFast設(shè)計方法學(xué)中Baseline部分的建議(UG949中有詳細(xì)介紹),對一個設(shè)計進(jìn)行約束的先后順序也可以依照這三類約束依次進(jìn)行。本文對可以在幫助文檔中查到的基本XDC語法不做詳細(xì)解釋,會將重點放在使用方法和技巧上。

時鐘約束

時鐘約束必須最早創(chuàng)建,對7系列FPGA來說,端口進(jìn)來的主時鐘以及GT的輸出RXCLK/TX CLK都必須由用戶使用create_clock自主創(chuàng)建。而衍生時鐘則分為以下兩類:

MMCM/PLL/BUFR的輸出時鐘都可以由Vivado自動推導(dǎo),無需用戶創(chuàng)建。若用戶僅希望改變衍生鐘的名字,其余頻率等都由工具自動推導(dǎo),則只需寫明三個option,其余不寫即可:create_generated_clock [-name arg] [-source args] [-master_clock arg] 工具不能自動推導(dǎo)出衍生鐘的情況,包括使用寄存器和組合邏輯搭建的分頻器等,必須由用戶使用create_generated_cl ock來創(chuàng)建。

I/O約束

在設(shè)計的初級階段,可以不加I/O約束,讓工具專注于滿足FPGA內(nèi)部的時序要求。當(dāng)時序要求基本滿足后,再加上I/O約束跑實現(xiàn)。

XDC中的I/O約束有以下幾點需要注意:

① 不加任何I/O約束的端口時序要求被視作無窮大。

② XDC中的set_input_delay / set_output_delay對應(yīng)于UCF中OFFSET IN / OFFSET OUT,但視角相反。OFFSET IN / OFFSET OUT是從FPGA內(nèi)部延時的角度來約束端口時序,set_input_de lay / set_output_ delay則是從系統(tǒng)角度來約束。

③ 典型的I/O時序,包括系統(tǒng)同步、源同步、SDR和DDR等等,在Vivado圖形界面的XDC templates中都有示例。2014.1版后還有一個Timing Constraints Wizard可供使用。

時序例外約束

時序例外約束包括set_max_delay/set_min_delay ,set_multicycle_path,set_false_path等,這類約束除了要滿足XDC的先后順序優(yōu)先級外,還受到自身優(yōu)先級的限制。一個總的原則就是針對同一條路徑,對約束目標(biāo)描述越具體的優(yōu)先級越高。不同的時序例外約束以及同一約束中不同條件的優(yōu)先級如下所示:

XDC時鐘約束的三種基本語法

舉例來說,依次執(zhí)行如下兩條XDC,盡管第二條最后執(zhí)行,但工具仍然認(rèn)定第一條約束設(shè)定的15為clk1到clk2之間路徑的max delay值。

再比如,對圖示路徑依次進(jìn)行如下四條時序例外約束,優(yōu)勝者將是第二條。但如果再加入最后一條約束,false path的優(yōu)先級最高,會取代之前所有的時序例外約束。

XDC時鐘約束的三種基本語法

高效的時鐘約束

約束最終是為了設(shè)計服務(wù),所以要用好XDC就需要深入理解電路結(jié)構(gòu)和設(shè)計需求。接下來我們就以常見FPGA設(shè)計中的時鐘結(jié)構(gòu)來舉例,詳細(xì)闡述XDC的約束技巧。

時序的零起點

用create_clock定義的主時鐘的起點即時序的“零起點”,在這之前的上游路徑延時都被工具自動忽略。所以主時鐘創(chuàng)建在哪個“點”很重要,以下圖所示結(jié)構(gòu)來舉例,分別于FPGA輸入端口和BUFG輸出端口創(chuàng)建一個主時鐘,在時序報告中體現(xiàn)出的路徑延時完全不同,很明顯sysclk_bad的報告中缺少了之前一段的延時,時序報告不可信。

XDC時鐘約束的三種基本語法

XDC時鐘約束的三種基本語法

時鐘定義的先后順序

時鐘的定義也遵從XDC/Tcl的一般優(yōu)先級,即:在同一個點上,由用戶定義的時鐘會覆蓋工具自動推導(dǎo)的時鐘,且后定義的時鐘會覆蓋先定義的時鐘。若要二者并存,必須使用 -add 選項。

XDC時鐘約束的三種基本語法

XDC時鐘約束的三種基本語法

上述例子中BUFG的輸出端由用戶自定義了一個衍生鐘clkbufg,這個衍生鐘便會覆蓋此處原有的sysclk。此外,圖示BUFR工作在bypass模式,其輸出不會自動創(chuàng)建衍生鐘,但在BUFR的輸出端定義一個衍生鐘clkbufr,并使用-add 和 -master_clock 選項后,這一點上會存在sysclk和clkbufg兩個重疊的時鐘。如下的Tcl命令驗證了我們的推論。

XDC時鐘約束的三種基本語法

不同于UCF約束,在XDC中,所有的時鐘都會被缺省認(rèn)為是相關(guān)的,也就是說,網(wǎng)表中所有存在的時序路徑都會被Vivado分析。這也意味著FPGA設(shè)計人員必須通過約束告訴工具,哪些路徑是無需分析的,哪些時鐘域之間是異步的。

如上圖所示,兩個主時鐘ssclkin和sysclk由不同的端口進(jìn)入FPGA,再經(jīng)由不同的時鐘網(wǎng)絡(luò)傳遞,要將它們設(shè)成異步時鐘,可以使用如下約束:

XDC時鐘約束的三種基本語法

其中,-include_generated_clocks 表示所有衍生鐘自動跟其主時鐘一組,從而與其它組的時鐘之間為異步關(guān)系。不加這個選項則僅僅將時鐘關(guān)系的約束應(yīng)用在主時鐘層面。

重疊(單點多個)時鐘

重疊時鐘是指多個時鐘共享完全相同的時鐘傳輸網(wǎng)絡(luò),例如兩個時鐘經(jīng)過一個MUX選擇后輸出的時鐘,在有多種運行模式的設(shè)計中很常見。

如下圖所示,clk125和clk250是clkcore_buf的兩個輸入時鐘,不約束時鐘關(guān)系的情況下,Vivado會對圖示路徑做跨時鐘域(重疊時鐘之間)分析。這樣的時序報告即便沒有違例,也是不可信的,因為clk125和clk250不可能同時驅(qū)動這條路徑上的時序元件。這么做也會增加運行時間,并影響最終的實現(xiàn)效果。

XDC時鐘約束的三種基本語法

XDC時鐘約束的三種基本語法

如果clk125和clk250除了通過clkcore_buf后一模一樣的扇出外沒有驅(qū)動其它時序元件,我們要做的僅僅是補(bǔ)齊時鐘關(guān)系的約束。

XDC時鐘約束的三種基本語法

在很多情況下,除了共同的扇出,其中一個時鐘或兩個都還驅(qū)動其它的時序元件,此時建議的做法是在clkcore_buf的輸出端上創(chuàng)建兩個重疊的衍生鐘,并將其時鐘關(guān)系約束為-physically_exclusive 表示不可能同時通過。這樣做可以最大化約束覆蓋率,也是ISE和UCF中無法做到的。

XDC時鐘約束的三種基本語法

其它高級約束

時鐘的約束是XDC的基礎(chǔ),熟練掌握時鐘約束,也是XDC約束技巧的基礎(chǔ)。其它高級約束技巧,包括復(fù)雜的CDC(Clock Domain Crossing)約束和接口時序(SDR、DDR、系統(tǒng)同步接口和源同步接口)約束等方面還有很多值得注意的地方。

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

    關(guān)注

    19

    文章

    857

    瀏覽量

    71096
  • 時鐘約束
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    C語言中實現(xiàn)函數(shù)宏的三種方式

    在宏的第一個分號后便結(jié)束。即 a = b 和 b = tmp 均不受控制語句所作用。 因此,在工程中,一般使用三種方式來對函數(shù)宏進(jìn)行封裝,分別為 {}、do{...}while(0
    發(fā)表于 12-29 07:34

    請問CW32芯片的三種工作模式是什么?

    CW32芯片的三種工作模式是什么?
    發(fā)表于 12-26 06:48

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

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

    MEMS中的三種測溫方式

    在集成MEMS芯片的環(huán)境溫度測量領(lǐng)域,熱阻、熱電堆和PN結(jié)原理是三種主流技術(shù)。熱阻是利用熱敏電阻,如金屬鉑或注入硅的溫度電阻系數(shù)恒定,即電阻隨溫度線性變化的特性測溫,電阻變化直接對應(yīng)絕對溫度,需恒流源供電。
    的頭像 發(fā)表于 07-16 13:58 ?1647次閱讀
    MEMS中的<b class='flag-5'>三種</b>測溫方式

    開關(guān)電源三種控制模式:PWM/PFM/PSM

    摘要 本文詳細(xì)介紹了開關(guān)電源的三種主要調(diào)制方式:PWM(脈沖寬度調(diào)制)、PFM(脈沖頻率調(diào)制)和PSM(脈沖跨周期調(diào)制)。PWM通過調(diào)整脈沖寬度保持恒定頻率,適用于重負(fù)載,但輕負(fù)載效率低。PFM則在
    發(fā)表于 06-09 16:11

    介紹三種常見的MySQL高可用方案

    在生產(chǎn)環(huán)境中,為了確保數(shù)據(jù)庫系統(tǒng)的連續(xù)可用性、降低故障恢復(fù)時間以及實現(xiàn)業(yè)務(wù)的無縫切換,高可用(High Availability, HA)方案至關(guān)重要。本文將詳細(xì)介紹三種常見的 MySQL 高可用
    的頭像 發(fā)表于 05-28 17:16 ?1232次閱讀

    FPGA時序約束之設(shè)置時鐘

    Vivado中時序分析工具默認(rèn)會分析設(shè)計中所有時鐘相關(guān)的時序路徑,除非時序約束中設(shè)置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組中
    的頭像 發(fā)表于 04-23 09:50 ?1328次閱讀
    FPGA時序<b class='flag-5'>約束</b>之設(shè)置<b class='flag-5'>時鐘</b>組

    信號隔離器三種供電方式的區(qū)別

    信號隔離器是一重要的信號隔離裝置,其供電方式主要有獨立供電、回路供電和輸出回路供電三種。以下是這三種供電方式的詳細(xì)區(qū)別: 一、獨立供電 1. 定義:獨立供電是指信號隔離器需要單獨配備DC24V或
    的頭像 發(fā)表于 04-17 16:23 ?1534次閱讀
    信號隔離器<b class='flag-5'>三種</b>供電方式的區(qū)別

    雙極型極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費下載

      本文檔的主要內(nèi)容詳細(xì)介紹的是雙極型極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費下載包括了:共集電極放大電路,共基極放大電路,三種基本組態(tài)的比較   輸入信號ui 和輸出信號uo 的公共端是集電極。
    發(fā)表于 04-11 16:39 ?37次下載

    redis三種集群方案詳解

    在Redis中提供的集群方案總共有三種(一般一個redis節(jié)點不超過10G內(nèi)存)。
    的頭像 發(fā)表于 03-31 10:46 ?1524次閱讀
    redis<b class='flag-5'>三種</b>集群方案詳解

    CMOS,Bipolar,F(xiàn)ET這三種工藝的優(yōu)缺點是什么?

    在我用photodiode工具選型I/V放大電路的時候,系統(tǒng)給我推薦了AD8655用于I/V,此芯片為CMOS工藝 但是查閱資料很多都是用FET工藝的芯片,所以請教下用于光電信號放大轉(zhuǎn)換(主要考慮信噪比和帶寬)一般我們用哪種工藝的芯片, CMOS,Bipolar,F(xiàn)ET這三種工藝的優(yōu)缺點是什么?
    發(fā)表于 03-25 06:23

    一文詳解Vivado時序約束

    Vivado的時序約束是保存在xdc文件中,添加或創(chuàng)建設(shè)計的工程源文件后,需要創(chuàng)建xdc文件設(shè)置時序約束。時序約束文件可以直接創(chuàng)建或添加已存
    的頭像 發(fā)表于 03-24 09:44 ?4822次閱讀
    一文詳解Vivado時序<b class='flag-5'>約束</b>

    GaN、超級SI、SiC這三種MOS器件的用途區(qū)別

    如果想要說明白GaN、超級SI、SiC這三種MOS器件的用途區(qū)別,首先要做的是搞清楚這三種功率器件的特性,然后再根據(jù)材料特性分析具體應(yīng)用。
    的頭像 發(fā)表于 03-14 18:05 ?2678次閱讀