SDR SDRAM读写控制器————定时器模块设计

 =================================================

 目录

  1、SDR SDRAM读写控制器————整体概述

  2、SDR SDRAM读写控制器————上电模块设计

  3、SDR SDRAM读写控制器————刷新模块设计  

  4、SDR SDRAM读写控制器————定时器模块设计

  5、SDR SDRAM读写控制器————写数据模块设计

  6、SDR SDRAM读写控制器————读数据模块设计

  7、SDR SDRAM读写控制器————主控制机模块设计

 =================================================

定时器模块程序设计:

`include "../rtl/head.v"

//刷新计数器模块
module ref_timer(
        clk        ,//时钟线 100Mhz
        rt_en      ,//使能刷新
        rt_flag    ,//计数器满标志
        soft_rst_n //软复位
);

input  clk         ;
input  soft_rst_n  ;
input  rt_en       ;
                   
output reg rt_flag ;

reg [9:0] cnt      ;

always@(posedge clk)begin
  if (!soft_rst_n)begin//同步复位
      cnt     <= 10'd0        ;
      rt_flag <= 1'b0         ; 
  end
  else if(rt_en)
            if(cnt >=700)begin// 最长在64ms/8192=7.813us=7813ns周期内进行一次刷新
              cnt    <= 10'd0   ;
              rt_flag<= 1'b1    ;
          end
            else begin
                cnt    <= cnt + 1  ;//100MHz 计数一次10ns
                rt_flag<= 1'b0     ;
            end
  else 
       cnt       <= 10'd0       ;
       rt_flag   <= 1'b0        ;
     
 end
 

endmodule

参考视频链接: 至芯科技李凡老师FPGA课堂:SDRAM控制器设计(超级经典)-学习视频教程-腾讯课堂

参考文档: Micron的MT48LC16M16A2器件文档

原文地址:https://www.cnblogs.com/weitter/p/14595870.html