欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

麻辣軟硬件 ? 來源:博客園 ? 作者:沒落騎士 ? 2021-08-10 09:33 ? 次閱讀

一、前言

無論是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來查看設(shè)計(jì)是否能滿足時(shí)序上的要求。本文闡述基本的時(shí)序約束和STA操作流程。內(nèi)容主要來源于《Vivado從此開始》這本書,我只是知識的搬運(yùn)工。

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

時(shí)序約束的目的就是告訴工具當(dāng)前的時(shí)序狀態(tài),以讓工具盡量優(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í)鐘信號或高速收發(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]

有一種特殊情況無需與具體引腳綁定,即創(chuàng)建虛擬時(shí)鐘。該約束用于設(shè)定輸入/輸出延遲。需要?jiǎng)?chuàng)建虛擬時(shí)鐘的場景是輸入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í)鐘信號,Vivado會自動(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í)鐘信號clk_div是由clk經(jīng)過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í)鐘信號:

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í)鐘信號周期依次為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信號確定選擇哪一個(gè)作為工作時(shí)鐘。此時(shí)clkout0和clkout1同時(shí)存在電路中,但僅有一個(gè)會作為后續(xù)電路工作時(shí)鐘,因此邏輯上互斥。

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

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

設(shè)置偽路徑后,不再對特殊路徑進(jìn)行時(shí)序分析。特殊路徑如測試邏輯、添加同步電路后的跨時(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 《clk_name》]:查看時(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。

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

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

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

打開后有如下界面:

博客園

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

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

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

博客園

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

博客園

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

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

編輯:jq

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

    關(guān)注

    1630

    文章

    21799

    瀏覽量

    606196
  • STA
    STA
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    19046
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66911

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

文章出處:【微信號:VOSDeveloper,微信公眾號:麻辣軟硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    xilinx FPGA IOB約束使用以及注意事項(xiàng)

    采用了IOB約束,那么就可以保證從IO到達(dá)寄存器或者從寄存器到達(dá)IO之間的走線延遲最短,同時(shí)由于IO的位置是固定的,即存在于IO附近,所以每一次編譯都不會造成輸入或者輸出的時(shí)序發(fā)生改變。 二、為什么要使用IOB約束 考慮一個(gè)場景
    的頭像 發(fā)表于 01-16 11:02 ?144次閱讀
    xilinx FPGA IOB<b class='flag-5'>約束</b>使用以及注意事項(xiàng)

    時(shí)序約束一主時(shí)鐘與生成時(shí)鐘

    的輸出,對于Ultrascale和Ultrascale+系列的器件,定時(shí)器會自動(dòng)地接入到GT的輸出。 1.2 約束設(shè)置格式 主時(shí)鐘約束使用命令create_clock進(jìn)行創(chuàng)建,進(jìn)入Timing
    的頭像 發(fā)表于 11-29 11:03 ?627次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>一主時(shí)鐘與生成時(shí)鐘

    常用時(shí)序約束使用說明-v1

    Console,在Console最下面就會出現(xiàn)命令輸入框。TCL操作命名report_clocks會報(bào)告所有的時(shí)鐘關(guān)系?all_clocks 把系統(tǒng)使用的時(shí)鐘報(bào)告出來all_registers可以查看所有的寄存器
    的頭像 發(fā)表于 11-01 11:06 ?255次閱讀

    Vivado使用小技巧

    有時(shí)我們對時(shí)序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對應(yīng)的時(shí)序報(bào)告,而又不希望重新布局布線。這時(shí),我們可以打開布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時(shí)序
    的頭像 發(fā)表于 10-24 15:08 ?442次閱讀
    Vivado使用小技巧

    DDR4時(shí)序參數(shù)介紹

    DDR4(Double Data Rate 4)時(shí)序參數(shù)是描述DDR4內(nèi)存模塊在執(zhí)行讀寫操作時(shí)所需時(shí)間的一組關(guān)鍵參數(shù),它們直接影響到內(nèi)存的性能和穩(wěn)定性。以下是對DDR4時(shí)序參數(shù)的詳細(xì)解釋,涵蓋了主要的
    的頭像 發(fā)表于 09-04 14:18 ?3594次閱讀

    電路的兩類約束指的是哪兩類

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設(shè)計(jì)和分析中起著至關(guān)重要的作用。 一、電氣約束 電氣
    的頭像 發(fā)表于 08-25 09:34 ?1084次閱讀

    深度解析FPGA中的時(shí)序約束

    建立時(shí)間和保持時(shí)間是FPGA時(shí)序約束中兩個(gè)最基本的概念,同樣在芯片電路時(shí)序分析中也存在。
    的頭像 發(fā)表于 08-06 11:40 ?816次閱讀
    深度解析FPGA中的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

    DRAM內(nèi)存操作時(shí)序解析

    在數(shù)字時(shí)代,DRAM(動(dòng)態(tài)隨機(jī)存取存儲器)扮演著至關(guān)重要的角色。它們存儲著我們的數(shù)據(jù),也承載著我們的記憶。然而,要正確地操作DRAM并確保其高效運(yùn)行,了解其背后的時(shí)序操作機(jī)制是必不可少的。
    的頭像 發(fā)表于 07-26 11:39 ?860次閱讀
    DRAM內(nèi)存<b class='flag-5'>操作</b>與<b class='flag-5'>時(shí)序</b>解析

    FPGA 高級設(shè)計(jì):時(shí)序分析和收斂

    Static Timing Analysis,簡稱 STA。它可以簡單的定義為:設(shè)計(jì)者提出一些特定的時(shí)序要求(或者說是添加特定的時(shí)序約束),套用特定的
    發(fā)表于 06-17 17:07

    中控流程工業(yè)首款A(yù)I時(shí)序大模型TPT發(fā)布

    點(diǎn)燃AI引擎,打造工業(yè)應(yīng)用新范式? 杭州2024年6月7日?/美通社/ --?6月5日,由中控技術(shù)傾力打造的流程工業(yè)首款A(yù)I時(shí)序大模型TPT(Time-series Pre-trained
    的頭像 發(fā)表于 06-07 14:23 ?568次閱讀
    中控<b class='flag-5'>流程</b>工業(yè)首款A(yù)I<b class='flag-5'>時(shí)序</b>大模型TPT發(fā)布

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

    對數(shù)據(jù)的成功獲取。Xilinx約束系統(tǒng)允許設(shè)計(jì)者在不需考慮源和目的時(shí)鐘頻率、相位的情況下約束數(shù)據(jù)路徑的最大延時(shí)。 異步時(shí)鐘域使用的約束方法的流程為: 為源寄存器定義
    發(fā)表于 05-06 15:51

    FPGA工程的時(shí)序約束實(shí)踐案例

    詳細(xì)的原時(shí)鐘時(shí)序、數(shù)據(jù)路徑時(shí)序、目標(biāo)時(shí)鐘時(shí)序的各延遲數(shù)據(jù)如下圖所示。值得注意的是數(shù)據(jù)路徑信息,其中包括Tco延遲和布線延遲,各級累加之后得到總的延遲時(shí)間。
    發(fā)表于 04-29 10:39 ?936次閱讀
    FPGA工程的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>實(shí)踐案例

    時(shí)序約束實(shí)操

    添加約束的目的是為了告訴FPGA你的設(shè)計(jì)指標(biāo)及運(yùn)行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復(fù)制到別的指定目錄或者新建自己的SDC文件添加到工程)。
    的頭像 發(fā)表于 04-28 18:36 ?2429次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>實(shí)操

    Xilinx FPGA的約束設(shè)置基礎(chǔ)

    LOC約束是FPGA設(shè)計(jì)中最基本的布局約束和綜合約束,能夠定義基本設(shè)計(jì)單元在FPGA芯片中的位置,可實(shí)現(xiàn)絕對定位、范圍定位以及區(qū)域定位。
    發(fā)表于 04-26 17:05 ?1350次閱讀
    Xilinx FPGA的<b class='flag-5'>約束</b>設(shè)置基礎(chǔ)

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

    時(shí)鐘頻率、相位的情況下約束數(shù)據(jù)路徑的最大延時(shí)。 異步時(shí)鐘域使用的約束方法的流程為: 為源寄存器定義時(shí)序組 為目的寄存器定義時(shí)序組 使用F
    發(fā)表于 04-12 17:39