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

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

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

3天內不再提示

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

454398 ? 來源: 科學計算Tech ? 作者:貓叔 ? 2020-09-26 11:35 ? 次閱讀

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

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

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

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

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

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/*

# 獲取觸發器為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的網線
get_nets -hier *send_resp_val*
get_nets -filter {NAME =~ *send_resp_val*} -hier

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

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

# 獲取模塊cmd_parse_i0下的名稱中包含字符arg_cnt[]的網線
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]

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

# 已知引腳名獲取與該引腳相連的網線
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不能和層次分隔符“/”同時使用,但“/”可出現在-filter中

2. 可根據屬性過濾查找目標對象

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

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

    關注

    1643

    文章

    21983

    瀏覽量

    614710
  • TCL
    TCL
    +關注

    關注

    11

    文章

    1775

    瀏覽量

    89666
  • 時序約束
    +關注

    關注

    1

    文章

    118

    瀏覽量

    13635
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    PCB Layout 約束管理,助力優化設計

    本文重點PCBlayout約束管理在設計的重要性Layout約束有助避免一些設計問題設計可以使用的不同約束在PCB設計規則和
    的頭像 發表于 05-16 13:02 ?285次閱讀
    PCB Layout <b class='flag-5'>約束</b>管理,助力優化設計

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

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

    FPGA時序約束之設置時鐘組

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

    一文詳解Vivado時序約束

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

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

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

    TCL發布萬象分區技術,重塑Mini LED技術巔峰

    在Mini LED賽道上,TCL作為行業先行者,憑借其深厚的技術積累和持續的創新精神,再次引領技術革命。近日,TCL宣布對Mini LED底層技術
    的頭像 發表于 12-17 10:14 ?777次閱讀

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

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

    TCL華星發布新技術品牌APEX

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

    常用時序約束使用說明-v1

    為了防止約束失敗,我們在Tcl輸入框驗證,沒有告警或者錯誤說明約束的寫法是正確的set_max_delay 5.00 -from [get_cells key2_detect_ins
    的頭像 發表于 11-01 11:06 ?510次閱讀

    微處理器的指令集和指令系統有什么不同

    微處理器的指令集和指令系統是兩個緊密相關但又有所區別的概念,它們在微處理器的設計和運行扮演著不同的角色。以下是對這兩個概念的詳細解析,旨在深入探討它們之間的不同點。
    的頭像 發表于 10-05 14:57 ?1022次閱讀

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

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設計和分析起著至關重要的作用。 一、電氣
    的頭像 發表于 08-25 09:34 ?1859次閱讀

    深度解析FPGA的時序約束

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

    如何在FPGA實現狀態機

    FPGA(現場可編程門陣列)實現狀態機是一種常見的做法,用于控制復雜的數字系統行為。狀態機能夠根據當前的輸入和系統狀態,決定下一步的動作和新的狀態。這里,我們將詳細探討如何在FPGA
    的頭像 發表于 07-18 15:57 ?1120次閱讀

    FPGA技術的主要應用

    和靈活性,FPGA在多個領域得到了廣泛應用。本文將深入探討FPGA技術的主要應用,涵蓋通信與網絡、數字信號處理、汽車與航天、工業自動化、高性能計算、智能物聯網等多個方面。
    的頭像 發表于 07-17 16:38 ?4630次閱讀

    FPGA 高級設計:時序分析和收斂

    分析報告,從而對設計的性能做出評估。靜態時序分析工具以約束作為判斷時序是否滿足設計要求的標準,因此要求設計者正確輸入約束,以便靜態時序分析工具輸 出正確的時序分析報告。 3、指定 FPGA/CPLD
    發表于 06-17 17:07
    主站蜘蛛池模板: 国内91视频 | 瑟瑟网站免费 | 人人射人人射 | 免费观看视频 | 国产精品福利视频手机免费观看 | 欧美成人午夜精品免费福利 | 韩国免费特一级毛片 | 毛片免费看网站 | 亚洲涩色 | 午夜视频在线免费播放 | 四虎影院永久地址 | 丁香六月色婷婷 | 亚洲 欧美 动漫 | h视频在线播放 | 欧美精品网 | 在线播放真实国产乱子伦 | 欧美性黑人十极品hd | 久热首页| 真实偷清晰对白在线视频 | 五月天婷婷网址 | 可以免费看黄的网址 | 噜噜噜噜噜久久久久久91 | cijilu刺激 国产 | 久热久热 | 激情五月亚洲 | 免费h视频| 福利片在线观看免费高清 | 欧美一区亚洲 | bt天堂在线www种子搜索 | 欧美成人在线网站 | 高h乱肉辣文辣书阁 | 国产激烈无遮挡免费床戏视频 | 影音先锋 色天使 | 欧美在线观看视频一区 | 亚洲日本视频 | 最新欧美一级视频 | 午夜精品视频5000 | 亚洲天堂二区 | 免费人成黄页在线观看1024 | 国产亚洲视频在线播放大全 | 夜夜爽爽爽|