[转载].SDRAM时钟相移估算

[转载].SDRAM时钟相移估算

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

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

图1

 

2

图2

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

3 

图3

 4

图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 

图5

6 

图6

7 

图7

 8

图8

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

 9

图9

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

转载于:https://www.cnblogs.com/yuphone/archive/2010/04/06/1705657.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110788.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TiKV架构解析_ZEN2架构

    TiKV架构解析_ZEN2架构TiKV架构解析参考资料: 1.  TiKV源码解析系列-如何使用Raft  2.  TiKV源码解析系列-multi-raft设计与实现  3.  TiKV源码解析系列-PlacementDriver  4.  TiKV源码浅析-PDScheduler  5.  TiKV源

    2022年9月23日
    6
  • C++ 指针的两种操作,通过指针赋值 & 对指针赋值「建议收藏」

    C++ 指针的两种操作,通过指针赋值 & 对指针赋值「建议收藏」//打印函数templatevoiddisp(Ti){cout<

    2022年7月11日
    19
  • Java 四种线程池的用法分析

    Java 四种线程池的用法分析介绍newThread的弊端及Java四种线程池的使用,对Android同样适用,本文是基础篇。转载请标注原地址:http://blog.csdn.net/u011974987/article/details/51027795;1、newThread的弊端执行一个异步任务你还只是如下newThread吗?newThread(newRunnable(){@Override

    2022年7月8日
    25
  • docker启动mysql命令_docker部署java环境

    docker启动mysql命令_docker部署java环境Docker启动Mysql一、单机版Mysql1、拉取官方镜像,镜像地址:/mysql/”>https://hub.docker.com//mysql/2、拉取镜像:dockerpullmysql3、准备Mysql数据存放目录,我这里是:/home/ljaer/mysql4、执行指令启动Mysqldocker@default:~$dockerrun–namemysql-v/home/ljaer/mysql:/var/lib/mysql-p3306:3

    2022年10月6日
    2
  • c语言实现大数运算_c语言标准库教程

    c语言实现大数运算_c语言标准库教程前言:通过前面的3篇文章我们已经实现了大数的四则运算,本篇博客我们会把这是几个个方法做成一个库文件,可以供自己日后使用。细心的读者可能意到了,每个程序都引用了big.h但是都被注释掉了。big.h就是头文件只要将函数的声明放到该文件中,然后在其它程序中引用该文件就可以使用大数运算的方法。重复的代码我就不再写了,其实有了算法你们自己就可以实现,所以我就简单的说几句。文件命名:头文件:b

    2022年10月7日
    4
  • 轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类

    轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类前言讲道理,这篇博客应该可以帮助很多只有一点点NLP的朋友,在较短的时间内了解文本分类的整个过程并用代码复现整个流程。事先说明,这里大家先不要过分要求自己去理解整个模型的原理,先搞清楚整个实现流程,体验一下敲代码并成功应用的快感。实现流程找数据集首先第一步,就是要找好数据集,没有数据集模型怎么学习,怎么涨知识。那这里呢,我们采用的情感数据集是weibo_senti_100k数据集,一共有119988条带情感标注的新浪微博评论,其中正负向评论均为59994条,非常平衡的一个数据集。其中lab.

    2022年6月28日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号