chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

Vivado時(shí)序約束中詳細(xì)的Tcl命令

454398 ? 來源:科學(xué)計(jì)算technomania ? 作者:貓叔 ? 2020-11-16 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Vivado時(shí)序約束中Tcl命令的對象及屬性

在前面的章節(jié)中,我們用了很多Tcl的指令,但有些指令并沒有把所有的參數(shù)多列出來解釋,這一節(jié),我們就把約束中的Tcl指令詳細(xì)講一下。

我們前面講到過get_pins和get_ports的區(qū)別,而且我們也用過get_cells、get_clocks和get_nets這幾個(gè)指令,下面就通過一張圖直觀展現(xiàn)它們的區(qū)別。


get_clocks后面的對象是我們之前通過create_clocks或者create_generated_clocks創(chuàng)建的時(shí)鐘,不在硬件上直接映射。

我們再來看下各個(gè)命令的屬性。

1. port

我們可以通過Tcl腳本查看port的所有屬性,比如上面的wave_gen工程中,有一個(gè)port是clk_pin_p,采用如下腳本:

set inst [get_ports clk_pin_p]
report_property $inst

顯示如下:

get_ports的使用方法如下:

# 獲取所有端口
get_ports *

# 獲取名稱中包含data的端口
get_ports *data*

# 獲取所有輸出端口
get_ports -filter {DIRECTION == OUT}

# 獲取所有輸入端口
all_inputs

# 獲取輸入端口中名字包含data的端口
get_ports -filter {DIRECTION == IN} *data*

# 獲取總線端口
get_ports -filter {BUS_NAME != ""}

2. cell

按照上面的同樣的方式,獲取cell的property,如下:

get_cells的使用方法如下:

# 獲取頂層模塊
get_cells *

# 獲取名稱中包含字符gen的模塊
get_cells *gen*

# 獲取clk_gen_i0下的所有模塊
get_cells clk_gen_i0/*

# 獲取觸發(fā)器為FDRE類型且名稱中包含字符samp
get_cells -hier filter {REF_NAME == FDRE} *samp*

# 獲取所有的時(shí)序單元邏輯
get_cells -hier -filter {IS_SEQUENTIAL == 1}

# 獲取模塊uart_rx_i0下兩層的LUT3
get_cells -filter {REF_NAME == LUT3} *uart_tx_i0/*/*

3. pin

獲取pin的property,如下:

get_pins的使用方法如下:

# 獲取所有pins
get_pins *

# 獲取名稱中包含字符led的引腳
get_pins -hier -filter {NAME =~ *led*}

# 獲取REF_PIN_NAME為led的引腳
get_pins -hier -filter {REF_PIN_NAME == led}

# 獲取時(shí)鐘引腳
get_pins -hier -filter {IS_CLOCK == 1}

# 獲取名稱中包含cmd_parse_i0的使能引腳
get_pins -filter {IS_ENABLE == 1} cmd_parse_i0/*/*

# 獲取名稱中包含字符cmd_parse_i0且為輸入的引腳
get_pins -filter {DIRECTION == IN} cmd_parse_i0/*/*

4. net

獲取pin的property,如下:

get_nets的使用方法如下:

# 獲取所有nets
get_nets *

# 獲取名稱中包含字符send_resp_val的網(wǎng)線
get_nets -hier *send_resp_val*
get_nets -filter {NAME =~ *send_resp_val*} -hier

# 獲取穿過邊界的同一網(wǎng)線的所有部分
get_nets {resp_gen_i0/data4[0]} -segments

# 獲取模塊cmd_parse_i0下的所有網(wǎng)線
get_nets -filter {PARENT_CELL == cmd_parse_i0} -hier

# 獲取模塊cmd_parse_i0下的名稱中包含字符arg_cnt[]的網(wǎng)線
get_nets -filter {PARENT_CELL == cmd_parse_i0} -hier *arg_cnt[*]

這5個(gè)tcl指令的常用選項(xiàng)如下表:

