图2 AVIA9700访问SDRAM时序示意图

要正确访问SDRAM,建立时间和保持时间很关键。建立时间在触发器采样之前,在这段时间,数据必须保持有效的时间,否则会产生setup violation;保持时间在解发器开始采样之后,数据必须保持有效的时间,否则会产生hold violation。因此,要正确读写SDRAM的时序条件,需要满足以下两个公式:

SDRAM_Setup_time_min 《 T_cycle-control_signal_valid_max-control_signal_Delay_max+ clock_delay_min (1)

SDRAM_Hold_time_min 《 control_signal_valid_min + control_signal_delay_min- clock_delay_m_ax???? (2)

这里,T_cycle 为SDRAM时钟周期,Control signal valid为控制信号从时钟上升沿到输出有效时间,delay为布线所引起的延时。

对于低频设计,线互连和板层的影响很小,可以不考虑。当频率超过50MHz或信号上升时间Tr小于6倍传输线延时时,互连关系必须以传输线理论纳入考虑之中,而在评定系统性能时也必须考虑PCB板材料的电参数。由于AVIA9700输出时钟信号MCLK工作在108MHz~148.5MHz之间,所以设计时必须考虑布线延时引起的SDRAM时序问题。

AVIA9700 SDRAM

时序控制机制

为了补偿布线延时,满足公式(1)和公式(2)的要求,AVIA9700的内置SDRAM控制器提供了两个延时补偿参数:SDRAM_CLK_IN 和SDRAM_CLK_OUT。这两个参数都是8位的整数,可以提供不同的时钟延时组合,解决各种复杂数字电视接收机系统中的SDRAM时序问题。

通过嵌入式应用软件,开发人员可以调整SDRAM_CLK_IN的参数来控制读入数据的时钟延时。同样,对SDRAM_CLK_OUT的设置也可以改变输出时钟的延时。通过设置SDRAM_CLK_OUT (OutTapSel=X)改变输出的MCLK时钟相位,补偿各种不同的布线延时,可以解决高速数字电视系统的SDRAM时序问题。

在实际应用中,由于不同整机厂会采用不同厂家的SDRAM,PCB布线也会因为机器结构原因发生较大变化,时钟工作频率和选用器材的不一致性等,都会引起公式(1)、(2)中的参数发生变化。这些因素的组合,往往使布线延时问题变得复杂。

AVIA9700 SDRAM

时序诊断软件及测试结果

为了方便开发人员快速解决问题,本文利用AVIA9700内置SDRAM控制器提供的时钟延时补偿机制,设计了一个诊断工具。

基于AVIA9700数字电视接收机,由于PCB、元器件、系统频率都已经定型,影响布线延时的电气特性已经固化。通过改变 SDRAM_CLK_IN和SDRAM_CLK_OUT组合,设计人员可以测试不同组合下的SDRAM访问错误率,根据错误率统计数据制成统计图,如图3 所示。图中纵坐标为SDRAM_CLK_IN,由于寄存器是8位,因此选取坐标取值范围在0~255之间(28);横坐标为SDRAM_CLK_OUT,取值范围也在0~255之间。对该范围内的某一点所对应的寄存器设置,诊断软件都要自动重复10000次读写操作。设计人员可以利用最后生成的图形,快速准确地选定SDRAM_CLK_IN和SDRAM_CLK _OUT的值,并将其固化在最终生产版本的软件中。

