luleiwangqi 发表于 2015-8-8 15:17:49

SRAM问题。

大家好。请问一下SRAM问题,困扰了好几天了。我是使用SRAM储存图像的,现在实验只存储四个点。现象是,存储后取出来的点,不断的在显示器上闪烁。同时显示的点的颜色也是错误的。因此推断是SRAM存储有问题。
下面是写SRAM代码:
   if((counter_y==10'd200)&&(counter_x==24'd400))//读取到第一个点
        begin
                                wr_cnt <= 17'b0;//写控制位
                                state <= WAIT;
                                send_c <= 1'b0;
                                wr_cnt <= 17'b1;
                                sram_we <= 1'b0;
                                sram_ce <= 1'b0;
                                sram_oe <= 1'b0;       
        end

    assign sram_data = (state==WAIT)? EDAT:23'hzzz;//EDAT是FPGA 与图像芯片RGB管脚相连接的


SRAM读代码:

        else if((counter_y==10'd500)&&(counter_x==24'd400))//读出第一个点
        begin

                                send_c <= 1'b0;
                                wr_cnt <= 17'b0;
                                sram_we <= 1'b1;
                                sram_ce <= 1'b0;
                                sram_oe <= 1'b0;
                                Red_1<=sram_data;//Red_1,Grn_1,Blu_1是显示输出数据
                                Grn_1<=sram_data;
                                Blu_1<=sram_data;
               
        end


luleiwangqi 发表于 2015-8-8 15:18:49

请问这样的存取方法有问题吗?

米联-汤金元 发表于 2015-8-8 20:43:03

luleiwangqi 发表于 2015-8-8 15:18
请问这样的存取方法有问题吗?

没看明白你的程序,如果你是单次写,一次最多只能写入16bit数据,如果单次读,一次最多也只能读出16bit数据,因此怀疑你没有搞清楚SRAM读写时序,建议好好阅读下SRAM技术手册

牛见君 发表于 2015-8-8 21:39:02

在群里好像看到你把sram的数据端口做成三态的,我用sram都没这么搞过,就算是最简单的单端sram,写端口跟读端口都是独立开来的。

感觉楼主还是应该先弄清楚sram的读写时序,毕竟sram的读写时序是比较简单的。

luleiwangqi 发表于 2015-8-9 08:55:39

一片sram的确是16位,但是我是把地址同时给两片sram。这样就是实现实现了24位数据了。我感觉这个时序关系没有问题啊。就是实现不了。

luleiwangqi 发表于 2015-8-9 08:57:17

牛见君 发表于 2015-8-8 21:39
在群里好像看到你把sram的数据端口做成三态的,我用sram都没这么搞过,就算是最简单的单端sram,写端口跟读 ...

额,我看了技术手册了,写的时候所有控制位都拉低。读的时候写拉高。但是怎么就实现不了呢。

牛见君 发表于 2015-8-9 09:07:59

你用的是外部硬件的sram,还是fpga内部的sram,如果是外部sram,还要考虑硬件故障的可能。

你可以先仿真测试代码的功能再上硬件测试。

luleiwangqi 发表于 2015-8-9 09:13:47

牛见君 发表于 2015-8-9 09:07
你用的是外部硬件的sram,还是fpga内部的sram,如果是外部sram,还要考虑硬件故障的可能。

你可以先仿真 ...

硬件是确定没有问题的,因为他其他SOC的SRAM读写是正常的,这个输入比较特别,仿真不太好弄啊。

luleiwangqi 发表于 2015-8-9 09:14:30

luleiwangqi 发表于 2015-8-9 09:13
硬件是确定没有问题的,因为他其他SOC的SRAM读写是正常的,这个输入比较特别,仿真不太好弄啊。

对了。是外部SRAM。我感觉很好操作啊。怎么在这就行不通了呢。

牛见君 发表于 2015-8-9 19:08:16

如果你仿真功能可以实现的话,那就要检查一下管脚分配,硬件有没有问题了。
页: [1]
查看完整版本: SRAM问题。