新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > Tcl在Vivado中的應(yīng)用

Tcl在Vivado中的應(yīng)用

作者:周立娜 時(shí)間:2015-04-28 來源:電子產(chǎn)品世界 收藏

  如圖3所示,pins 在 Vivado 數(shù)據(jù)庫中有個(gè)獨(dú)特的存在形式,即 / 。 這里的“ /”不表示層次,而是其名字的一部分, 表示這個(gè) pin 所屬的實(shí)體。 也就是說,在使用 get_pins配合-hier 來查找 pins 時(shí),“ /”可以作為名字的一部分,出現(xiàn)在搜索條件內(nèi)(注意與上述get_ 和 get_nets 的使用區(qū)別) 。
    

本文引用地址:http://2s4d.com/article/273292.htm

  2.2 目標(biāo)之間的關(guān)系

  Tcl 在搜索網(wǎng)表中的目標(biāo)時(shí),除了上述根據(jù)名字條件直接搜索的方式,還可以利用目標(biāo)間的關(guān)系,使用-of_objects(在 Tcl 中可以簡(jiǎn)寫為-of)來間接搜索特定目標(biāo)。 Vivado 中定義的五類目標(biāo)間的關(guān)系如圖4(左)圖所示。 以圖4(右)圖的設(shè)計(jì)來舉例。
    

  圖5是一個(gè)更復(fù)雜的示例,涉及跨層次搜索??梢钥吹皆?get_pins 時(shí), 要加上-leaf才能準(zhǔn)確定位到門級(jí)元件(或 blackbox)的端口 q。另外, 在實(shí)際操作中, 使用 get_nets 和get_pins 時(shí),需要視情況而加上其它條件( -filter) 才能準(zhǔn)確找到下述例子中的 ( i2)。

  2.3 高級(jí)查找功能

  在使用 get_*命令查找網(wǎng)表中的目標(biāo)時(shí),除了名字這一直接條件,往往還需要輔以其它更復(fù)雜的條件判斷,這就需要用到高級(jí)查找功能: -filter 結(jié)合 Tcl 支持的各種關(guān)系和邏輯運(yùn)算符( ==, !=, =~, !~, <=, >=, >, <, &&, ||)甚至是正則表達(dá)式來操作。
    

  在創(chuàng)建子程序時(shí)也常常用到-filter,例如下述 get_p 的子程序/過程就可以用來返回指定管腳的方向?qū)傩?,告訴用戶這是一個(gè)輸入管腳還是一個(gè)輸出管腳。
    

  3 Tcl 在 Vivado 中的延伸應(yīng)用

  Tcl 在 Vivado 中的應(yīng)用還遠(yuǎn)不止上述所列,其它常用的功能包括使用預(yù)先寫好的 Tcl腳本來跑設(shè)計(jì)實(shí)現(xiàn)流程,創(chuàng)建高級(jí)約束( XDC 不支持循環(huán)等高級(jí) Tcl 語法)以及實(shí)現(xiàn)復(fù)雜的個(gè)性化設(shè)計(jì)流程等等。 Tcl 所帶來的強(qiáng)大的可擴(kuò)展性決定了其在版本控制、 設(shè)計(jì)自動(dòng)化流程等方面具有圖形化界面不能比擬的優(yōu)勢(shì)。

  Vivado 在不斷發(fā)展更新的過程中,還有很多新的功能,包括 ECO、 PR、 HD Flow 等等都是從 Tcl 腳本方式開始支持,然后再逐步放入圖形化界面中實(shí)現(xiàn)。這也解釋了為何高端 用戶和熟練的 Vivado 用戶都更偏愛 Tcl 腳本。


上一頁 1 2 3 下一頁

關(guān)鍵詞: Xilinx VivadoTcl FPGA cells

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