微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

借助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,高速并行配置方式)通信接口连接,具体系统设计如下图所示:

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

图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管脚,其他输入/输出管脚均为高阻态)。

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

    图2 串口操作指令

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