新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 基于SPI FLASH的FPGA多重配置

基于SPI FLASH的FPGA多重配置

作者:时间:2014-02-12来源:摘自《电子发烧友》收藏

  重载模块首先要调用核。原语在Xilinx的编译软件ISE中调用,调用路径为Edit→LanguageTemplates,VHDL/Verilog→Device Primitive Instantia-tion→→Config/BSCAN Components→In-ternal Config Access Por(t _VIRTEX5)。

本文引用地址:http://www.eepw.com.cn/article/221428.htm

  ICAP_VIRTEX5调用接口如下:

  ICAP核支持X8,X16,X32三种数据带宽模式。在整个重配置的过程中并没有用到ICAP核的输出,因此在重载模块的状态机控制程序中不关注BUSY,O信号的值,可以不对它们赋值。用户程序在使用接口时只需对CE,CLK,I,WRITE4个信号不断赋值来发送命令。

  在调用了ICAP核接口之后,通过Verilog编码的方式实现状态机。通过状态机发送指令给ICAP核,ICAP核在接收到这些指令后会根据指定的地址自动加载配置文件。

  指令的作用是对芯片进行复位操作,该复位操作对FPGA内部的应用程序进行复位,复位过程中除专用配置管脚和JTAG管脚,其他输入/输出管脚均为高阻态。完成复位操作后,将默认的加载地址用热启动地址(Warm Boot Start Address,WB-STAR)中的新地址替换。

  在发送指令之前,需要对ICAP核进行预配置。重载控制模块在收到触发信号后,第一个时钟周期将ICAP核的WRITE信号和CE信号置高,第二个周期将WRITE信号置底,CE信号置高,第三个周期将WRITE信号置底,CE信号也置底。接着在下面的8个时钟周期里,将指令队列中的控制命令逐个发出。状态机指令流程如图3所示。

状态机指令流程图

  在状态机发送IPROG指令的过程中,为了保证ICAP核接收到正确的指令,每一个发送出去的命令和数据必须遵循SelectMAP数据顺序。SelectMAP数据顺序是将每个指令都按字节划分,划分后每个字节的数据都按比特位翻转。如果为“X32”模式,则划分为4个字节,每个字节进行位翻转。图4以“X16”为例说明Se-lectMAP数据顺序。

Se-lectMAP数据顺序

fpga相关文章:fpga是什么


存储器相关文章:存储器原理




评论


相关推荐

技术专区

关闭