FPGA multiboot 多重引导---在一块FPGA内烧写多个代码-

利用ICAP 核实现多重启动

参考资料:《FPGA Configuration手册》

  1. 调用ICAP核

ICAP原语在Xilinx的编译软件ISE 中调用,调用路径为

Edit→LanguageTemplates→VHDL/Verilog→DevicePrimitiveInstantiation→Virtex6 → Config/BSCAN Components→ In-ternal Config Access Por

2、例化ICAP模块,参数配置

ID Code根据不同型号FPGA,查手册Configuration对应的ID号;

ICAP_WIDTH常用X32,即32位

3、编写状态机对ICAP核进行预配置

按照上图中指令顺序写入指令,要注意的有:指令要为SelectMAP数据顺序指令;第五个指令Warm Boot Start Address为下一个配置程序启始地址。

4、

在多个程序中都使用多重启模块,可以方便的实现多种版本程序直接的切换。

5、ISE产生多重引导烧写文件步骤如下

生成多版本自启动的flash文件过程如下:

1、启动Generate Target PROM/ACE File,选择configure MultiBoot FPGA

2、选择程序版本数量和Flash的数据位宽等(下图中程序版本数量为2)

3、点击“ok”,出现下图所示,添加第一版程序

4、如果只给一片FPGA配置,点击“NO”,不再给别的设备添加此版本程序

5、修改第二版程序的起始地址(一定要大于第一版程序的结束地址)

6、最后添加好的bit文件如下,只要flash允许,添加几个bit都是可以的 。完成后产生mcs文件。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值