图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. rfc垮端口 sap_SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
  2. Spring boot 和Vue开发中CORS跨域问题
  3. Disgruntled Judge UVA - 12169
  4. springmvc atomikos mysql数据源_springboot+atomikos+多数据源管理事务(mysql 8.0)
  5. Linux系统集群架构线上项目配置实战(一)
  6. [渝粤教育] 西南科技大学 经济法概论 在线考试复习资料2021版(3)
  7. python中的魔术方法
  8. C++很难学?这个ACM金牌大佬可不这么认为!
  9. Perl 字符串截取函数substr
  10. python画circos图_CIRCOS圈图绘制 – 最简单绘图和解释
  11. 如何用GoldWave交叉淡化两首音乐?
  12. amd cpu排行_最全cpu性能排行榜,cpu性能排行天梯图
  13. 计算机桌面黑屏有鼠标,win7系统启动黑屏只有显示鼠标指针怎么办(图文)
  14. 神来之笔,阿里最新Spring Security源码手册牵动了多少人的心,拿走不谢
  15. 【附源码】计算机毕业设计java学生网上请假系统设计与实现
  16. 移动架构11_建造者模式
  17. 第六章、Tiny4412 U-BOOT移植六 Nand Flash源码分析
  18. 两万用户的项目需要多大服务器,两万左右服务器配置
  19. win7 visual studio code安装和使用
  20. 基于pikachu漏洞平台的 --SQL注入攻击学习与总结

热门文章

  1. RS485,RS232,MODBUS三者之间的关系
  2. ID读卡器——USB
  3. 小问题:no available avd
  4. 交互式电子广告牌实现
  5. 52730-14-0,4-Methylphenyl Tetra-O-acetyl-α-D-galactopyranoside ,4-甲基苯基 四-O-乙酰基
  6. SSM整合之登录注册
  7. 解决360doc网站不登录就无法复制内容的方法
  8. SQL语句关键字大全
  9. mysql触发器发送curl请求_mysql触发器作用,好处和curl
  10. XLSTransformer.transformWorkbook导出excel不能将列导出完整问题