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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

VIVADO時(shí)序約束及STA基礎(chǔ)

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-03-11 14:39 ? 次閱讀

一、前言

無(wú)論是FPGA應(yīng)用開發(fā)還是數(shù)字IC設(shè)計(jì),時(shí)序約束和靜態(tài)時(shí)序分析(STA)都是十分重要的設(shè)計(jì)環(huán)節(jié)。在FPGA設(shè)計(jì)中,可以在綜合后和實(shí)現(xiàn)后進(jìn)行STA來(lái)查看設(shè)計(jì)是否能滿足時(shí)序上的要求。本文闡述基本的時(shí)序約束和STA操作流程。內(nèi)容主要來(lái)源于《Vivado從此開始》這本書,我只是知識(shí)的搬運(yùn)工。

二、時(shí)序約束與XDC腳本

時(shí)序約束的目的就是告訴工具當(dāng)前的時(shí)序狀態(tài),以讓工具盡量?jī)?yōu)化時(shí)序并給出詳細(xì)的分析報(bào)告。一般在行為仿真后、綜合前即創(chuàng)建基本的時(shí)序約束。Vivado使用SDC基礎(chǔ)上的XDC腳本以文本形式約束。以下討論如何進(jìn)行最基本時(shí)序約束相關(guān)腳本。

1 時(shí)序約束首要任務(wù)是創(chuàng)建主時(shí)鐘,主時(shí)鐘即為時(shí)鐘引腳進(jìn)入時(shí)鐘信號(hào)或高速收發(fā)器生成時(shí)鐘。[create_clock]

create_clock -name clk_name -period N-waveform {pos_time neg_time}[get_ports port_name](劃線部分可選)

創(chuàng)建兩個(gè)異步的主時(shí)鐘:

create_clock -name clk_a -period 10 [get_ports clk_a]

create_clock -name clk_b -period 15 [get_ports clk_b]

set_clock_groups -asynchronous -group clk_a -group clk_b

當(dāng)兩個(gè)主時(shí)鐘是異步關(guān)系,它們生成時(shí)鐘同樣是異步關(guān)系:

set_clock_groups -asynchronous -group [get_clocks clk_a -include_generated_clocks]

-group [get_clocks clk_b -include_generated_clocks]

差分時(shí)鐘僅約束P端口

create_clock -name clk -period 10 [get_ports clk_p]

高速收發(fā)器生成時(shí)鐘作為主時(shí)鐘:

create_clock -name gt0_txclk -period 8 [get_pins GT0/.../TXOUTCLK]

有一種特殊情況無(wú)需與具體引腳綁定,即創(chuàng)建虛擬時(shí)鐘。該約束用于設(shè)定輸入/輸出延遲。需要?jiǎng)?chuàng)建虛擬時(shí)鐘的場(chǎng)景是輸入FPGA的數(shù)據(jù)由FPGA內(nèi)部產(chǎn)生時(shí)鐘采樣,如串口通信

create_clock -name clk_v -period 5

2 創(chuàng)建主時(shí)鐘后,需要約束生成時(shí)鐘:[create_generated_clock]

生成時(shí)鐘分為兩種。由PLL MMCM等專用時(shí)鐘單元生成產(chǎn)生的時(shí)鐘信號(hào),Vivado會(huì)自動(dòng)產(chǎn)生相關(guān)約束。還有一種是自定義生成時(shí)鐘,一般為邏輯分頻得到。

時(shí)鐘源是時(shí)鐘端口:

create_generated_clock -name clk_div -source [get_ports clk] -divide_by 2 [get_pins rega/Q] 意思是在rega單元的Q引腳上的時(shí)鐘信號(hào)clk_div是由clk經(jīng)過(guò)2分頻得到的生成時(shí)鐘。

時(shí)鐘源是引腳:

create_generated_clock -name clk_div -source [get_pins rega/C] -divide_by 2 [get_pins rega/Q]

除了使用-divide_by -multiply_by表示主時(shí)鐘和生成時(shí)鐘的頻率關(guān)系,也可以用 -edges實(shí)現(xiàn)更精確的表達(dá):

create_generated_clock -name clk_div -source [get_pins rega/C] -edges {1 3 5} [get_pins rega/Q]

