亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

FPGA約束中的Tcl指令技術探討

454398 ? 來源: 科學計算Tech ? 作者:貓叔 ? 2020-09-26 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:貓叔 科學計算Tech微信公眾號

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

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

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

我們再來看下各個命令的屬性。

1. port
我們可以通過Tcl腳本查看port的所有屬性,比如上面的wave_gen工程中,有一個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*

# 獲取所有的時序單元邏輯
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}

# 獲取時鐘引腳
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個tcl指令的常用選項如下表:

?這5個Tcl命令對應的5個對象之間也有著密切的關系,下圖所示的箭頭的方向表示已知箭頭末端對象可獲取箭頭指向的對象。

以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]

# 已知時鐘引腳獲取時鐘引腳對應的時鐘
get_clocks -of [get_pins clk_gen_i0/clk_core_i0/clk_rx]

需要注意的是:

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

2. 可根據(jù)屬性過濾查找目標對象

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

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

    關注

    1652

    文章

    22238

    瀏覽量

    628749
  • TCL
    TCL
    +關注

    關注

    11

    文章

    1794

    瀏覽量

    90931
  • 時序約束
    +關注

    關注

    1

    文章

    118

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    文件的外設,可以將其注釋掉,比如我將RGB LED和GPIO注釋掉。當然后面就需要修改FPGA頂層文件,這個后面會說。但是板卡有相應外設,自己修改管腳號就可以了 4)修改時鐘 其次就是時鐘,我
    發(fā)表于 10-31 08:46

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

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

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

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

    蜂鳥e203移植fpga上如何修改約束文件

    第一步:我們先導入官方網(wǎng)站蜂鳥e203的代碼提供的e203添加進去,并加入ddr200T的 src.文件的system.v文件并加入約束文件(constrs文件夾之中
    發(fā)表于 10-24 07:18

    技術資訊 I Allegro 設計的走線約束設計

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

    云知聲攜手TCL空調(diào)煥新智能家電體驗

    “空調(diào)開24度,新風打開”——剛打完籃球的小濤對著客廳遠處的TCL空調(diào)發(fā)出指令,而空調(diào)無需聯(lián)網(wǎng)仍精準執(zhí)行操作。這一離線狀態(tài)下的智能響應場景,正是TCL空調(diào)與云知聲聯(lián)手研發(fā)的“基于端云協(xié)同的空調(diào)器語音自由交互關鍵
    的頭像 發(fā)表于 08-25 13:53 ?786次閱讀

    圖解環(huán)路設計及控制技術探討

    由于之前缺乏控制理論方面的知識在剛接觸反饋環(huán)路的時候對其中的很多名詞不是很明白,這次準備采用圖解的方法逐一的搞清楚這些名詞并且試圖找出一種便捷的設置零、極點的方法。最后準備再探討一下關于控制技術
    發(fā)表于 08-22 17:39

    技術資訊 I 圖文詳解約束管理器-差分對規(guī)則約束

    本文要點你是否經(jīng)常在Layout設計抓瞎,拿著板子無從下手,拿著鼠標深夜狂按;DDR等長沒做好導致系統(tǒng)不穩(wěn)定,PCIe沒設相位容差造成鏈路訓練失敗……這些都是血淚教訓,關鍵時刻需要靠約束管理器救命
    的頭像 發(fā)表于 08-08 17:01 ?791次閱讀
    <b class='flag-5'>技術</b>資訊 I 圖文詳解<b class='flag-5'>約束</b>管理器-差分對規(guī)則<b class='flag-5'>約束</b>

    PLL技術FPGA的動態(tài)調(diào)頻與展頻功能應用

    隨著現(xiàn)代電子系統(tǒng)的不斷發(fā)展,時鐘管理成為影響系統(tǒng)性能、穩(wěn)定性和電磁兼容性(EMI)的關鍵因素之一。在FPGA設計,PLL因其高精度、靈活性和可編程性而得到廣泛應用,本文將深入探討PLL技術
    的頭像 發(fā)表于 06-20 11:51 ?2072次閱讀
    PLL<b class='flag-5'>技術</b>在<b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的動態(tài)調(diào)頻與展頻功能應用

    電機繞組滾動烘干爐防爆安全技術探討

    電機繞組滾動烘干工藝在電機行業(yè)逐步推廣應用,但該防爆滾動烘干設備的制造卻仍沒有統(tǒng)一的標準,這就為設備的制造、使用、維修、保養(yǎng)埋下了隱患。文章主要探討了防爆滾動烘干爐的防爆技術,以期引起同行對防爆
    發(fā)表于 04-27 19:28

    FPGA時序約束之設置時鐘組

    Vivado時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束設置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組
    的頭像 發(fā)表于 04-23 09:50 ?872次閱讀
    <b class='flag-5'>FPGA</b>時序<b class='flag-5'>約束</b>之設置時鐘組

    一文詳解Vivado時序約束

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

    xilinx FPGA IOB約束使用以及注意事項

    xilinx FPGA IOB約束使用以及注意事項 一、什么是IOB約束 在xilinx FPGA,IOB是位于IO附近的寄存器,是
    的頭像 發(fā)表于 01-16 11:02 ?1408次閱讀
    xilinx <b class='flag-5'>FPGA</b> IOB<b class='flag-5'>約束</b>使用以及注意事項

    時序約束一主時鐘與生成時鐘

    一、主時鐘create_clock 1.1 定義 主時鐘是來自FPGA芯片外部的時鐘,通過時鐘輸入端口或高速收發(fā)器GT的輸出引腳進入FPGA內(nèi)部。對于賽靈思7系列的器件,主時鐘必須手動定義到GT
    的頭像 發(fā)表于 11-29 11:03 ?2075次閱讀
    時序<b class='flag-5'>約束</b>一主時鐘與生成時鐘

    TCL華星發(fā)布新技術品牌APEX

    TCL華星近日宣布了一項重大突破,其印刷OLED技術已實現(xiàn)量產(chǎn),并同步發(fā)布了全新的技術品牌——APEX。APEX品牌的推出,標志著TCL華星在顯示
    的頭像 發(fā)表于 11-19 17:32 ?1228次閱讀