名称:Flash存储器S25FL256L驱动控制代码设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
Flash存储器S25FL256L驱动控制代码
256 Mbit(32 Mbyte)/128 Mbit(16 Mbyte), 3.0 V FL-L Flash存储器
赛普拉斯FL-L器件系列是非易失性闪存存储器产品,它们采用了以下两种技术:
– 浮栅技术
– 65 nm光刻技术
FL-L系列产品通过串行外设接口(SPI)连接主机系统。该产品支持传统SPI的一比特串行输入和输出(即单线I/O或SIO)、可选 的两比特(即双线I/O或DIO)、四比特(四线I/O或QIO) 以及四线外设接口(QPI)命令。另外,它还为QIO和QPI提供了双倍 数据速率(DDR)命令支持,在时钟的双边沿上传送地址和读取数据。
该产品具有页编程缓冲区,允许在一个操作中最多编程256字节 ,并提供单独的4 KB大小扇区、32 KB大小半块、 64 KB大小块或全芯片擦除能力。
FL-L系列器件支持更高的时钟频率和四线命令,因此指令读取的传输率能够等于或超过传统的并行接口、异步、NOR闪存存储器,同时可明显降低信号连接的计数。
FL-L系列产品为各种移动或嵌入式应用提供了大容量、灵活性高和速度快等性能。该产品系列为空间,信号连接,功耗有限的系统提供了一个理想的存储解决方案。这些存储器的灵活性和性能比普通串行闪存器件好很多。最适合将它们用于传送代码到RAM,直接执行代码(XIP)和存储可重新编程的数据。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 管脚约束
4. 程序编译
部分代码展示:
//`define CMD_WREN 8'h06 //`define CMD_WRDI 8'h04 //`define CMD_RDID 8'hAB //`define CMD_RDSR 8'h05 //`define CMD_WRSR 8'h01 //`define CMD_READ 8'h03 //`define CMD_FAST_READ 8'h0b //`define CMD_PP 8'h02 //`define CMD_SE 8'hd8 //`define CMD_BE 8'hc7 `include "spi_flash_defines.v" module spi_flash_cmd( input sys_clk, input rst, input[7:0] cmd, //flash command input cmd_valid, //flash command valid output cmd_ack, //flash command response input[23:0] addr, //flash command address input[7:0] data_in, //flash command write data input[8:0] size, //flash command data size output reg data_req, //data request, ahead of a clock cycle output reg[7:0] data_out, //flash command read data output reg data_valid, //flash command read data valid //to spi master output reg CS_reg, output reg wr_req, input wr_ack, output reg[7:0] send_data, input[7:0]
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1017
982