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

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

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

?FPGA便捷開發(fā)-TCL商店(開源)

FPGA技術(shù)江湖 ? 來源:FPGA技術(shù)江湖 ? 作者:FPGA技術(shù)江湖 ? 2022-04-07 15:02 ? 次閱讀

TCLIC領(lǐng)域中常用的腳本有Tcl、Perl、Shell、Python等,在這些腳本里面,Tcl(“工具命令語言”( 即Tcl的全稱Tool Command Language))由于其語法簡單,易上手等特點,在FPGA開發(fā)中越來越受到重視。

John K. Ousterhout于 1988 年開始開發(fā) Tcl/Tk(讀作“tickle tee-kay”),然后是加州大學(xué)伯克利分校的一名教授繼續(xù)對它進(jìn)行開發(fā)。目前TCL在很多EDA工具(Design Complier、quartus、Synplify、modesim、finesim、Vivado等)中都扮演重要角色,這也是為什么在FPGA設(shè)計中受到重視的主要原因。

TCL讓FPGA開發(fā)更完美

目前FPGA幾大廠商中,Xilinx和Intel無疑在國內(nèi)占據(jù)很大市場,其對應(yīng)的開發(fā)的EDA工具分別為Quartus II和Vivado(老版本ISE),接下來以Vivado為例簡單說明其Tcl在開發(fā)過程中的應(yīng)用。

Xilinx的設(shè)計套件Vivado相比上一代產(chǎn)品ISE,在運(yùn)行速度、算法優(yōu)化和功能整合等很多方面都有了顯著地改進(jìn)。其中約束語言XDC及腳本語言TCL的引入更是讓其開發(fā)更加完美。

下面從幾個方面說明一下Tcl在Vivado中的應(yīng)用:

非工程模式(NoneProject Mode)

傳統(tǒng)的FPGA開發(fā)都是通過GUI界面進(jìn)行相關(guān)的“按鈕”式操作,Vivado則在引入Tcl解釋器后,可以通過非工程模式進(jìn)行操作,一個Tcl腳本即可自動化建立工程,對工程進(jìn)行分析。

提高編譯效率

Vivado“出現(xiàn)”的比較晚,所以對于多線程的支持還是比較友好的,默認(rèn)情況下,Vivado在Windows默認(rèn)是2個線程(綜合階段,Windows/Linux操作系統(tǒng)都是2),實現(xiàn)階段Windows默認(rèn)也是2個線程(Linux操作系統(tǒng)的默認(rèn)線程數(shù)為8),我們可以通過獲取當(dāng)前的線程數(shù):

3a6a5a4c-b584-11ec-aa7f-dac502259ad0.png

同時可以通過 設(shè)定期望的線程數(shù):

3a7fe81c-b584-11ec-aa7f-dac502259ad0.png

使用Tcl定位目標(biāo)

Vivado實現(xiàn)完成后,可以對出問題的路徑進(jìn)行分析,同時對網(wǎng)表中的目標(biāo)進(jìn)行查找、定位和遍歷,其中常見的命令大家應(yīng)該都有見過:

get_ports

get_cells/get_nets

get_pins

以上只是簡單介紹了幾個Tcl在Vivado中的應(yīng)用,還有很多很多方面Vivado的開發(fā)都不得不借助Tcl腳本,像XDC約束文本,等等。在一些“高級”應(yīng)用中,像包括ECO、PR、HD Flow等等都是從Tcl腳本方式開始支持。

所以在目前的FPGA開發(fā)模式中Tcl是一個繞不開的語言,同時其特點也讓FPGA開發(fā)更完美。

FPGA便捷開發(fā)-TCL商店

Vivado在設(shè)計中集成了很多基礎(chǔ)的Tcl命令,所有的命令及作用都在Xilinx官方文檔UG835中,下面是鏈接(瀏覽器打開即可閱讀):

?

https://www.xilinx.com/content/dam/xilinx/support/documentation/sw_manuals/xilinx2021_2/ug835-vivado-tcl-commands.pdf

但是,一旦遇到自己想要的功能(比如:獲取MMCM/PLL信息),但是Vivado中沒有集成進(jìn)去怎么辦?

今天的主角就閃亮登場了(鋪墊夠久了)-開源項目XilinxTclStore

?

https://github.com/Xilinx/XilinxTclStore

方面下載鏈接(后面都會提供):

?

https://gitee.com/mirrors_Xilinx/XilinxTclStore

簡介