相移關(guān)系使用-edge_shift命令描述。

該約束命令還常用于重命名時(shí)鐘信號(hào):

create_generated_clock -name clk_rename [get_pins clk_gen/.../CLKOUT0]

3 創(chuàng)建時(shí)鐘組:[set_clock_groups]

a. 異步時(shí)鐘情況:

set_clock_groups -asynchronous -group clk_a -group clk_b clk_a和clk_b是異步時(shí)鐘。

b. 物理互斥情況:

create_clock -name clk_a -period 10 [get_ports clk]

create_clock -name clk_b -period 8 [get_ports clk] -add

create_clock -name clk_c -period 5 [get_ports clk] -add

set_clock_groups -physically_exclusive -group clk_a -group clk_b -group clk_c

該種情況僅是為了觀察clk引腳時(shí)鐘信號(hào)周期依次為10ns 8ns和5ns時(shí),時(shí)序是否收斂。因此這三個(gè)時(shí)鐘物理上不同時(shí)存在。

c. 邏輯互斥情況:

set_clock_groups -logically_exclusive

-group [get_clocks -of [get_pins clk_core/.../CLKOUT0]] -group [get_clocks -of [get_pins clk_core/.../CLKOUT1]]

clkout0和clkout1送入到BUFGMUX中,后續(xù)根據(jù)sel信號(hào)確定選擇哪一個(gè)作為工作時(shí)鐘。此時(shí)clkout0和clkout1同時(shí)存在電路中,但僅有一個(gè)會(huì)作為后續(xù)電路工作時(shí)鐘,因此邏輯上互斥。

特殊用法:當(dāng)asynchronous 的group只有一個(gè),說(shuō)明改組內(nèi)時(shí)鐘是同步的,但與其他所以時(shí)鐘異步。

4 設(shè)置偽路徑:[set_false_path]

設(shè)置偽路徑后,不再對(duì)特殊路徑進(jìn)行時(shí)序分析。特殊路徑如測(cè)試邏輯、添加同步電路后的跨時(shí)鐘域路徑等。在兩個(gè)時(shí)鐘域之間應(yīng)該相互設(shè)置為set_false:

set_false_path -from [get_clocks clk_a] -to [get_clocks clk_b]

set_false_path -from [get_clocks clk_b] -to [get_clocks clk_a]

5 常用時(shí)鐘相關(guān)命令:

report_clocks:查看創(chuàng)建的所有時(shí)鐘

report_property [get_clocks ]:查看時(shí)鐘clk_name的屬性

report_clock_network:查看時(shí)鐘的生成關(guān)系網(wǎng)絡(luò)

report_clock_interaction:查看時(shí)鐘交互關(guān)系

其中最后一項(xiàng)非常重要,經(jīng)常被用于查看異步時(shí)鐘域之間的路徑是否安全。若存在不安全路徑,需要添加同步、握手或FIFO后,設(shè)置為異步時(shí)鐘組或false_path。

8808f6b2-54ab-11ec-b2e9-dac502259ad0.png

鍵入該命令后,會(huì)生成時(shí)鐘交互矩陣。對(duì)角線是每個(gè)時(shí)鐘內(nèi)部路徑,其他非黑色部分即為存在對(duì)應(yīng)兩個(gè)時(shí)鐘的跨時(shí)鐘域路徑。紅色部分是非安全路徑,若不處理會(huì)產(chǎn)生亞穩(wěn)態(tài)。

三、查看時(shí)序報(bào)告(STA)

本節(jié)以一個(gè)有很多時(shí)序問題的工程為例進(jìn)行講解。在綜合后即可打開時(shí)序概要查看時(shí)序報(bào)告。

8818b912-54ab-11ec-b2e9-dac502259ad0.png

打開后有如下界面:

88287730-54ab-11ec-b2e9-dac502259ad0.png

其中Design Timing Summary是時(shí)序概況,包括最大延遲分析、最小延遲分析以及脈沖寬度三個(gè)部分。其中WNS或WHS為負(fù)數(shù),說(shuō)明當(dāng)前設(shè)計(jì)無(wú)法滿足建立時(shí)間或保持時(shí)間要求,也就是說(shuō)數(shù)據(jù)無(wú)法被穩(wěn)定采樣。

