日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > ZYNQ
		


Tcl——ToolCommand Language,誕生于80年代的加州大學(xué)伯克利分校,作為一種簡(jiǎn)單高效可移植性好的腳本語(yǔ)言,一種基于字符串的命令語(yǔ)言,目前已經(jīng)廣泛應(yīng)用在幾乎所有的EDA工具中。

Xilinx公司從ISE工具的后期開(kāi)始,在工具中引入了對(duì)tcl語(yǔ)言的支持。在目前廣泛使用的設(shè)計(jì)工具Vivado中,更是集成了tcl解釋器,實(shí)現(xiàn)了對(duì)tcl很好的支持,同時(shí)也大大提高了編譯及布局布線效率。

Vivado支持工程模式(ProjectBased Mode)和非工程模式(NoneProject Mode)兩種,且都能通過(guò)Tcl腳本批處理運(yùn)行。工程模式主要是在Vivado圖形化界面IDE中運(yùn)行和調(diào)試,Vivado工具可自動(dòng)管理設(shè)計(jì)流程和設(shè)計(jì)數(shù)據(jù),各種數(shù)據(jù)都比較直觀。非工程模式是一直內(nèi)存編譯流程,所有步驟都需要開(kāi)發(fā)者手動(dòng)編輯腳本,命令和參數(shù),這樣的模式開(kāi)發(fā)者對(duì)設(shè)計(jì)流程有完全的掌控力。

目前,更多的人使用的是工程模式,今天我們就基于工程模式介紹幾個(gè)Tcl命令的使用方法。


讀取trace length


在硬件設(shè)計(jì),尤其是高速接口設(shè)計(jì)(ddr等接口)中,硬件工程師需要充分考慮線長(zhǎng),除了外部走線之外,芯片管腳到內(nèi)部的線長(zhǎng)也需要考慮。

fpga工程師可以在vivadoTcl Console中執(zhí)行tcl命令,生成對(duì)應(yīng)器件的trace length文件提供給硬件工程師。

具體命令如下:

link_design -part

write_csv

第一個(gè)命令為鏈接具體的芯片型號(hào),第二個(gè)命令為導(dǎo)出tracelengthcsv文件。

7系列和Ultrascale/Ultrascale+的型號(hào)指定有細(xì)微區(qū)別,具體如下:

link_design -part xc7k160tfbg676

link_design -part xcku040-sfva784-1-c


提高編譯效率


不管是綜合(Synthesis)還是實(shí)現(xiàn)(Implementation)階段,Vivado都支持多線程編譯。默認(rèn)情況下,Windows/Linux操作系統(tǒng),綜合階段的線程數(shù)均為2。而在實(shí)現(xiàn)階段,Windows系統(tǒng)的默認(rèn)線程數(shù)為2,Linux操作系統(tǒng)的默認(rèn)線程數(shù)為8。這就是很多時(shí)候,使用Linux系統(tǒng)比Windows系統(tǒng)的編譯效率高的原因之一。

我們可以通過(guò)get_param命令進(jìn)行目前使用線程數(shù)的確認(rèn),具體命令見(jiàn)下圖藍(lán)色部分。

我們可以通過(guò)set_param命令設(shè)定期望的線程數(shù),具體命令見(jiàn)下圖藍(lán)色部分。

筆者在Windows系統(tǒng)中嘗試,實(shí)現(xiàn)部分的運(yùn)行時(shí)間有一定縮短。


幫助處理不方便處理的部分


有時(shí)使用Xilinx自帶的IP,只有網(wǎng)表文件,無(wú)法修改IP內(nèi)部的代碼。在實(shí)現(xiàn)(Implementation)過(guò)程中,發(fā)現(xiàn)某資源占用過(guò)多,導(dǎo)致無(wú)法通過(guò),我們可以考慮使用tcl命令,remove多余的資源。

下面的例子中,例化了兩個(gè)axi_chip2chipIP,這個(gè)IP中使用了idelayctrl。例化兩個(gè)IP的時(shí),bank33/35中既有axi_c2c_1IO,也有axi_c2c_2IO,一個(gè)clock region中只有一個(gè)idelayctrl的資源,這就導(dǎo)致了IDELAYCTRL_GROUP的沖突。Vivado實(shí)現(xiàn)以后會(huì)報(bào)如下錯(cuò)誤:

因?yàn)槲覀儫o(wú)法在代碼中修改idelayctrl的內(nèi)容,所以我們只能通過(guò)Project Setting中添加鉤子腳本(HookScript)的方式,將其中一個(gè)idelayctrl刪除。


具體的方法如下:

  1. 先將xdc中的idelayctrl等內(nèi)容刪除。

  2. 然后編輯好一個(gè)Tcl腳本,腳本文件內(nèi)部命令如下:

###========================================###

remove_cell u_c2c_fp1/inst/master_fpga_gen.axi_chip2chip_master_phy_inst/master_sio_phy.axi_chip2chip_sio_input_inst/idelayctrl_gen.IDELAYCTRL_inst


set_logic_one [get_pinsu_c2c_fp1/inst/master_fpga_gen.axi_chip2chip_master_phy_inst/axi_chip2chip_phy_init_inst/channel_up]

###=======================================###

remove_cell命令是將對(duì)應(yīng)的一個(gè)idelayctrl刪除。

set_logic_one是為了保證idelayctrl的輸出有效。


3. 最后將上面的Tcl腳本在init_designtcl.postopt_designtcl.pre中指定,使之有效(如下圖所示)。



Vivado的圖形界面中,綜合(Synthesis)和實(shí)現(xiàn)(Implementation)階段的每個(gè)子步驟都可以添加Tcl腳本。

其中tcl.pre表示在子階段之前需要執(zhí)行的Tcl腳本,tcl.post表示在子階段之后需要執(zhí)行的Tcl腳本。


通過(guò)上面的內(nèi)容,我們可以看到如果我們?cè)诠ぷ髦惺褂?span style="font-family:Arial,sans-serif;">Tcl命令/腳本,可以實(shí)現(xiàn)工程模式設(shè)計(jì)中,圖形化界面不方便實(shí)現(xiàn)的功能。本文對(duì)Tcl部分做一些拋磚引玉的簡(jiǎn)介,希望大家能靈活使用Tcl功能來(lái)加速工程實(shí)現(xiàn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