命令 -hierarchy -filter -of_objects -regexp -nocase
get_cells
get_nets
get_pins
get_ports
get_clocks

這5個(gè)Tcl命令對應(yīng)的5個(gè)對象之間也有著密切的關(guān)系,下圖所示的箭頭的方向表示已知箭頭末端對象可獲取箭頭指向的對象。


以wave_gen中的clk_gen_i0模塊為例來說明上面的操作:

# 獲取模塊的輸入引腳
get_pins -of [get_cells {clk_gen_i0/clk_core_i0}] -filter {DIRECTION == IN}

# 已知引腳名獲取所在模塊
get_cells -of [get_pins clk_gen_i0/clk_core_i0/clk_in1_n]

# 已知模塊名獲取與該模塊相連的網(wǎng)線
get_nets -of [get_cells {clk_gen_i0/clk_core_i0}]

# 已知引腳名獲取與該引腳相連的網(wǎng)線
get_nets -of [get_pins clk_gen_i0/clk_core_i0/clk_rx]

# 已知時(shí)鐘引腳獲取時(shí)鐘引腳對應(yīng)的時(shí)鐘
get_clocks -of [get_pins clk_gen_i0/clk_core_i0/clk_rx]

需要注意的是:

① -hier不能和層次分隔符“/”同時(shí)使用,但“/”可出現(xiàn)在-filter中

② 可根據(jù)屬性過濾查找目標(biāo)對象

③ -filter中的屬性為:“==”(相等)、“!=”(不相等)、"=~"(匹配)、"!~"(不匹配),若有多個(gè)表達(dá)式,其返回值為bool類型時(shí),支持邏輯操作(&& ||)