Clock Summary內(nèi)的信息與使用report_clocks TCL腳本調(diào)出來(lái)的信息相似,包含了全部已創(chuàng)建的時(shí)鐘信號(hào)。Check Timing部分則包含了未被約束的部分,我們可以根據(jù)該部分信息進(jìn)一步添加必要的約束。Intra-Clock Paths和Inter-Clock Paths則分別描述了同步和異步電路時(shí)序路徑的裕量參數(shù)。

點(diǎn)擊WNS或WHS后的數(shù)值可以直接找到時(shí)序裕量最差的路徑:

8839f2f8-54ab-11ec-b2e9-dac502259ad0.png

雙擊路徑信息所在行任意位置,界面會(huì)跳轉(zhuǎn)到該路徑的詳細(xì)信息界面:

88497390-54ab-11ec-b2e9-dac502259ad0.png

四類時(shí)序路徑中,除了FPGA輸入端口到輸出端口這一特殊情況外,其他時(shí)序路徑均由源時(shí)鐘路徑、數(shù)據(jù)路徑和目的時(shí)鐘路徑三部分構(gòu)成。上表中各項(xiàng)的具體解釋見官方文檔UG908.

本文說(shuō)明了時(shí)序約束和STA的關(guān)系,基本時(shí)序約束情形及相應(yīng)的XDC腳本。之后簡(jiǎn)單介紹了如何在VIVADO中查看時(shí)序報(bào)告來(lái)分析時(shí)序問題。后續(xù)會(huì)以網(wǎng)絡(luò)通信中常見的RGMII接口設(shè)計(jì)實(shí)例闡述I/O延遲約束部分。

審核編輯 :李倩

聲明:本文內(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)投訴
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    392

    瀏覽量

    37577
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    820

    瀏覽量

    67511

