ssd系统中多级fpga在线升级电路设计和实现

ssd系统中多级fpga在线升级电路设计和实现

ID:6058230

大小:28.00 KB

页数:6页

时间:2018-01-01

ssd系统中多级fpga在线升级电路设计和实现_第1页
ssd系统中多级fpga在线升级电路设计和实现_第2页
ssd系统中多级fpga在线升级电路设计和实现_第3页
ssd系统中多级fpga在线升级电路设计和实现_第4页
ssd系统中多级fpga在线升级电路设计和实现_第5页
资源描述:

《ssd系统中多级fpga在线升级电路设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SSD系统中多级FPGA在线升级电路设计和实现  摘要:为了解决多级FPGA在线自动升级与加载的技术难题,本文提出了利用其中一片FPGA实现自动更新的方案,设计了存储系统的逻辑方案,主要功能有:PCI-E接口的桥、多级FPGA在线系统升级、NANDFLASH的读写等操作控制、DDR2的读写等操作控制及校验与智能磨损平衡技术算法等,降低了硬件成本。关键词:SSDFPGA在线升级电路1.引言6目前,传统的FPGA升级与加载方式主要有两种[1]-[5]:一种是通过JTAG口直接加载配置文件到FPGA内部的SRAM中,但是由于SRAM掉电后数据将丢失,因此

2、在下次重新上电时,需要重新通过JTAG加载线进行手动加载;另外一种是通过外置FLASH存储器件,首先将加载文件烧录到FLASH中,然后在每次上电时,利用FPGA的专用接口直接自动加载FLASH中的配置文件,克服第一种方法存在的每次上电都要手动加载的缺点[6]-[7]。对于单FPGA硬件系统来说,利用上述的第二种方法与网络接口的联合可以实现对单个FPGA的在线自动升级与加载,但是如果对于多级FPGA系统来说,为了保证下电后配置文件不丢失,采用上述第二种办法则需要在每个FPGA的外围都挂上一个NANDFLASH存储器,才能保证重新上电后能够自动加载,硬

3、件成本较高。同时对FLASH中的配置文件的更新需要更多的外围器件支持。本文利用一片FPGA并通过SPI接口与加载接口实施更新NORFLASH与其他四片FPGA加载的方案。设计了存储系统的逻辑方案,采用MLC结构的NANDFLASH颗粒作为存储单元,使用多片FPGA器件作为整个系统的逻辑控制核心。逻辑部分主要功能有:PCI-E接口的桥、多级FPGA在线系统升级、NANDFLASH的读写等操作控制、DDR2的读写等操作控制,以及校验与智能磨损平衡技术算法等,降低了硬件成本和系统复杂性。2.多级FPGA在线自动升级与加载方案的电路结构设计如图1所示的硬件

4、系统的核心结构,由5片FPGA组成;其中的FPGA1采用xilinx公司的Virtex5系列的30T器件,内部包含PCI-EXPRESSendpoint6IP核,利用IP核构成的总线节点实现FPGA1与内存和CPU之间的通信。其他四片FPGA2采用xilinx公司的SPARTAN6系列的150T器件。首先通过PCIE的IP核接口实现从内存中读取到新的加载文件,然后再进行并串的转换,通过SPI接口控制模块实现从SPI_NORFLASH中读取数据与下发擦除、读写状态寄存器等指令,更新了SPI_NORFLASH中的存储的文件,存储的文件内容包括FPGA1

5、与FPGA2的配置文件存放地址不同。为了保证在升级或者加载失败时避免FPGA瘫痪,因此还需在FLASH空间里把上述两个文件内容实现备份,供发生意外所需。其次在SPI_NORFLASH文件更新成功后,FPGA1内部通过一些控制模块将SPI_NORFLASH中的数据读出,然后进行数据串并转换与并串转换,并将转换后的数据按照SPARTAN6150T的串行SLAVE加载模式,加载到其他4片FPGA中,从而实现整个5片FPGA的在线自动升级与加载。图1多级FPGA在线升级与加载方案3.多级FPGA在线自动升级与加载方案的模块化实现在FPGA1内部为了实现在线

6、自动升级与加载的功能,特设计了以下几个模块,包括PCI-EIP核的包装模块,SPI接口控制器模块SPI_CONTROLLER,以及对其他4片FPGA的加载控制模块UPDATA_CONTROLLER,这3个部分共同组成了整个在线自动升级与加载的控制模块如图2所示。其中PCI-EENDPIONT模块主要是实现PCI-EIP所需要的各种接收与发送数据的时序与数据的封装,包括TLP帧的封装与解析并将数据传送给SPI_CONTROLLER模块。图2FPGA1内部部分结构框图SPI_CONTROLLER模块需要将接收到的数据处理后才能通过SPI接口烧录到NOR

7、FLASH中。从总线上传送下来的数据为32位比特,其中包括8比特命令码和624比特的地址码或者32比特全为数据或者32比特中前8位为指令码,剩余24比特无效,等格式数据。由于外置的SPI_NORFLASH根据M25P128FLASH器件的特点,特设计了SPI_CONTROLLER模块中的一些状态机,如图3所示,根据接收到指令状态机由空闲状态转移到解码状态,分析出32位比特数据中前8位是具体指令。根据解码后的分析并进行相关状态,模块内的其他部分小模块根据这些状态产生相关的时序与数据,待操作完成后,状态机跳转到操作完成等待状态,并随后跳转到空闲状态,从

8、而完成整个操作流程,实现对外置NORFLASH的数据更新等其他操作。具体模块内部的状态机转换如下图3所示:图3SPI控制模

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。