如何使用脚本对Xilinx FPGA编程

如何使用脚本对Xilinx FPGA编程,第1张

最近在做一个GUI的项目,想试着用FPGA实现一个简单的GUI。硬件基本模块和整个硬件系统已经完成设计,但是软件程序上还处在调试阶段,由于程序比较大,FPGA内部的BRAM已经完全不够用了,只能将运行的程序放到DDR DRAM中,这就导致了对FPGA编程分为两步走:

1.使用Impact先将Download.bit文件下载到FPGA中(Download.bit文件只含有bootloop.elf)

2.通过XMD将executable.elf文件下载到DDR SDRAM中,然后运行程序

因为每次程序的修改都需要重新下载,往往是需要在EDKshell或者在XMD的终端中输入同样的命令。

重复性很强的工作为什么不让计算机完成呢?

下面给出了一个解决方案,尽管不完善,但是对我调试来说已经足够了。具体步骤如下:

编写用于下载bistream文件至FPGA的的脚本,当然脚本肯定是基于Impact的,这里暂且将该脚本文件,download.cmd
脚本的内容如下:

setMode -bscan

setCable -p auto

idenTIfy

assignfile -p 3 -file download.bit

program -p 3

quit

 

编写通过XMD下载可执行文件至内存中或者BRAM中的脚本,命名为xmd.opt
脚本的内容如下:

connect mb mdm;
dow executable.elf;

con;

 

将download.bit, executable.elf,xmd.opt和download.cmd放在一个文件夹中

打开EDK Shell,cd至刚才创建的文件夹目录下,然后运行如下命令:
$impact –batch download.cmd && xmd –opt xmd.opt

    5.  编辑一个download.tcl文件,内容如下

         impact –batch download.cmd;
         xmd –opt xmd.opt;

然后在EDKshell下运行如下命令 :

$source  download.tcl

总结一下:

分别编辑三个脚本文件

用 impact 运行的批处理文件(.cmd)

用XMD运行的脚本文件(.opt)

用source运行的通用脚本(.tcl)

最后再EDK Shell下运行

至于脚本的每条命令,这里不做解释了,有兴趣可以参考如下的文档:

Impact 用户手册

XMD *** 作手册 ~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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2585115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存