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í)序約束介紹

Hx ? 作者:工程師陳翠 ? 2018-07-14 07:18 ? 次閱讀

1. 基本的約束方法

為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑為:

輸入路徑(Input Path),使用輸入約束

寄存器到寄存器路徑(Register-to-Register Path),使用周期約束

輸出路徑(Output Path),使用輸出約束

具體的異常路徑(Path specific exceptions),使用虛假路徑.多周期路徑約束

1.1. 輸入約束Input Constraint

OFFSET IN約束限定了輸入數(shù)據(jù)和輸入時(shí)鐘邊沿的關(guān)系。

1.1.1. 系統(tǒng)同步輸入約束System Synchronous Input

在系統(tǒng)同步接口中,同一個(gè)系統(tǒng)時(shí)鐘既傳輸數(shù)據(jù)也獲取數(shù)據(jù)。考慮到板子路徑延時(shí)和時(shí)鐘抖動(dòng),接口的操作頻率不能太高。

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

1.1簡(jiǎn)化的系統(tǒng)同步輸入SDR接口電路圖

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

1.2SDR系統(tǒng)同步輸入時(shí)序

上述時(shí)序的約束可寫為:

NET “SysClk” TNM_NET = “SysClk”;

TIMESPEC “TS_SysClk” = PERIOD “SysClk” 5 ns HIGH 50%;

OFFSET = IN 5 ns VALID 5 ns BEFORE “SysClk”;

1.1.2. 源同步輸入約束Source Synchronous Input

在源同步接口中,時(shí)鐘是在源設(shè)備中和數(shù)據(jù)一起產(chǎn)生并傳輸。

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

1.3簡(jiǎn)化的源同步輸入DDR接口電路

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

1.4DDR源同步輸入時(shí)序

上圖的時(shí)序約束可寫為:

NET “SysClk” TNM_NET = “SysClk”;

TIMESPEC “TS_SysClk” = PERIOD “SysClk” 5 ns HIGH 50%;

OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE “SysClk” RISING;

OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE “SysClk” FALLING;

1.2. 寄存器到寄存器約束Register-to-Register Constraint

寄存器到寄存器約束往往指的是周期約束,周期約束的覆蓋范圍包括:

覆蓋了時(shí)鐘域的時(shí)序要求

覆蓋了同步數(shù)據(jù)在內(nèi)部寄存器之間的傳輸

分析一個(gè)單獨(dú)的時(shí)鐘域內(nèi)的路徑

分析相關(guān)時(shí)鐘域間的所有路徑

考慮不同時(shí)鐘域間的所有頻率.相位.不確定性差異

1.2.1. 使用DLL, DCM, PLL, and MMCM等時(shí)鐘器件自動(dòng)確定同步關(guān)系

使用這一類時(shí)鐘IP Core,只需指定它們的輸入時(shí)鐘約束,器件將自動(dòng)的根據(jù)用戶生成IP Core時(shí)指定的參數(shù)約束相關(guān)輸出,不需用戶手動(dòng)干預(yù)。

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

1.5輸入到DCM的時(shí)鐘約束

上圖的時(shí)序約束可寫為:

NET “ClkIn” TNM_NET = “ClkIn”;

TIMESPEC “TS_ClkIn” = PERIOD “ClkIn” 5 ns HIGH 50%;

1.2.2. 手動(dòng)約束相關(guān)聯(lián)的時(shí)鐘域

在某些情況下,工具并不能自動(dòng)確定同步的時(shí)鐘域之間的時(shí)鐘時(shí)序關(guān)系,這個(gè)時(shí)候需要手動(dòng)約束。例如:有兩個(gè)有相位關(guān)系的時(shí)鐘從不同的引腳進(jìn)入FPGA器件,這個(gè)時(shí)候需要手動(dòng)約束這兩個(gè)時(shí)鐘。

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

1.6通過(guò)兩個(gè)不同的外部引腳進(jìn)入FPGA的相關(guān)時(shí)鐘

上圖的時(shí)序約束可寫為:

NET“Clk1X“TNM_NET=“Clk1X”;

NET“Clk2X180“TNM_NET=“Clk2X180”;

TIMESPEC“TS_Clk1X”=PERIOD“Clk1X 7 5ns;

