转帖自特权(吴厚航)哥的博文。

http://blog.ednchina.com/ilove314/955999/message.aspx

SDRAM时钟相移估算

《Quartus II Handbook Version 9.0 Volume 5:Embedded Peripherals》中Section I的1. SDRAM Controller Core部分提出了如何估计SDRAM数据有效信号窗口,并且给出了SDRAM时钟相对于FPGA时钟相移估计公式。

下面先就事论事,对官方给出的这个公式做一些推导说明。(详细的内容请读者参考上面给出的资料,本文重点讨论估算公式。)原文的四个公式如图1和图2所示。

图1

图2

对上述四个公式的推导如图3和图4所示。

图3

图4

由上面得到的四个参数再代入下面两个公式求得Maximum Lag和Maximum Lead。

Maximum Lag = minimum(Read Lag, Write Lag)

Maximum Lead = minimum(Read Lead, Write Lead)

最后的相移值由(Maximum Lag + Maximum Lead)/ 2得到。简单的理解,就是相移值满足数据读和写有效的最小区间的中间值。

过去特权同学对这个相移估算也没有太多办法,只能凭感觉找,或者说是主要根据时序分析的结果来一次次的定位最佳的相移值,工作量比较大,也有撞运气的成分在里面,而Altera官方提出的这个方法还是很有效的,至少可以将用户的相移值定位到一个比较小的范围内再进行调整。在这个基础上还需要考虑一些PLL输出延时或者说是板级延时之类的影响,一般也只需要微调就可以搞定。

为了验证这种估算方法在工程应用中是否可行,特权同学特地拿出过去一个比较稳定工作的SDRAM控制器的一些参数进行计算。估算需要涉及到的参数如图5、图6、图7、图8所示。图5是slack最小的R2P输出时间;图6是slack最大的R2P输出时间;图7是datasheet提供的FPGA寄存器的建立保持时间参数,在TimeQuest的路径分析报告中也能找到这些参数;图8是SDRAM的Datasheet提供的相关时序参数。

图5

图6

图7

图8

结合上面的参数,可以进行相移估算如图9所示。

图9

估算到的最佳相移值是1.2005ns,而实际工程中稳定运行的相移是2ns,即估算值的微调范围内。

转载于:https://www.cnblogs.com/mark-sun/archive/2012/04/25/2470460.html

【转载】SDRAM时钟相移估算相关推荐

  1. sdram 时钟相位_零基础学FPGA (二十五)必会! 从静态时序分析到SDRAM时序收敛(下篇)...

    七.SDRAM工作时钟相位偏移计算本文引用地址:http://www.eepw.com.cn/article/279083.htm 从上篇文章中我们知道,我们的数据是要经过一定的延时才会到达目标器件的 ...

  2. Linux 时钟精度 与 PostgreSQL auto_explain (explain timing 时钟开销估算)

    标签 PostgreSQL , auto_explain , pg_test_timing , 时钟 , tsc , hpet , acpi , acpi_pm , Linux 背景 我们在诊断SQL ...

  3. sdram 时钟相位_Nios II 和SDRAM时钟相位计算

    SDRAM Clock通常是E0输出或者C2输出,E0和C2都是PLL专用于输出外部时钟的,有比较小的抖动.由于一个FPGA中通常有若干个PLL,综合后使用哪个PLL是由输入时钟Extern Cloc ...

  4. sdram 时钟相位_SDRAM小结 — Windows Live

    1,SDRAM的地址线, 在 我们一般用的什么SRAM啊,PSRAM啊,RAM啊,一般而言都是有多少根地址线,然后可以算出寻址空间,比如有11根地址线,那寻址空间就是2的11 次方减1.但是SDRAM ...

  5. sdram 时钟相位_stm32f429主频大于160MHz时,sdram数据不稳定

    stm32f429主频为180MHz, sdramz做lcd缓存时,刷完一帧图片,部分像素点颜色发送了变化,如下图.但将主频设置为160MHz时图片显示又很稳定,后来测试了一下sdram,发现主频大于 ...

  6. SDRAM 相关资料

    特权的时钟相移估计: http://blog.ednchina.com/ilove314/955999/message.aspx SDRAM时序--读高手进阶,终极内存技术指南 http://www. ...

  7. 基于S3C2440A+SDRAM(K4M51163)

    本系统是采用两片K4M51163-BG75的SDRAM,大小为2*64M. 1. SDRAM的工作原理 1.1 SDRAM概述 SDRAM:Synchronous Dynamic Random Acc ...

  8. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写...

    实验十八:SDRAM模块① - 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者.笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙.<整合篇>之际, ...

  9. NIOS II 8:SDRAM(W9825G6KH-6),从这里开始使用软件版本改为18.

    1.新建工程,打开qsys,加入如下的部分 2.生成如下 3.写verilog顶层文件如下 加入sys文件到工程 4.编译之后打开elipse.新建工程 5.报如下错误 打开如下文件,注意报错文件在b ...

最新文章

  1. 量化人类社会交互行为
  2. linux IP类常用命令
  3. Object Detection中的IOU
  4. java例程练习(布局管理器[FlowLayout])
  5. candence 16.6 win8.1 x64 破解
  6. python实现RSA算法,对数据进行加密认证
  7. 解压mysql server_2018-05-09 MySql-server解压缩版安装及配置
  8. 高级java面试宝典
  9. 下一站,北京-欢乐谷
  10. 解决git clone fatal: port 443: Timed out
  11. 高效率完成一次接入80个手游渠道SDK——游戏接入SDK服务端篇
  12. centos 安装dosbox
  13. ESP32-cam使用-智能家居云端视频监控实现
  14. SQLiteSpy下载安装
  15. ffmpeg项目编译出错问题解决方案.
  16. 自上而下拆解Synchronized
  17. 计算机考研怎么计划,计算机考研复习计划怎么制定
  18. [C/C++]跳格子游戏 - 2019校招编程刷题
  19. Python基础之闭包函数
  20. 怎么搭建网校系统,培训机构搭建专属网校平台源码

热门文章

  1. linux下为PHP扩展安装memcache模块
  2. 【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
  3. windowsXP用VNC客户端连接centos6桌面后再用tsclient连接windows2003/2008桌面
  4. ORACLE 10046 Trace
  5. Linux Shell常用技巧(二)
  6. iOS App启动流程
  7. MAC Android Studio SDK 无法更新问题
  8. 斐波那契数列与阶乘---递归实现
  9. CSS:你真的会用 z-index 吗?
  10. npm修改默认安装路径和数据源