2825|2

11

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

sdram 控制器 [复制链接]

求解一下 sdram 控制器代码段中的 command 中一段 关于仲裁 的 代码,怎么实现的?代码段如下:

// set command_delay shift register and command_done flag
// The command delay shift register is a timer that is used to ensure that
// the SDRAM devices have had sufficient time to finish the last command.

                if ((do_refresh == 1) | (do_reada == 1) | (do_writea == 1) | (do_precharge == 1)
                     | (do_load_mode == 1))
                begin
                        command_delay <= 8'b11111111;
                        command_done  <= 1;
                        rw_flag <= do_reada;                                                 
                end
               
                else
                begin
                        command_done        <= command_delay[0];                // the command_delay shift operation
                        command_delay  <= (command_delay>>1);
                end
               
 
 // start additional timer that is used for the refresh, writea, reada commands              
                if (command_delay[0] == 0 & command_done == 1)
                begin
                 rp_shift <= 4'b1111;
                 rp_done <= 1;
                end
                else
                begin      
     if(SC_PM == 0)
     begin
      rp_shift <= (rp_shift>>1);
                     rp_done  <= rp_shift[0];
     end
     else
     begin
      if( (ex_read == 0) && (ex_write == 0) )
      begin
       rp_shift <= (rp_shift>>1);
                      rp_done  <= rp_shift[0];
      end
      else
      begin
       if( PM_STOP==1 )
       begin
        rp_shift <= (rp_shift>>1);
                        rp_done     <= rp_shift[0];
        ex_read  <= 1'b0;
        ex_write <= 1'b0;
       end     
      end
     end
                end
   end
        end
end

此帖出自FPGA/CPLD论坛

最新回复

这个问题太难了,你给我看中间一段,我们也不知道你啥问题所在?  详情 回复 发表于 2012-3-13 13:30
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

这个问题太难了,你给我看中间一段,我们也不知道你啥问题所在?

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 eeleader 的帖子

你好,这是一个DE2—70 板子的做视频图像处理的程序,这一段代码仅仅是关于 sdram 的控制器代码中的一段。网上很多sdram的控制器的代码也和这个也一样,说的时实现sdram控制器的仲裁作用,大体解释如下:
 命令模块由1个简单的仲裁器、命令发生器及命令时序器组成。它接收从控制接口模块来的译码后的命令,接收刷新控制逻辑发来的刷新请求命令并产生正确的命令给DDR。仲裁器在控制接口发来的命令(也就是MCU通过控制接口译码后的命令)和刷新控制逻辑发来的刷新请求命令之间进行仲裁。刷新请求命令的优先级高于控制接口来的命令。如果控制接口来的命令和刷新请求命令同时到达,或者同在一个刷新操作期间,则仲裁器就会拖延向MCU发CMDACK命令的时间直到刷新操作完成。如果刷新命令正在进行操作期间发出,则要一直等待到操作全部完成。

  在仲裁器收到MCU发来的命令后,该命令就传送到命令发生器,命令时序器即用3个移位寄存器产生正确的命令时序后发给DDR。1个移位寄存器用来控制激活命令时序,1个用来控制READA和WRITEA命令,1个用来计时操作命令的持续时间,为仲裁器确定最后的请求操作是否完成。

我不明白的是里面的这些延迟数据是怎么设置的,谢谢。不知道您还需要什么信息。
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表