FPGA读写Flash模块 Verilog程序设计

本文介绍如何使用Verilog在FPGA上设计一个Flash控制器,详细阐述了读取Manufacturer / Device ID、写使能、写不使能、Sector擦除、读状态寄存器、Page编程及数据读取等操作的实现过程。通过状态机控制逻辑和移位操作接收数据,实现了完整的Flash读写流程。
摘要由CSDN通过智能技术生成

采用黑金Spartan6的开发板,板内的硬件电路设计如图

电路严格按照datasheet的规定连接。

按照上图 控制FLASH芯片仅需要控制QSPI_MIS0、QSPI_MIS1、QSPI_MIS2、QSPI_MIS3以及QSPI_CS、QSPI_CLK

按照程序实现的功能需要

1. 读Manufacturer / Device ID (90h):先发送命令字90(1001 0000),再发送24位的地址(全0),然后接收2个byte的数据(第一个数据是Manufacturor:FEh,第二个是设备的Device ID:17h)。数据在时钟的上升沿采样。

2.写使能(06):发送命令字06(0000 0110),数据都在时钟的上升沿采样。

3.写不使能(04):发送命令字04(0000 0100),数据都在时钟的上升沿采样。

4.Sector擦除(20):先发送命令字20(0010 0000),再发送24位的地址。数据都在时钟的上升沿采样。

5.读状态寄存器1 (05):先发送命令字05(0000 0101),然后接收16位的寄存器数据。数据都在时钟的上升沿采样。

6. Page编程(02):先发送命令字02(0000 0010),再发送24位的地址,然后写入256个编程的数据(数据的数量可以自己修改, 但不能超过256个)。数据都在时钟的上升沿采样。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值