名称: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