完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在做SRAM方面的测试,本想FPGA采集数据通过接口传给单片机进行处理,可是现在fpga控制SRAM读写好像出了些问题。每次fpga刚上电时,先写再读,显示的数是正确的。可是,我把输入的数据调了,换了个数,再写SRAM,读出的数据就不正确了,还是第一次写的数。查了些资料,没有说SRAM写过后还要擦除的,所以可能还是我控制的方法有问题。我用的SRAM 是IS61LV2568,以下是我的程序,主要是参考了DE2开发板的程序,然后修改了一下。希望各位能帮我看看,到底程序有没有问题,问题在哪?如能回复,十分感谢!
module simple_exram( input clk, input wr, input rd, input[7:0] adc_data_in, input[17:0]wr_end_addr, output MEM_WE_N, output reg MEM_OE_N, output[17:0] MEM_A, inout[7:0] MEM_DATA, input[17:0] addr_to_read, output reg[7:0] data_read ); /*************** extern_ram *****************/ reg[17:0] wr_addr18 = 18'd0; reg[17:0] rd_addr18 = 18'd0; //读数据 reg[7:0] Data_out_r = 8'h00; always @(posedge clk) begin if(rd==1'b1) begin MEM_OE_N <= 1'b0; rd_addr18 <= addr_to_read; Data_out_r <= MEM_DATA; data_read <= Data_out_r; end else begin MEM_OE_N <= 1'b1; rd_addr18 <= 18'd0; Data_out_r <= 8'h00; end end //写数据 reg flag = 1'b0; reg we_r = 1'b0; reg[7:0] bufdata = 8'd0; reg[17:0] wr_addr18_reg = 18'd0; always @(posedge clk) begin if(wr == 1'b1) begin if(wr_addr18 <= wr_end_addr) begin if(!flag) begin we_r <= 1'b1; wr_addr18 <= wr_addr18_reg; wr_addr18_reg <= wr_addr18_reg + 18'd1; bufdata <= adc_data_in; flag <= 1'b1; end else begin we_r <= 1'b0; wr_addr18 <= wr_addr18; bufdata <= bufdata; flag <= 1'b0; end end else begin we_r <= 1'b0; flag <= 1'b0; wr_addr18 <= wr_addr18; bufdata <= bufdata; end end else begin we_r <= 1'b0; wr_addr18_reg <=18'd0; wr_addr18 <= 18'd0; bufdata <= 8'd0; flag <= 1'b0; end end assign MEM_A = wr?wr_addr18:rd_addr18; assign MEM_WE_N = (~we_r)?1'b1:1'b0; assign MEM_DATA = we_r? bufdata:8'hzz; endmodule |
|
相关推荐
1个回答
|
|
手册上的读写信号都是低电平有效地,你在其他位置有反转吗?现在每次上电读写的数据是什么,是不是00?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1333 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1041 浏览 0 评论
2408 浏览 1 评论
2113 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2376 浏览 0 评论
1874 浏览 49 评论
6010 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:44 , Processed in 0.518166 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号