RM新时代网站-首页

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

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

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

Xilinx FPGA編程技巧常用時序約束介紹

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

1. 基本的約束方法

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

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

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

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

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

1.1. 輸入約束Input Constraint

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

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

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

Xilinx FPGA編程技巧常用時序約束介紹

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

Xilinx FPGA編程技巧常用時序約束介紹

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

上述時序的約束可寫為:

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ù)據(jù)一起產(chǎn)生并傳輸。

Xilinx FPGA編程技巧常用時序約束介紹

1.3簡化的源同步輸入DDR接口電路

Xilinx FPGA編程技巧常用時序約束介紹

1.4DDR源同步輸入時序

上圖的時序約束可寫為:

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ù)據(jù)在內(nèi)部寄存器之間的傳輸

分析一個單獨的時鐘域內(nèi)的路徑

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

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

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

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

Xilinx FPGA編程技巧常用時序約束介紹

1.5輸入到DCM的時鐘約束

上圖的時序約束可寫為:

NET “ClkIn” TNM_NET = “ClkIn”;

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

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

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

Xilinx FPGA編程技巧常用時序約束介紹

1.6通過兩個不同的外部引腳進入FPGA的相關(guān)時鐘

上圖的時序約束可寫為:

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. 異步時鐘域

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

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

為源寄存器定義時序組

為目的寄存器定義時序組

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

1.3. 輸出約束Output Constraint

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

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

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

Xilinx FPGA編程技巧常用時序約束介紹

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

其時序約束可寫為:

NET “ClkIn” TNM_NET = “ClkIn”;

OFFSET = OUT 5 ns AFTER “ClkIn”;

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

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

Xilinx FPGA編程技巧常用時序約束介紹

1.8源同步輸出簡化電路時序圖

Xilinx FPGA編程技巧常用時序約束介紹

1.9源同步小例子時序圖

小例子的時序約束可寫為:

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之間的路徑不會影響時序性能,那么可以將這一組路徑約束為虛假路徑,工具在進行時序分析的時候?qū)^對這組路徑的時序分析。這種路徑最常見于不同時鐘域的寄存器數(shù)據(jù)傳輸,如下圖:

Xilinx FPGA編程技巧常用時序約束介紹

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ū)動時鐘的周期為PERIOD,數(shù)據(jù)可以最大n*PERIOD的時間的從源同步元件傳輸?shù)侥康耐皆?,這一約束降低工具的布線難度而又不會影響時序性能。這種約束通常用在有時鐘使能控制的同步元件路徑中。

Xilinx FPGA編程技巧常用時序約束介紹

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

必須說明的是上圖Enable信號的產(chǎn)生周期必須大于等于n*PERIOD,且每個Enable傳輸一個數(shù)據(jù)。假設(shè)上圖的n=2,MC_GRP為時鐘使能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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

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

    關(guān)注

    0

    文章

    4

    瀏覽量

    4626
收藏 人收藏

    評論

    相關(guān)推薦

    Xilinx FPGA管腳物理約束介紹

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

    FPGA時序約束之衍生時鐘約束和時鐘分組約束

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

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

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

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

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

    Xilinx_fpga_設(shè)計:全局時序約束及試驗總結(jié)

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

    時序約束時序分析 ppt教程

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

    Xilinx時序約束設(shè)計

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

    Xilinx時序約束培訓教材

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

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

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

    FPGA約束的詳細介紹

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

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

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

    Xilinx時序設(shè)計與約束資料詳細說明

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

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

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

    常用時序約束介紹之基于ISE的UCF文件語法

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

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

    FPGA/CPLD的綜合、實現(xiàn)過程中指導邏輯的映射和布局布線。下面主要總結(jié)一下Xilinx FPGA時序約束設(shè)計和分析。
    的頭像 發(fā)表于 04-27 10:08 ?1581次閱讀
    RM新时代网站-首页