編輯:hfy


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

    關(guān)注

    11

    文章

    1794

    瀏覽量

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

    關(guān)注

    1

    文章

    118

    瀏覽量

    13886
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    846

    瀏覽量

    70431
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    Windows環(huán)境下用Vivado調(diào)試E203

    第一步 選擇RTL文件 創(chuàng)建Vivado工程后,將e203_hbirdv2-masterrtle203下的所有Verilog文件加入工程; 此外還有fpgamcu200tsrc目錄
    發(fā)表于 11-05 06:25

    開源RISC-V處理器(蜂鳥E203)學(xué)習(xí)(二)修改FPGA綜合環(huán)境(移植到自己的Xilinx FPGA板卡)

    的板卡只有125M單端時(shí)鐘,所以約束的修改如下圖所示,為了避免混淆直接將時(shí)鐘信號名都改了。 這里需要修改腳本,如圖修改ip.tcl腳本,這個(gè)生成vivado的IP,添加如下兩行腳本,配置
    發(fā)表于 10-31 08:46

    vivado時(shí)序分析相關(guān)經(jīng)驗(yàn)

    vivado綜合后時(shí)序為例主要是有兩種原因?qū)е拢?1,太多的邏輯級 2,太高的扇出 分析時(shí)序違例的具體位置以及原因可以使用一些tcl命令方便
    發(fā)表于 10-30 06:58

    移植E203到Genesys2開發(fā)板時(shí)遇到時(shí)序問題的常見原因

    在移植E203到自己的Genesys2開發(fā)板時(shí)候遇到時(shí)序問題的常見原因 1.在vivado,連接的管腳的信號一般都會自動添加OBUF或IBUF。 但是對于inout類型的接口,不會主動添加
    發(fā)表于 10-29 07:04

    在Windows10上運(yùn)行vivado使用tcl文件創(chuàng)建E203項(xiàng)目路徑錯(cuò)誤的問題

    先按照官方給的開源項(xiàng)目,e203_hbirdv2-masterfpgamcu200t目錄下的Makefile內(nèi)容手動創(chuàng)建vivado工程。 在調(diào)用.tcl文件的過程,每次進(jìn)行到
    發(fā)表于 10-28 07:19

    win10環(huán)境下使用vivado生成.bit與.mcs文件

    到工程。 5.添加約束文件。將fpga目錄下的constrs文件夾復(fù)制到工程,然后添加約束文件。 6.將fpga目錄下的ip.tc
    發(fā)表于 10-27 08:25

    時(shí)序約束問題的解決辦法

    在使用vivado對 Verilog 代碼進(jìn)行綜合后,點(diǎn)擊“SYNTHESIS”下的“Report Timing Summary”,可以查看綜合后的時(shí)序報(bào)告,查看 Setup Time 和 Hold
    發(fā)表于 10-24 09:55

    關(guān)于綜合保持時(shí)間約束不滿足的問題

    1、將 nuclei-config.xdc 和 nuclei-master.xdc 加入到項(xiàng)目工程,綜合得到時(shí)序約束報(bào)告如下: 保持時(shí)間約束不滿足,分析原因,發(fā)現(xiàn)所有不滿足均出現(xiàn)在
    發(fā)表于 10-24 07:42

    vcs和vivado聯(lián)合仿真

    文檔明確描述vivado2021.2版本對應(yīng)VCS的版本是2020.12,由于license問題所以選擇vcs2018的版本;雖然目前與官方的版本不匹配,但是不影響正常使用; 使用tcl界面
    發(fā)表于 10-24 07:28

    技術(shù)資訊 I Allegro 設(shè)計(jì)的走線約束設(shè)計(jì)

    本文要點(diǎn)在進(jìn)行時(shí)序等長布線操作的時(shí)候,在布線操作的時(shí)候不管你是走蛇形線還是走折線,約束管理器會自動幫你計(jì)算長度、標(biāo)偏差,通過精確控制走線長度,來實(shí)現(xiàn)信號的時(shí)序匹配。約束設(shè)計(jì)就是一套精準(zhǔn)
    的頭像 發(fā)表于 09-05 15:19 ?875次閱讀
    技術(shù)資訊 I Allegro 設(shè)計(jì)<b class='flag-5'>中</b>的走線<b class='flag-5'>約束</b>設(shè)計(jì)

    Vivado無法選中開發(fā)板的常見原因及解決方法

    對應(yīng)的器件信息和約束文件(XDC),大大簡化工程初始化流程。然而,在某些情況下,我們可能會發(fā)現(xiàn) Vivado 的界面無法選中目標(biāo)開發(fā)板,導(dǎo)致只能手動選擇器件。那么,遇到這種情況該如何處理呢?
    的頭像 發(fā)表于 07-15 10:19 ?1365次閱讀
    <b class='flag-5'>Vivado</b>無法選中開發(fā)板的常見原因及解決方法

    西門子再收購EDA公司 西門子宣布收購Excellicon公司 時(shí)序約束工具開發(fā)商

    精彩看點(diǎn) 此次收購將幫助系統(tǒng)級芯片 (SoC) 設(shè)計(jì)人員通過經(jīng)市場檢驗(yàn)的時(shí)序約束管理能力來加速設(shè)計(jì),并提高功能約束和結(jié)構(gòu)約束的正確性 ? 西門子宣布 收購 Excellicon 公司
    的頭像 發(fā)表于 05-20 19:04 ?1253次閱讀
    西門子再收購EDA公司  西門子宣布收購Excellicon公司  <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>工具開發(fā)商

    FPGA時(shí)序約束之設(shè)置時(shí)鐘組

    Vivado時(shí)序分析工具默認(rèn)會分析設(shè)計(jì)中所有時(shí)鐘相關(guān)的時(shí)序路徑,除非時(shí)序約束
    的頭像 發(fā)表于 04-23 09:50 ?957次閱讀
    FPGA<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>之設(shè)置時(shí)鐘組

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

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

    Vivado Tcl零基礎(chǔ)入門與案例實(shí)戰(zhàn)【高亞軍編著】

    Vivado Tcl零基礎(chǔ)入門與案例實(shí)戰(zhàn)-高亞軍編寫
    發(fā)表于 01-14 11:13