女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

時(shí)鐘周期約束詳細(xì)介紹

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2022-08-05 12:50 ? 次閱讀

1. 時(shí)鐘周期約束:?時(shí)鐘周期約束,顧名思義,就是我們對(duì)時(shí)鐘的周期進(jìn)行約束,這個(gè)約束是我們用的最多的約束了,也是最重要的約束。

2. vivado中時(shí)鐘約束指令:

create_clock

使用create_clock來創(chuàng)建時(shí)鐘周期約束,使用方法:

create_clock -name -period -waveform { } [get_ports ]

5df8888c-1473-11ed-ba43-dac502259ad0.png

值得注意的是,這里的時(shí)鐘必須是主時(shí)鐘 primary clock。主時(shí)鐘通常有兩種情況:一種是由外部時(shí)鐘源提供,另外一種是告訴收發(fā)器的時(shí)鐘提供。

如何查看主時(shí)鐘?

綜合、布局布線之后

打開綜合設(shè)計(jì)或者布局布線設(shè)計(jì)

兩種方式查看主時(shí)鐘:第一種,report_clock_networks -name mainclock,可以直接查看主時(shí)鐘。第二種,check_timing -override_defaults no_clock,可以查看沒有被約束的主時(shí)鐘

當(dāng)主時(shí)鐘之間的相位關(guān)系確定時(shí),則通過-waveform參數(shù)進(jìn)行約束

5e144cca-1473-11ed-ba43-dac502259ad0.png

如上圖所示的兩個(gè)主時(shí)鐘,進(jìn)行如下約束:

create_clock -name clk0 -period 10.0 -waveform {0 5} [get_ports clk0]

create_clock -name clk1 -period 8.0 -waveform {2 8} [get_ports clk1]

數(shù)字單位默認(rèn)是ns。如果不寫waveform參數(shù),則默認(rèn)占空比是50%且第一個(gè)上升沿在0時(shí)刻。

一般來說,如果輸入時(shí)鐘是差分的,只需要對(duì)P端進(jìn)行約束即可。

create_generated_clock

約束在FPGA內(nèi)部產(chǎn)生的衍生時(shí)鐘,使用方法如下:

create_generated_clock -name

-source

-multiply_by

-divide_by

-master_clock

5e346a14-1473-11ed-ba43-dac502259ad0.png

因?yàn)槭茄苌鷷r(shí)鐘,所以有-source參數(shù),指明衍生時(shí)鐘從哪里來的,后面就是源時(shí)鐘名字,master clock,叫上一級(jí)時(shí)鐘,區(qū)別于primary clock。它可以是primary clock 也可以是其他衍生時(shí)鐘。

這個(gè)命令并不是設(shè)定周期和波形,而是描述時(shí)鐘電路如何對(duì)上級(jí)時(shí)鐘的轉(zhuǎn)換:

簡(jiǎn)單的頻率分頻、倍頻

頻率和分頻組合,獲得非整數(shù)的比例,通常由MMCM或PLL完成

相移或波形反相

占空比改變

set_clock_groups

使用方法:

set_clock_groups -asynchronous -group -group

set_clock_groups -physically_exclusive -group -group

第一種用法:來指定兩個(gè)主時(shí)鐘是異步關(guān)系,使用asynchronous。

create_clock -period 10 -name clk1 [get_ports clk1]

create_clock -period 8 -name clk2 [get_ports clk2]

set_clock_groups -asynchronous -group clk1 -group clk2

第二種用法:當(dāng)我們需要驗(yàn)證同一個(gè)時(shí)鐘端口在不同時(shí)鐘頻率下能否獲得時(shí)序收斂時(shí)使用。 比如有兩個(gè)異步主時(shí)鐘clk1和clk2,需要驗(yàn)證在clk2頻率為100MHz,clk1頻率分別為50MHz、100MHz和200MHz下的時(shí)序收斂情況,我們就可以這樣寫。

create_clock -name clk1A -period 20.0 [get_ports clk1]

create_clock -name clk1B -period 10.0 [get_ports clk1] -add

create_clock -name clk1C -period 5.0 [get_ports clk1] -add

create_clock -name clk2 -period 10.0 [get_ports clk2]

set_clock_groups -physically_exclusive -group clk1A -group clk1B -group clk1C

set_clock_groups -asynchronous -group "clk1A clk1B clk1C" -group clk2

第三種用法:當(dāng)我們使用BUFGMUX時(shí),會(huì)有兩個(gè)輸入時(shí)鐘,但只會(huì)有一個(gè)時(shí)鐘被使用。 比如MMCM輸入100MHz時(shí)鐘,兩個(gè)輸出分別為50MHz和200MHz,這兩個(gè)時(shí)鐘進(jìn)入了BUFGMUX。在這種情況下,我們需要設(shè)置的時(shí)序約束如下:

set_clock_groups -logically_exclusive

-group [get_clocks -of [get_pins inst_mmcm/inst/mmcm_adv_inst/CLKOUT0]]

-group [get_clocks -of [get_pins inst_mmcm/inst/mmcm_adv_inst/CLKOUT1]]

虛擬時(shí)鐘

虛擬時(shí)鐘通常用于設(shè)定對(duì)輸入和輸出的延遲約束,這個(gè)約束其實(shí)是屬于IO約束中的延遲約束。虛擬時(shí)鐘和前面講的延遲約束的使用場(chǎng)景不太相同。顧名思義,虛擬時(shí)鐘,就是沒有與之綁定的物理管腳。

虛擬時(shí)鐘主要用于以下三個(gè)場(chǎng)景:

外部IO的參考時(shí)鐘并不是設(shè)計(jì)中的時(shí)鐘

FPGA I/O路徑參考時(shí)鐘來源于內(nèi)部衍生時(shí)鐘,但與主時(shí)鐘的頻率關(guān)系并不是整數(shù)倍

針對(duì)I/O指定不同的jitter和latency

??簡(jiǎn)而言之,之所以要?jiǎng)?chuàng)建虛擬時(shí)鐘,對(duì)于輸入來說,是因?yàn)檩斎氲紽PGA數(shù)據(jù)的捕獲時(shí)鐘是FPGA內(nèi)部產(chǎn)生的,與主時(shí)鐘頻率不同;或者PCB上有Clock Buffer導(dǎo)致時(shí)鐘延遲不同。對(duì)于輸出來說,下游器件只接收到FPGA發(fā)送過去的數(shù)據(jù),并沒有隨路時(shí)鐘,用自己內(nèi)部的時(shí)鐘去捕獲數(shù)據(jù)。

比如:如下圖所示,在FPGA的A和B端口分別有兩個(gè)輸入,其中捕獲A端口的時(shí)鐘是主時(shí)鐘,而捕獲B端口的時(shí)鐘是MMCM輸出的衍生時(shí)鐘,而且該衍生時(shí)鐘與主時(shí)鐘的頻率不是整數(shù)倍關(guān)系。

5e4950c8-1473-11ed-ba43-dac502259ad0.png

這種情況下時(shí)序約束如下:

create_clock -name sysclk -period 10 [get_ports clkin]

create_clock -name virclk -period 6.4

set_input_delay 2 -clock sysclk [get_ports A]

set_input_delay 2 -clock virclk [get_ports B]

可以看到,創(chuàng)建虛擬時(shí)鐘用的也是create_clock約束,但后面并沒有加get_ports參數(shù),因此被稱為虛擬時(shí)鐘。

再舉個(gè)輸出的例子,我們常用的UART和SPI,當(dāng)FPGA通過串口向下游器件發(fā)送數(shù)據(jù)時(shí),僅僅發(fā)過去了uart_tx這個(gè)數(shù)據(jù),下游器件通過自己內(nèi)部的時(shí)鐘去捕獲uart_tx上的數(shù)據(jù),這就需要通過虛擬時(shí)鐘來約束;而當(dāng)FPGA通過SPI向下游器件發(fā)送數(shù)據(jù)時(shí),會(huì)發(fā)送sclk/sda/csn三個(gè)信號(hào),其中sclk就是sda的隨路時(shí)鐘,下游器件通過sclk去捕獲sda的數(shù)據(jù),而不是用自己內(nèi)部的時(shí)鐘,這是就不需要虛擬時(shí)鐘,直接使用set_output_delay即可。

注意,虛擬時(shí)鐘必須在約束I/O延遲之前被定義。

max/min delay的約束平時(shí)用的相對(duì)少一些,因?yàn)樵诳绠惒綍r(shí)鐘域時(shí),我們往往會(huì)設(shè)置asynchronous或者false_path。對(duì)于異步時(shí)鐘,我們一般都會(huì)通過設(shè)計(jì)來保證時(shí)序能夠收斂,而不是通過時(shí)序約束來保證。

審核編輯:湯梓紅


聲明:本文內(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)注

    1643

    文章

    21957

    瀏覽量

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

    關(guān)注

    1

    文章

    118

    瀏覽量

    13622
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    828

    瀏覽量

    68217
  • 時(shí)鐘約束
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    6100

原文標(biāo)題:FPGA時(shí)序約束之時(shí)鐘周期約束

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

