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

2010-11-12 16:53 959 0 分类: MCU/ 嵌入式

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


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,即估算值的微调范围内。

文章评论0条评论)

登录后参与讨论
相关推荐阅读
zhwsdust 2010-11-16 15:09
倍频电路的verlilog设计
基本思想:通过逻辑延时,使同频时钟相位改变,而后将两个时钟相或即可得到二倍频电路,不过占空比不可调,由两个时钟相位差决定 module test(fout, fin);input  fin;  //4...
zhwsdust 2010-11-16 12:00
任意整数和小数分频的Verilog实现
...
zhwsdust 2010-11-14 16:33
[转]Verilog中宏定义位宽带来的问题
Verilog中宏定义位宽带来的问题         宏定义在C语言程序中的使用司空见惯,他的好处就在于可以大大提高代码的可读性和可移植性。而在verilog中,也支持这个语法,在很多开源代码中也都能...
zhwsdust 2010-11-14 16:17
verilog中的define和parameter
1、语法声明:parameter xx = yy;`define XX YY使用:xx`XX2、作用域parameter 作用于声明的那个文件;`define 从编译器读到这条指令开始到编译结束都有效...
zhwsdust 2010-11-12 16:52
[转]Cyclone器件全局时钟尽在掌控
 【转自】EDN博客精华文章  作者:ilove314http://article.ednchina.com/Other/20090323085107.htm  首先感谢wind330兄的《掌控全局时...
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /2 下一条