借助NOR Flash实现UltraScale FPGA后配置解决方案

kenshin FPGA开发圈
NOR Flash是一种非易失性存储器件,与其相似的还有NAND Flash,但是NOR Flash具有类似SRAM的并行接口,有足够的地址引脚来寻址,读数据的速度更快,因此多用于微控制器启动配置外部存储器件,即代码存储介质,而NAND Flash则使用复杂的I/O口来串行存取数据,内部结构具有极高的单元密度,数据写入速度更快,多应用于大容量数据存储方面。因此NOR Flash占据了大部分容量为1~16MB闪存市场,而NAND Flash大多常见于8~128MB的产品中。今天这里向大家介绍一种基于NOR Flash实现UltraScale FPGA后配置(post-configuration)的解决方案。

UltraScale FPGA器件内部没有继承存储模块,因此需要借助外部NOR Flash来实现FPGA配置文件的加载。在这个设计中需要在FPGA内实例化一个MicroBlaze处理器内核,并且借助AXI EMC控制器IP、STARTUPE3 primitive模块与外部NOR Flash存储器件建立BPI(Byte Peripheral Interface,高速并行配置方式)通信接口连接,具体系统设计如下图所示:

图1 基于NOR Flash的FPGA后配置(post-configuration)参考设计

具体操作流程如下:

  1. 采用BPI配置模式从NOR Flash加载初始化镜像文件(golden.bin),这个数据流镜像会在FPGA器件内初始化STARTUPE3 primitive模块、接口逻辑、IP核资源以及管脚约束配置。经过这样的初始化操作我们就能够对NOR Flash的未使用空间进行读写操作。

  2. 在MicroBlaze处理器端运行program程序,即通过串口Xmodem协议下载后配置镜像文件(update.bin),每个1024字节数据包都经过CRC校验后写入到NOR Flash。

  3. 执行IPROG操作就可以加载更新后的数据流镜像实现FPGA的重配置,即初始的golden.bin被update.bin所替换。(IPROG指令的作用是对FPGA芯片进行复位操作,该复位操作对FPGA内部的应用程序进行复位,复位过程中除专用配置管脚和JTAG管脚,其他输入/输出管脚均为高阻态)。

    图2 串口操作指令

为什么要采用这种方法呢?因为初始化配置操作完成后BPI配置接口会保持为空闲状态,而且NOR Flash也有很多未使用的存储空间,可以用来存储额外的配置镜像或者应用数据,在一定程度上降低了存储器件成本,精简了办卡设计和尺寸。除此之外,该种配置方法还可以使用与Virtex-5和Kintex-7系列FPGA器件。

©著作权归作者所有:来自51CTO博客作者mb5fd86d05a0afe的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. spring-cloud-alibaba Nacos配置启动
  2. Hudi原理 | 在Apache Hudi中为快速更删配置合适的索引原创
  3. springcloud 配置集成 Sentinel 限流器
  4. 助力网络基础器件革新:全新单芯片可编程BASE-T PHY /控制器/桥
  5. FPGA设计笔记:QSPI Flash与DDR3L SDRAM采用同一I/O分区
  6. 五舟服务器出厂nvme阵列配置
  7. deepin下配置protobuf
  8. 基于Kubernetes部署Jenkins动态构建环境
  9. Vivado一项全新项目功能——可配置的报告

随机推荐

  1. android 系统开发之开机动画
  2. android ndk log
  3. Android的selector,背景选择器
  4. Android多分辨率适配框架(2)— 原理剖析
  5. 性能优化之Java(Android)代码优化
  6. Android UI布局之RelativeLayout
  7. Android 第七课——UI布局
  8. Android(安卓)Studio 3.5 安装apk失败问
  9. (4.1.23)Android Animation学习笔记
  10. Android之TextView------属性大全