作者:kenshin
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器件。
具体参考设计指南:
最简雷达距离方程与应用
云计算和雾计算与霾计算哪种才值得关注
485modbus转profinet网关连三菱变频器modbus通讯触摸屏监控
基于一种将传统在线交易与区块链投资结合起来的生态系统介绍
合成血管系统问世 为软体机器人供能
借助NOR Flash实现UltraScale FPGA后配置解决方案
应用材料拟以低于23亿美元收购国际电气,建立专有技术
最具影响力的经济成果的定义和要求
什么是电功率?其计算是什么?它的国际单位是什么?
湿度测量的发展和电子式湿度传感器法介绍
如何搭建微服务架构的全局图景
中国无人机的发展空间及美国美国无人机的发展和应用的领域介绍
FOR循环语句分析与应用
信号源操作注意事项
麒麟9000s相当于骁龙多少 和骁龙多少处理器相当
恩智浦推全新的高性能安全微处理器 可用于自动驾驶控制车辆动力
中芯国际成立合资公司 扩大45至20纳米产能
开关电源维修步骤你知道几种?如何提高开关电源的使用寿命?线性电源和开关电源的维护和保养
物联网将会带给非连网产品怎样的影响
国家网信办即日起对手机浏览器进行专项集中整治