收藏 人收藏

    評(píng)論

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

    FPGA時(shí)序案例分析之時(shí)鐘周期約束

    時(shí)鐘周期約束,顧名思義,就是我們對(duì)時(shí)鐘周期進(jìn)行約束,這個(gè)約束是我們用的最多的
    的頭像 發(fā)表于 11-19 11:44 ?5937次閱讀
    FPGA時(shí)序案例分析之<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>周期約束</b>

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

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

    FPGA時(shí)序約束之偽路徑和多周期路徑

    前面幾篇FPGA時(shí)序約束進(jìn)階篇,介紹了常用主時(shí)鐘約束、衍生時(shí)鐘約束
    發(fā)表于 06-12 17:33 ?2300次閱讀

    FPGA時(shí)鐘周期約束講解

    時(shí)鐘周期約束是用于對(duì)時(shí)鐘周期約束,屬于時(shí)序約束中最重要的
    發(fā)表于 08-14 18:25 ?1092次閱讀

    關(guān)于時(shí)序約束

    例子來說明如何設(shè)置周期約束。考慮圖3所示的電路設(shè)計(jì)范例1,輸入時(shí)鐘周期是10ns,并且是上升沿動(dòng)作,占空比為45%高電平,55%低電平。  我們可以用這樣的UCF語旬來定義這個(gè)時(shí)鐘
    發(fā)表于 02-03 14:13

    ISE多周期時(shí)序約束

    有沒有哪位大神對(duì)ISE的時(shí)序約束比較熟悉,尤其是多周期約束這一塊。在Quartus中使用比較簡(jiǎn)單,而且相關(guān)資料也比較多,但是ISE中的資料好像不是那么多,而且也沒有針對(duì)具體例子進(jìn)行分析。官網(wǎng)上給出
    發(fā)表于 04-30 09:52

    輸入抖動(dòng)與收緊周期約束有什么不同?

    嗨,將input_jitter值與周期約束一起使用而不是僅僅收緊周期有什么不同?防爆。輸入抖動(dòng):+/- 100 ps周期:10 ns約束1和2是等價(jià)的嗎?1)TIMESPEC TS_c
    發(fā)表于 03-18 06:28

    設(shè)計(jì)中的關(guān)鍵路徑如何約束

    方法來限制關(guān)鍵路徑,而不是將周期約束放在它上面? (沒有虛假路徑或多周期路徑)。我的理解是正確的,如果我應(yīng)用10ns的周期約束,那么連接到該時(shí)鐘的所有路徑都被
    發(fā)表于 04-08 08:58

    時(shí)鐘約束的概念

    文章目錄1、時(shí)鐘約束的概念2、 DC中的時(shí)序約束參考文章時(shí)間又拖拖拖,隨著追尋DFT的進(jìn)度,DC的進(jìn)度在經(jīng)歷了.dynopsys_dc.setup后,就停滯不前了,接下來本文就來介紹D
    發(fā)表于 11-17 06:56

    FPGA開發(fā)之時(shí)序約束周期約束

    時(shí)序約束可以使得布線的成功率的提高,減少ISE布局布線時(shí)間。這時(shí)候用到的全局約束就有周期約束和偏移約束周期約束就是根據(jù)
    發(fā)表于 02-09 02:56 ?796次閱讀

    添加時(shí)序約束的技巧分析

    。 在添加全局時(shí)序約束時(shí),需要根據(jù)時(shí)鐘頻率劃分不同的時(shí)鐘域,添加各自的周期約束;然后對(duì)輸入輸出端口信號(hào)添加偏移約束,對(duì)片內(nèi)邏輯添加附加
    發(fā)表于 11-25 09:14 ?2757次閱讀

    Specific Timing Constraints

    關(guān)鍵詞:ISE , 時(shí)序約束 時(shí)鐘上升沿和下降沿之間的時(shí)序約束 周期約束可以自動(dòng)計(jì)算兩個(gè)沿的的約束——包括調(diào)整非50%占空比的
    發(fā)表于 09-26 07:44 ?381次閱讀

    vivado多時(shí)鐘周期約束set_multicycle_path使用

    Vivado下set_multicycle_path的使用說明 vivado下多周期路徑約束(set_multicycle_path)的使用,set_multicycle_path一般...
    發(fā)表于 12-20 19:12 ?1次下載
    vivado多<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>周期約束</b>set_multicycle_path使用

    關(guān)于多周期路徑約束

    一、什么是多周期路徑約束? 不管是quartus中還是在Vivado中,默認(rèn)的建立時(shí)間和保持時(shí)間的檢查都是單周期的,如圖1所示,也就是說如果A時(shí)刻發(fā)送,B時(shí)刻捕獲,這兩者之間相差一個(gè)時(shí)鐘
    的頭像 發(fā)表于 12-10 12:05 ?1922次閱讀

    時(shí)序約束---多時(shí)鐘介紹

    當(dāng)設(shè)計(jì)存在多個(gè)時(shí)鐘時(shí),根據(jù)時(shí)鐘的相位和頻率關(guān)系,分為同步時(shí)鐘和異步時(shí)鐘,這兩類要分別討論其約束
    的頭像 發(fā)表于 04-06 14:34 ?1379次閱讀
    時(shí)序<b class='flag-5'>約束</b>---多<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>介紹</b>