原文標(biāo)題:VIVADO時(shí)序約束及STA基礎(chǔ)

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

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    FPGA主時(shí)鐘約束詳解 Vivado添加時(shí)序約束方法

    在FPGA設(shè)計(jì)中,時(shí)序約束的設(shè)置對(duì)于電路性能和可靠性都至關(guān)重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束的基礎(chǔ)知識(shí)。
    發(fā)表于 06-06 18:27 ?1.1w次閱讀
    FPGA主時(shí)鐘<b class='flag-5'>約束</b>詳解 <b class='flag-5'>Vivado</b>添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>方法

    一文詳解Vivado時(shí)序約束

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

    時(shí)序約束資料包

    Vivado基本操作流程2、時(shí)序基本概念3、時(shí)序基本約束和流程4、Baselining時(shí)序約束
    發(fā)表于 08-01 16:45

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

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

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

    時(shí)序約束的概念 時(shí)序約束主要包括周期約束(FFS到FFS,即觸發(fā)器到觸發(fā)器)和偏移約束(IPAD
    發(fā)表于 03-16 18:10 ?0次下載

    Vivado中的靜態(tài)時(shí)序分析工具Timing Report的使用與規(guī)范

    過(guò)程必須以滿足XDC中的約束為目標(biāo)來(lái)進(jìn)行。那么: 如何驗(yàn)證實(shí)現(xiàn)后的設(shè)計(jì)有沒有滿足時(shí)序要求? 如何在開始布局布線前判斷某些約束有沒有成功設(shè)置? 如何驗(yàn)證約束的優(yōu)先級(jí)? 這些都需要用到
    發(fā)表于 11-17 18:03 ?3.8w次閱讀
    <b class='flag-5'>Vivado</b>中的靜態(tài)<b class='flag-5'>時(shí)序</b>分析工具Timing Report的使用與規(guī)范

    時(shí)序約束資料包】培訓(xùn)課程Timing VIVADO

    維持嗎? 1、Vivado基本操作流程 2、時(shí)序基本概念 3、時(shí)序基本約束和流程 4、Baselining時(shí)序
    發(fā)表于 08-06 15:08 ?605次閱讀

    FPGA時(shí)序約束的建立和保持時(shí)間方法

    首先來(lái)看什么是時(shí)序約束,泛泛來(lái)說(shuō),就是我們告訴軟件(Vivado、ISE等)從哪個(gè)pin輸入信號(hào),輸入信號(hào)要延遲多長(zhǎng)時(shí)間,時(shí)鐘周期是多少,讓軟件PAR(Place and Route)后的電路能夠
    的頭像 發(fā)表于 01-28 17:34 ?4165次閱讀
    FPGA<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的建立和保持時(shí)間方法

    Vivado進(jìn)行時(shí)序約束的兩種方式

    上面我們講的都是xdc文件的方式進(jìn)行時(shí)序約束Vivado中還提供了兩種圖形界面的方式,幫我們進(jìn)行時(shí)序約束
    的頭像 發(fā)表于 03-08 17:17 ?2w次閱讀
    <b class='flag-5'>Vivado</b>進(jìn)行<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的兩種方式

    基本的時(shí)序約束STA操作流程

    一、前言 無(wú)論是FPGA應(yīng)用開發(fā)還是數(shù)字IC設(shè)計(jì),時(shí)序約束和靜態(tài)時(shí)序分析(STA)都是十分重要的設(shè)計(jì)環(huán)節(jié)。在FPGA設(shè)計(jì)中,可以在綜合后和實(shí)現(xiàn)后進(jìn)行
    的頭像 發(fā)表于 08-10 09:33 ?5870次閱讀
    基本的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>和<b class='flag-5'>STA</b>操作流程

    縮短Vivado編譯時(shí)間之審視時(shí)序約束描述

    在描述時(shí)序約束時(shí),一個(gè)重要的原則是確保約束簡(jiǎn)潔高效。簡(jiǎn)潔高效意味著約束只針對(duì)指定的對(duì)象,即約束對(duì)應(yīng)的對(duì)象的個(gè)數(shù)
    的頭像 發(fā)表于 02-23 09:03 ?1646次閱讀

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

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

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

    今天介紹一下,如何在Vivado中添加時(shí)序約束Vivado添加約束的方法有3種:xdc文件、時(shí)序
    的頭像 發(fā)表于 06-26 15:21 ?4709次閱讀
    如何在<b class='flag-5'>Vivado</b>中添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>呢?

    Vivado綜合階段什么約束生效?

    Vivado綜合默認(rèn)是timing driven模式,除了IO管腳等物理約束,建議添加必要的時(shí)序約束,有利于綜合邏輯的優(yōu)化,同時(shí)綜合后的design里面可以評(píng)估
    的頭像 發(fā)表于 07-03 09:03 ?809次閱讀

    淺談時(shí)序設(shè)計(jì)和時(shí)序約束

    ??本文主要介紹了時(shí)序設(shè)計(jì)和時(shí)序約束
    的頭像 發(fā)表于 07-04 14:43 ?1624次閱讀
    主站蜘蛛池模板: 国语自产免费精品视频一区二区 | 乱高h辣黄文np公交车 | 成人手机看片 | 久久在精品线影院精品国产 | 27pao强力打造高清免费高 | 一级特色黄色片 | 在线天堂中文有限公司 | 亚洲国产精品久久久久婷婷老年 | 婷婷丁香六月天 | 理论片午夜 | 免费播放一区二区三区 | 午夜寂寞在线一级观看免费 | 国产网红主播chinese | 特黄一级视频 | 亚洲国产第一区二区香蕉 | 欧美午夜性 | 人人干狠狠操 | 欧美人与禽 | 亚洲综合激情丁香六月 | 六月色| 黄色免费在线网址 | 国产午夜精品一区二区三区 | av在线天堂网| 在线观看日本亚洲一区 | japanese日本护士xx亚洲 | 爱夜夜性夜夜夜夜夜夜爽 | 午夜视频福利 | 男人天堂网2021 | 成人ww | 开心激情婷婷 | 国产高清视频免费最新在线 | 奇米影视奇米色777欧美 | 国产一级特黄aa级特黄裸毛片 | 黄色网址 在线播放 | 女人色视频| 美女喷白浆视频 | 成人精品一区二区不卡视频 | 特级aaa毛片 | 午夜片在线观看 | 亚洲最大成人在线 | 在线天堂视频 |

    電子發(fā)燒友

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

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