READ
本文代码实现读取仿真模型文件初始化文本中第一个地址的数据,可以看到仿真模型中初始化文件是initM25P16.txt,
将其一个地址数据改为12
READ时序图
READ指令代码
module flash_read (
input wire clk,
input wire rst_n,
output reg flash_cs_n,
output reg flash_scl,
output reg flash_d,
input wire flash_q,
output reg q
);
localparam READ = 8'h03;
localparam T_half = 5;
localparam ADDR = 24'h000000;
always @ (posedge clk) q <= flash_q;
reg [8:0] cnt;
always @ (posedge clk) begin
if (rst_n == 0)
cnt <= 0;
else if (cnt == 406)
cnt <= cnt;
else
cnt <= cnt + 1'b1;
end
always @ (*) begin
if (rst_n == 0) begin flash_cs_n = 1; flash_d = 0; flash_scl = 0; end
else case (cnt)
0 : begin flash_cs_n = 1; flash_d = 0; flash_scl = 0; end
1 : begin flash_cs_n = 0; flash_d = READ[7];end
1 + T_half * 1 : begin flash_scl = 1;end
1 + T_half * 2 : begin flash_scl = 0; flash_d = READ[6];end
1 + T_half * 3 : begin flash_scl = 1;end
1 + T_half * 4 : begin flash_scl = 0; flash_d &