Tcl Store 是 Tcl 代碼的開源存儲庫,主要用于 Xilinx Vivado 設(shè)計套件。應(yīng)用程序是由所有者發(fā)布和維護(hù)的一個或多個 Tcl 腳本的組或集合。應(yīng)用程序所有者充當(dāng)該代碼的看門人,我們只接受所有者對應(yīng)用程序的貢獻(xiàn)。此外,整個存儲庫由 Xilinx 官方管理,它控制對公共存儲庫的推送和審核。

更多的介紹可以看下下面的視頻(帶字幕):

項目的WIKI界面有更詳細(xì)的介紹:

?

https://github.com/Xilinx/XilinxTclStore/wiki/Xilinx-Tcl-Store-Home

目前支持的幾大部分如下:

3a94d9f2-b584-11ec-aa7f-dac502259ad0.png

使用

其實整個開源項目主要目的是可以大家集思廣益對項目做貢獻(xiàn),使用時非常簡單的,只需要兩三步即可完成:

Vivado界面:Tool--> Xilinx Tcl Store,點擊Inatall即可安裝:

3aa42f7e-b584-11ec-aa7f-dac502259ad0.png

安裝程序后,將報告應(yīng)用程序中可用的 Tcl proc 列表以及一行摘要。

3abb242c-b584-11ec-aa7f-dac502259ad0.png

安裝程序后,proc 名稱將更改為超鏈接。單擊任何 proc 名稱會打開一個帶有幫助菜單項的上下文窗口。選擇幫助會打開所選過程的嵌入式幫助信息。

3ad80524-b584-11ec-aa7f-dac502259ad0.png

安裝程序后,可以通過兩種不同的方式訪問屬于該應(yīng)用程序的所有 proc:

來自<::myapp 命名空間>。當(dāng) Vivado 啟動時,會自動為<::myapp 命名空間>下所有已安裝應(yīng)用程序的所有 proc 創(chuàng)建一個入口點(包裝器)。 從定義 proc的應(yīng)用命名空間<::myapp>中。

上面說的有點繞口,其實就在安裝完成就有一個命令,如下(以designutils為例):

3af4ddfc-b584-11ec-aa7f-dac502259ad0.png

圓圈中的命令就可以直接在Tcl中運(yùn)行

3b0c93de-b584-11ec-aa7f-dac502259ad0.png

上面就是方式一的調(diào)用方式。還有方式二不常用就舉例如下:

vivado>::add_probe vivado>::add_probe

方式一常用的原因是可以帶一些默認(rèn)參數(shù),例如 -help、-verbose 和 -quiet

vivado>::add_probe-help

使用比較簡單,一些命令很有用,比如在ila中插入一個PROBE,當(dāng)然可以結(jié)合自己的使用習(xí)慣建一些常見的Tcl命令。

關(guān)于怎么提交自己的代碼,可以看下這個項目的WIKI,講解的很詳細(xì)。

總結(jié)

今天介紹的項目,應(yīng)該是方便、便捷大家開發(fā)FPGA的開源項目,對于一些不怎么常用Tcl的用戶,可以慢慢學(xué)起來了,因為從目前看,一些高級的調(diào)試技巧都是從Tcl出發(fā)的。

整個項目使用也是異常簡單的,而且注意實時更新,因為官方會經(jīng)常更新一些命令,對于一些比較成熟的項目,官方會集成到新的EDA工具中,更新方法如下:

3b1ebab4-b584-11ec-aa7f-dac502259ad0.png

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

審核編輯 :李倩

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

    關(guān)注

    1629

    文章

    21748

    瀏覽量

    603914
  • IC
    IC
    +關(guān)注

    關(guān)注

    36

    文章

    5957

    瀏覽量

    175729
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3363

    瀏覽量

    42537

