如何使用腳本對(duì)Xilinx FPGA編程
最近在做一個(gè)GUI的項(xiàng)目,想試著用FPGA實(shí)現(xiàn)一個(gè)簡(jiǎn)單的GUI。硬件基本模塊和整個(gè)硬件系統(tǒng)已經(jīng)完成設(shè)計(jì),但是軟件程序上還處在調(diào)試階段,由于程序比較大,FPGA內(nèi)部的BRAM已經(jīng)完全不夠用了,只能將運(yùn)行的程序放到DDR DRAM中,這就導(dǎo)致了對(duì)FPGA編程分為兩步走:
本文引用地址:http://m.butianyuan.cn/article/201710/365664.htm1.使用Impact先將Download.bit文件下載到FPGA中(Download.bit文件只含有bootloop.elf)
2.通過(guò)XMD將executable.elf文件下載到DDR SDRAM中,然后運(yùn)行程序
因?yàn)槊看纬绦虻男薷亩夹枰匦孪螺d,往往是需要在EDKshell或者在XMD的終端中輸入同樣的命令。
重復(fù)性很強(qiáng)的工作為什么不讓計(jì)算機(jī)完成呢?
下面給出了一個(gè)解決方案,盡管不完善,但是對(duì)我調(diào)試來(lái)說(shuō)已經(jīng)足夠了。具體步驟如下:
編寫(xiě)用于下載bistream文件至FPGA的的腳本,當(dāng)然腳本肯定是基于Impact的,這里暫且將該腳本文件,download.cmd
腳本的內(nèi)容如下:
setMode -bscan
setCable -p auto
idenTIfy
assignfile -p 3 -file download.bit
program -p 3
quit
編寫(xiě)通過(guò)XMD下載可執(zhí)行文件至內(nèi)存中或者BRAM中的腳本,命名為xmd.opt
腳本的內(nèi)容如下:
connect mb mdm;
dow executable.elf;
con;
將download.bit, executable.elf,xmd.opt和download.cmd放在一個(gè)文件夾中
打開(kāi)EDK Shell,cd至剛才創(chuàng)建的文件夾目錄下,然后運(yùn)行如下命令:
$impact –batch download.cmd xmd –opt xmd.opt
5. 編輯一個(gè)download.tcl文件,內(nèi)容如下
impact –batch download.cmd;
xmd –opt xmd.opt;
然后在EDKshell下運(yùn)行如下命令 :
$source download.tcl
總結(jié)一下:
分別編輯三個(gè)腳本文件
用 impact 運(yùn)行的批處理文件(.cmd)
用XMD運(yùn)行的腳本文件(.opt)
用source運(yùn)行的通用腳本(.tcl)
最后再EDK Shell下運(yùn)行
至于腳本的每條命令,這里不做解釋了,有興趣可以參考如下的文檔:
Impact 用戶手冊(cè)
XMD 操作手冊(cè) ~helinski/files/ECE344/T1_XMD%20commands%20REFERENCE%20V2.pdf
Revesion
v0.1 2010.12.08 KiKi file created
V0.2 2010.12.14 KiKi add content related tcl script
評(píng)論