TIMESPEC”TS_Clk2X180“=PERIOD”Clk2X180“TS_Clk1X/2PHAS2 +1.25ns;

1.2.3. 異步時(shí)鐘域

異步時(shí)鐘域的發(fā)送和接收時(shí)鐘不依賴于頻率或相位關(guān)系。因?yàn)闀r(shí)鐘是不相關(guān)的,所以不可能確定出建立時(shí)間.保持時(shí)間和時(shí)鐘的最終關(guān)系。因?yàn)檫@個(gè)原因,Xilinx推薦使用適當(dāng)?shù)漠惒皆O(shè)計(jì)技術(shù)來(lái)保證對(duì)數(shù)據(jù)的成功獲取。Xilinx約束系統(tǒng)允許設(shè)計(jì)者在不需考慮源和目的時(shí)鐘頻率.相位的情況下約束數(shù)據(jù)路徑的最大延時(shí)。

異步時(shí)鐘域使用的約束方法的流程為:

為源寄存器定義時(shí)序組

為目的寄存器定義時(shí)序組

使用From-to和DATAPATHDELAY關(guān)鍵字定義寄存器組之間的最大延時(shí)

1.3. 輸出約束Output Constraint

輸出時(shí)序約束約束的是從內(nèi)部同步元件或寄存器到器件管腳的數(shù)據(jù)。

1.3.1. 系統(tǒng)同步輸出約束System Synchronous Output Constraint

系統(tǒng)同步輸出的簡(jiǎn)化模型如圖所示,在系統(tǒng)同步輸出接口中,傳輸和獲取數(shù)據(jù)是基于同一個(gè)時(shí)鐘的。

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

1.7系統(tǒng)同步輸出

其時(shí)序約束可寫為:

NET “ClkIn” TNM_NET = “ClkIn”;

OFFSET = OUT 5 ns AFTER “ClkIn”;

1.3.2. 源同步輸出約束Source Synchronous Output Constraint

在源同步輸出接口中,時(shí)鐘是重新產(chǎn)生的并且在某一FPGA時(shí)鐘的驅(qū)動(dòng)下和數(shù)據(jù)一起傳輸至下游器件。

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

1.8源同步輸出簡(jiǎn)化電路時(shí)序圖

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

1.9源同步小例子時(shí)序圖

小例子的時(shí)序約束可寫為:

NET “ClkIn” TNM_NET = “ClkIn”;

OFFSET = OUT AFTER “ClkIn” REFERENCE_PIN “ClkOut” RISING;

OFFSET = OUT AFTER “ClkIn” REFERENCE_PIN “ClkOut” FALLING;

1.3.3. 虛假路徑約束False Path Constraint

令SRC_GRP為一組源寄存器,DST_GRP為一組目的寄存器,如果你確定SRC_GRP到DST_GRP之間的路徑不會(huì)影響時(shí)序性能,那么可以將這一組路徑約束為虛假路徑,工具在進(jìn)行時(shí)序分析的時(shí)候?qū)?huì)跳過(guò)對(duì)這組路徑的時(shí)序分析。這種路徑最常見(jiàn)于不同時(shí)鐘域的寄存器數(shù)據(jù)傳輸,如下圖:

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

1.10虛假路徑

其約束可寫為:

NET “CLK1” TNM_NET = FFS “GRP_1”;

NET “CLK2” TNM_NET = FFS “GRP_2”;

TIMESPEC TS_Example = FROM “GRP_1” TO “GRP_2” TIG;

1.3.4. 多周期路徑約束Multi-Cycle Path Constraint

在多周期路徑里,令驅(qū)動(dòng)時(shí)鐘的周期為PERIOD,數(shù)據(jù)可以最大n*PERIOD的時(shí)間的從源同步元件傳輸?shù)侥康耐皆?,這一約束降低工具的布線難度而又不會(huì)影響時(shí)序性能。這種約束通常用在有時(shí)鐘使能控制的同步元件路徑中。

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

圖 1-11時(shí)鐘使能控制的寄存器路徑

必須說(shuō)明的是上圖Enable信號(hào)的產(chǎn)生周期必須大于等于n*PERIOD,且每個(gè)Enable傳輸一個(gè)數(shù)據(jù)。假設(shè)上圖的n=2,MC_GRP為時(shí)鐘使能Enable控制的多周期同步元件組,則約束可寫為:

NET “CLK1” TNM_NET = “CLK1”;

TIMESPEC “TS_CLK1” = PERIOD “CLK1” 5 ns HIGH 50%;

NET “Enable” TNM_NET = FFS “MC_GRP”;

TIMESPEC TS_Example = FROM “MC_GRP” TO “MC_GRP” TS_CLK1*2;

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

    關(guān)注

    73

    文章

    2184

    瀏覽量

    124593
  • fpga編程
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4697
收藏 人收藏

    評(píng)論

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

    Xilinx FPGA管腳物理約束介紹

    引言:本文我們簡(jiǎn)單介紹Xilinx FPGA管腳物理約束,包括位置(管腳)約束和電氣約束。
    發(fā)表于 07-25 10:13 ?5345次閱讀

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

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

    Xilinx FPGA編程技巧之常用時(shí)序約束詳解

    今天給大俠帶來(lái)Xilinx FPGA編程技巧之常用時(shí)序約束詳解,話不多說(shuō),上貨。 基本的約束
    發(fā)表于 04-12 17:39

    Xilinx FPGA編程技巧之常用時(shí)序約束詳解

    今天給大俠帶來(lái)Xilinx FPGA編程技巧之常用時(shí)序約束詳解,話不多說(shuō),上貨。 基本的約束
    發(fā)表于 05-06 15:51

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

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

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

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

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

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

    深入了解時(shí)序約束以及如何利用時(shí)序約束實(shí)現(xiàn)FPGA 設(shè)計(jì)的最優(yōu)結(jié)果

    作為賽靈思用戶論壇的定期訪客(見(jiàn) ),我注意到新用戶往往對(duì)時(shí)序收斂以及如何使用時(shí)序約束來(lái)達(dá)到時(shí)序收斂感到困惑。為幫助 FPGA設(shè)計(jì)新手實(shí)現(xiàn)
    發(fā)表于 11-24 19:37 ?5717次閱讀
    深入了解<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>以及如何利<b class='flag-5'>用時(shí)序</b><b class='flag-5'>約束</b>實(shí)現(xiàn)<b class='flag-5'>FPGA</b> 設(shè)計(jì)的最優(yōu)結(jié)果

    FPGA約束的詳細(xì)介紹

    介紹FPGA約束原理,理解約束的目的為設(shè)計(jì)服務(wù),是為了保證設(shè)計(jì)滿足時(shí)序要求,指導(dǎo)FPGA工具進(jìn)行
    發(fā)表于 06-25 09:14 ?6955次閱讀

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

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

    Xilinx時(shí)序設(shè)計(jì)與約束資料詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Xilinx時(shí)序設(shè)計(jì)與約束資料詳細(xì)說(shuō)明。
    發(fā)表于 01-14 16:26 ?34次下載

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

    上一篇《FPGA時(shí)序約束分享01_約束四大步驟》一文中,介紹時(shí)序
    發(fā)表于 03-18 10:29 ?1864次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)之<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

    常用時(shí)序約束介紹之基于ISE的UCF文件語(yǔ)法

    時(shí)序約束是我們對(duì)FPGA設(shè)計(jì)的要求和期望,例如,我們希望FPGA設(shè)計(jì)可以工作在多快的時(shí)鐘頻率下等等。因此,在時(shí)序分析工具開始對(duì)我們的
    的頭像 發(fā)表于 12-28 15:18 ?3753次閱讀

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

    FPGA/CPLD的綜合、實(shí)現(xiàn)過(guò)程中指導(dǎo)邏輯的映射和布局布線。下面主要總結(jié)一下Xilinx FPGA時(shí)序約束設(shè)計(jì)和分析。
    的頭像 發(fā)表于 04-27 10:08 ?1996次閱讀

    如何在Vivado中添加時(shí)序約束

    前面幾篇文章已經(jīng)詳細(xì)介紹FPGA時(shí)序約束基礎(chǔ)知識(shí)以及常用時(shí)序
    的頭像 發(fā)表于 06-23 17:44 ?3071次閱讀
    如何在Vivado中添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品