FPGA ICAP在线升级 MultiBoot

 原理:使用icap IP模块,会自动通过spi串口从外部w25q64读取bin文件到内部,然后执行,若没有uart升级指令传来,20秒后跳转到外部w25q64的0x400000处,读取Bin文件到fpga。

测试流程:先使用ISE下载ICAP代码到板子,然后使用fpga_update软件下载icap的bin文件到w25q64的0地址,重启板子,使用fpga_update软件下载其他应用的bin到0x400000.

//实例化icap原语
ICAP_SPARTAN6 #(
.DEVICE_ID('h4001093), //不同型号的芯片,ID号不同 x9 ID='h4001093
.SIM_CFG_FILE_NAME("NONE") // Specifies the Raw Bitstream (RBT) file to be parsed by the simulationendmodule
// model
)
ICAP_SPARTAN6_inst (
.BUSY(BUSY), // 1-bit output: Busy/Ready output
.O(O), // 16-bit output: Configuartion data output bus
.CE(c_en), // 1-bit input: Active-Low ICAP Enable input
.CLK(sclk), // 1-bit input: Clock input
.I(i_crop), // 16-bit input: Configuration data input bus
.WRITE(wr_en) // 1-bit input: Read/Write control input
);

 

posted @ 2020-02-15 08:20  leida_3669  阅读(2049)  评论(0编辑  收藏  举报