目录
0.前言
1.ICAP的例化
2.ICAP指令实现
3.比特位交换
4.跳转与fallback约束
5.生成mcs镜像
6.测试demo
0.前言
multiboot作为更新程序的一种方法,在FPGA的实现方法是将两个bit文件合成为一个mcs镜像。
但是,flash默认只读取第一个从0开始的bit。要跳转到第二个bit文件时,可以用icap控制。

1.ICAP的例化

(1)使用原语:在vivado的Language template选项中可以找到标准语法,其中包括IP的调用,icap原语例化如下:
//icap核的调用
ICAPE2 #(
.DEVICE_ID(32'h362D093), // Specifies the pre-programmed Device ID value to be used for simulation
// purposes.
.ICAP_WIDTH("X32"), // Specifies the input and output data width.
.SIM_CFG_FILE_NAME("NONE") // Specifies the Raw Bitstream (RBT) file to be parsed by the simulation
// model.
)
ICAPE2_inst (
.O(O), // 32-bit output: Configuration data output bus
.CLK(sys_clk), // 1-bit input: Clock Input
.CSIB(CE), // 1-bit input: Active-Low ICAP Enable
.I(I), // 32-bit input: Configuration data input bus
.RDWRB(WRITE) // 1-bit input: Re

本文深入解析了FPGA中ICAP模块的使用,包括ICAP的实例化、指令实现、比特位交换、跳转与fallback约束等关键步骤。通过详细示例,展示了如何利用ICAP实现两个bit文件的切换,适用于多镜像更新场景。
最低0.47元/天 解锁文章
1568

被折叠的 条评论
为什么被折叠?