原文標(biāo)題:?FPGA便捷開發(fā)-TCL商店(開源)

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    #硬聲創(chuàng)作季 #FPGA Xilinx開發(fā)-08 Vivado里最常用的5個Tcl命令-1

    fpga芯片XilinxTCLTCL王牌Vivado
    水管工
    發(fā)布于 :2022年10月08日 22:44:31

    #硬聲創(chuàng)作季 #FPGA Xilinx開發(fā)-08 Vivado里最常用的5個Tcl命令-2

    fpga芯片XilinxTCLTCL王牌Vivado
    水管工
    發(fā)布于 :2022年10月08日 22:44:54

    #硬聲創(chuàng)作季 #FPGA Xilinx開發(fā)-08 Vivado里最常用的5個Tcl命令-3

    fpga芯片XilinxTCLTCL王牌Vivado
    水管工
    發(fā)布于 :2022年10月08日 22:45:16

    XILINX FPGA Debug with VIO and TCL

    提供的軟核,通過Xilinx開發(fā)環(huán)境和jtag下載線可以在PC上獲知FPGA內(nèi)部邏輯信號的狀態(tài),也能輸出信號給FPGA內(nèi)部邏輯。TCL是一種通用的EDA工具腳本語言。Xilinx
    發(fā)表于 03-08 15:29

    例說FPGA連載33:PLL例化配置與LED之使用Tcl Console進(jìn)行引腳分配

    Tcl(Tool Command Language),即工具命令語言。是一種好用易學(xué)的編程語言。在EDA工具中廣泛使用,幾乎所有FPGA開發(fā)工具都支持這種語言進(jìn)行輔助設(shè)計。例如這里我們就要嘗試用
    發(fā)表于 09-17 17:50

    FPGA+STM32開發(fā)板PCB開源

    ` 本帖最后由 Kirito_wjxn 于 2020-5-20 10:12 編輯 本設(shè)計為FPGA+STM32開發(fā)板,可處理高速信號,帶8bit并行高速AD/DA,滿足電賽信號類題目設(shè)計需要
    發(fā)表于 05-16 23:32

    FPGA開發(fā)Tcl的基于項目設(shè)計

    step1:使用creat_project指令創(chuàng)建一個項目設(shè)計,產(chǎn)生這個項目的目錄,以及有關(guān)的子目錄。 具體使用的指令是create_project tcl_first //這里的tcl
    發(fā)表于 02-08 18:41 ?927次閱讀

    FPGA設(shè)計中Tcl在Vivado中的基礎(chǔ)應(yīng)用

    Tcl介紹 Vivado是Xilinx最新的FPGA設(shè)計工具,支持7系列以后的FPGA及Zynq 7000的開發(fā)。與之前的ISE設(shè)計套件相比,Vivado可以說是全新設(shè)計的。無論從界面
    的頭像 發(fā)表于 11-17 17:32 ?2601次閱讀

    FPGA調(diào)試中常用的TCL語法簡介

    使用Jtag Master調(diào)試FPGA程序時用到tcl語言,通過編寫tcl腳本,可以實現(xiàn)對FPGA的讀寫,為調(diào)試FPGA程序帶來極大的便利,
    的頭像 發(fā)表于 02-19 19:44 ?2756次閱讀

    TTL FPGA開源項目

    電子發(fā)燒友網(wǎng)站提供《TTL FPGA開源項目.zip》資料免費下載
    發(fā)表于 07-28 10:18 ?3次下載
    TTL <b class='flag-5'>FPGA</b><b class='flag-5'>開源</b>項目

    FPGA與STM32開發(fā)開源

    電子發(fā)燒友網(wǎng)站提供《FPGA與STM32開發(fā)開源.zip》資料免費下載
    發(fā)表于 08-09 11:00 ?22次下載
    <b class='flag-5'>FPGA</b>與STM32<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>開源</b>

    FPGA與MCU單片機(jī)的綜合開發(fā)開源

    電子發(fā)燒友網(wǎng)站提供《FPGA與MCU單片機(jī)的綜合開發(fā)開源.zip》資料免費下載
    發(fā)表于 08-09 09:41 ?2次下載
    <b class='flag-5'>FPGA</b>與MCU單片機(jī)的綜合<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>開源</b>

    飛騰開發(fā)者平臺開源軟件列表正式上線

    為利用開源加快飛騰生態(tài)體系建設(shè),豐富飛騰生態(tài)內(nèi)涵,近日,飛騰開發(fā)者平臺開源軟件列表正式上線,為開發(fā)者提供高效、便捷的適配平臺。
    的頭像 發(fā)表于 01-30 10:03 ?1090次閱讀

    介紹一個使用FPGA做的開源示波器

    其實用FPGA做的示波器有很多,開源的相對較少,我們今天就簡單介紹一個使用FPGA做的開源示波器:
    發(fā)表于 08-14 09:03 ?1224次閱讀

    使用FPGA做的開源示波器

    其實用FPGA做的示波器有很多,開源的相對較少,我們今天就簡單介紹一個使用FPGA做的開源示波器。
    的頭像 發(fā)表于 08-29 09:30 ?1452次閱讀