内存信号测试软件,基于AVIA9700的SDRAM控制器实现内存时序测试软件工具的设计...相关推荐

  1. 基于FPGA的SDRAM控制器设计(二)

    基于FPGA的SDRAM控制器设计(二) 1. SDRAM理论基础 2. SDRAM初始化模块以及仿真 3.TOP模块的仲裁机制 4. SDRAM刷新模块代码以及仿真 5.代码 6.参考资料 1. S ...

  2. 鲁大师测试软件的算法,鲁大师是如何检测内存的?检测内存的方法

    大家知道 鲁大师 是如何检测内存的吗?今天小编就为大家讲一下鲁大师检测内存的方法吧,有需要的小伙伴可以一起来看看喔. RAM测试: 我们先来介绍一下鲁大师的RAM测试理念,前面介绍的了很多关于RAM ...

  3. 基于Qsys的SDRAM控制器

    1.Intel FPGA中SDRAM控制器IP示意图 相比LED/数码管等简单外设,SDRAM芯片配置显得复杂许多,当然可以自行编写状态机实现初始化和读写控制,但是为了加快开发速度,可以借助Intel ...

  4. 基于FPGA的SDRAM控制器设计(1)

    基于FPGA的SDRAM初始化配置 SDRAM简述 SDRAM的引脚及作用 SDRAM初始化时序控制 SDRAM上电时序代码 SDRAM测试模块的代码 仿真测试结果 参考文献 总结 SDRAM简述 S ...

  5. 基于FPGA的SDRAM控制器设计(2)

    基于FPGA的SDRAM的自刷新操作 SDRAM自刷新简述 SDRAM自刷新时序图 SDRAM自刷新代码 仿真模块的代码 仿真结果测试 参考文献 总结 SDRAM自刷新简述 SDRAM作为一个RAM并 ...

  6. 电机测试matlab,基于MATLAB的电机故障诊断模型训练与测试平台

    基于MATLAB的电机故障诊断模型训练与测试平台 于际河 [期刊名称]<计算机光盘软件与应用> [年(卷),期]2014(000)005 [摘要]基于MATLAB的可视化编程技术,设计电机 ...

  7. 电压测试软件中文,System Information Viewer(SIV主板电压温度测试)

    SystemInformationViewer,SIV主板电压温度测试,SIV技嘉出的用来测试主板电压,CPU温度,风扇速度,硬盘使用率,和内存使用率的软件,很好用的. 相关软件软件大小版本说明下载地 ...

  8. 普通话测试软件哪个不要钱,普通话测试软件哪个好_普通话测试软件靠谱吗_不要钱的普通话测试软件...

    普通话测试的软件有很多,哪些普通话测试软件是我们想要的呢,下面多特小编就跟您推荐几款比较合适的软件或者app给您参考 学普通话手机app是一款十分暖心.趣味的学习普通话手机软件 普通话练习app是一款 ...

  9. as ssd测试软件得分少,教大家AS SSD Benchmark如何测试硬盘性能

    近日有关于AS SSD Benchmark如何测试硬盘性能的问题受到了很多网友们的关注,大多数网友都想要知道AS SSD Benchmark如何测试硬盘性能的具体情况,那么关于到AS SSD Benc ...

最新文章

  1. 作者:张鹏(1993-),男,国防科学技术大学并行与分布处理重点实验室硕士生...
  2. 【Oracle】第一次安装失败,第二次成功,如何安全删除第一次的?
  3. bzoj 1623: [Usaco2008 Open]Cow Cars 奶牛飞车(贪心)
  4. paip.XXListener is already configured监听器已经被配置的解决
  5. linux文件映射mmap
  6. 二叉树层序遍历算法实现
  7. mysql之魔鬼训练营
  8. 创业怎么写商业计划书?
  9. 基于Java+SpringBoot+Thymeleaf+Mysql在线购物网站商城系统设计实现
  10. 腾讯无限法则有几个服务器,腾讯《无限法则》亚服即将开测!PC配置需求公布,竟无官方中文!...
  11. express比php好用,[译]Node.js 框架比较: Express vs. Koa vs. Hapi
  12. 《Cisco VPP SFC》2、NSH_SFC 安装
  13. 王垠:编程宗派之我见
  14. weblogic反序列化
  15. 域名服务详解(域名解析流程和分类)
  16. 历年北京理工大学复试上机题
  17. 综合培养学生脑力思维的少儿编程
  18. 看完通辽可汗小约翰之后应该掌握的英语词汇 01 外交类
  19. 不花一分钱让手机支持原声原唱
  20. 建库语句 oracle,Oracle数据导入导出和建库语句

热门文章

  1. Zygote进程简介
  2. IPv6:下一代互联网发展的基石
  3. photoshop 学习视频
  4. 制作U盘版Windows 8部署工具
  5. 67817-30-5,1,3,4,6-Tetra-O-acetyl-2-azido-2-deoxy-α-D-galactopyranose,-叠氮-2-脱氧-α-D-吡喃半乳糖的化学性质及保存方法
  6. 联发科 2024届 IC实习笔试分析
  7. 蛋蛋读UFS之六:UFS设备初始化和启动
  8. Android Toast示例
  9. 详细讲解如何使用Java连接Kafka构建生产者和消费者(带测试样例)
  10. ROS开源小车TurtleBot3详情介绍