原创 【博客大赛】FPGA开发板片外SRAM读写时序测试

2013-4-3 21:33 1040 0 2 分类: FPGA/CPLD

    由于毕设需求片外SRAM,现对片外sram时序进行测试,下面会陆续更新其他测试,为大家以后的设计提供可能的参考,片外sram型号:IS61LV25616,FPGA芯片为altera的,这个不重要,关于该芯片大家可以参考其手册。

下面给出该手册上给出的读写条件,还有一些读写时要注意的最小时间,大家用的话可以看下手册:

20130403211035575001.jpg

下面给出测试代码,比较简单的反应了读写时序,不太严谨,忘谅解:

/*
片外SRAM在没有往里面写数据之前,从里面读出的数据是随机的
*/

module chipout_sram_test (
input wire          CLOCK_50,
input wire  [4:0]   SW,    
output reg          SRAM_WE_N,  // write enable
output reg          SRAM_CE_N,  // chip enable
output reg          SRAM_OE_N,  // data output enable
output reg          SRAM_LB_N,  // low_byte enable
output reg          SRAM_UB_N,  // high_byte_enable
output reg [17:0]   SRAM_ADDR,  // addr,0!256k-1
inout  wire [15:0]  SRAM_DQ     // dual_direction data

);

reg [15:0] dq_reg;
reg [6:0] cnt1,cnt2;
assign SRAM_DQ=(!SRAM_WE_N)?dq_reg:16'bz;

always @(posedge CLOCK_50)
begin
  if (SW[0])
    begin
      SRAM_WE_N<=1;
      SRAM_CE_N<=1;
      SRAM_OE_N<=1;
      SRAM_LB_N<=1;
      SRAM_UB_N<=1;
      SRAM_ADDR<=0;
      cnt1<=0;
      cnt2<=0;
      dq_reg<=0;     
    end
  else
    begin
   if (cnt1<=16)   //write test
       begin
         SRAM_WE_N<=0;
         SRAM_CE_N<=0;
         SRAM_OE_N<=0;
         SRAM_LB_N<=0;
         SRAM_UB_N<=0;
         SRAM_ADDR<=cnt1; 
         dq_reg<=cnt1;
         cnt1<=cnt1+1;
       end  
    else      // read test
       begin  
         SRAM_WE_N<=1; 
         SRAM_CE_N<=0; 
         SRAM_OE_N<=0; 
         SRAM_LB_N<=0; 
         SRAM_UB_N<=0; 
         SRAM_ADDR<=cnt2;         
         cnt2<=cnt2+1;        
        end     
    end
   
end
endmodule

其中cnt1产生写地址及写数据,cnt2产生读地址,我用SignalTap II 工具抓取了波形,触发条件是SW[0]变为低电平(SignalTap怎么用大家百度一下):

20130403211904828001.jpg
波形显示:当前周期给读地址,下个周期数据就出现在数据端口上,再下个周期就可以进行采样,其实这和工作频率有关,我的设计中是50Mhz(20ns),手册上也给出读地址给后最多15ns后即可出现数据;

我没仿真在对一个地址写数据后多少周期可以读该地址的数据,不过参考手册至少中间要隔一个周期后才可以,

整体而言sram的速率还是非常快的。

广告

文章评论 2条评论)

登录后参与讨论

sunyzz 2013-4-15 21:23

根据手册上:High-speed access time: — 10, 12, and 15 ns,这些都可以,我测试用的开发板是50Mhz

121116936_790727222 2013-4-15 19:09

驱动ram的clk可以跑多快?
相关推荐阅读
sunyzz 2017-08-19 10:38
【博客大赛】AVALON总线介绍
1、AVALON总线简介Avalon总线是一种协议较为简单的片内总线,是ALTERA公司定义的片上互联总线,该总线可以将诸如NIOS II的CPU与其他外设连接起来,进而进行数据交换。AVALON总线...
sunyzz 2017-08-17 21:36
【博客大赛】不要轻易做职场滥好人
小A毕业于国内普通高校,但是他聪明,勤奋,能干,动手能力强,可是即便有这些优点也不能让小A轻轻松松找到一份好工作。这不,去年9月份小A好不容易找到一份工作,然后立马就入职了C公司,生怕C公司过两天不要...
sunyzz 2017-08-16 21:15
【博客大赛】IC设计低功耗技术四
五:工艺层面的降低功耗前面几节都是在讨论设计人员如何在前期阶段,中期阶段降低功耗,涉及到软件层面的,硬件层面的,这些技巧基本都是前辈总结出来的,或者根据理论推论出来的。但是到了后期,想降低功耗基本就要...
sunyzz 2017-08-14 22:35
【博客大赛】IC设计之低功耗技术三
四:RTL(寄存器传输)级的低功耗设计4.1 状态机的设计状态机编码中一般有两种方式,普通的二进制编码,特殊的格雷码,格雷码的特点是两个数据之间的跳变时只会有一个bit在toggle,显然比起多bit...
sunyzz 2017-08-12 16:51
【博客大赛】IC设计之低功耗技术二
三、架构层面的降低功耗系统的实现有很多的方式,每种方式对功耗的影响都不相同,本节主要介绍架构对功耗的影响。3.1 高级门口电路 在同步电路系统中,时钟占据了大部分的动态功耗,因而在一些情况下,如果有些...
sunyzz 2017-08-12 10:37
【博客大赛】IC 设计之低功耗技术一
一、前言随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。节能是全球化的热潮,如计算机里的许多芯片过去用5V供电,现在用3.3V,1.8V,甚至更低的电压。目前的低功耗设计主要从芯片...
广告
我要评论
2
0
广告
关闭 热点推荐上一条 /2 下一条