有关NIOS里用到SDRAM相移的计算

3 篇文章 0 订阅

如何连接Nios II和SDRAM

SDRAM和Nios II连接的典型电路框图如下图所示。SDRAM和System使用同一个PLL输出时钟,可以保证System Clock和SDRAM Clock的相对抖动比较小。外部晶振的时钟送入PLL,然后由PLL产生两个同频的时钟一个供给Nios II系统使用,另一个供给SDRAM使用。(把PLL设置成Zero Buffer Mode可以比较方便地控制SDRAM Clock和输入时钟Extern Clock的相位关系。)Nios II系统中的SDRAM控制器和SDRAM通过双向数据线以及其它的单向控制线和SDRAM相连。

SDRAM Clock通常是E0输出或者C2输出,E0和C2都是PLL专用于输出外部时钟的,有比较小的抖动。由于一个FPGA中通常有若干个PLL,综合后使用哪个PLL是由输入时钟Extern Clock决定的,所以SDRAM Clock必须和Extern Clock是同一个PLL的专用输入管腿和专用输出管腿。调试SDRAM和Nios II的最关键是调整SDRAM Clock的相位。下面推导SDRAM Clock和Extern Clock的相位关系。

用实线向上箭头表示Extern Clock的上升沿,用虚线向上箭头表示Sdram Clock的上升沿。先看第一种情况:FPGA输出数据,而SDRAM采样数据。FPGA在Extern Clock上升沿的时候送出数据,经过最大Tcoutmax(FPGA)的时间在FPGA的管腿输出,由于SDRAM的输入建立时间为Tsu(SDRAM),所以Sdram Clock的采样时机必须在信号到达SDRAM后再等Tsu(SDRAM)。忽略PCB板传输延时,有:

Tlead=T-(Tcoutmax(FPGA)+ Tsu(SDRAM));其中Tlead为SDRAM Clock相对Extern Clock的最大提前量,T为时钟周期。

在下一个时钟上升沿来了后,FPGA会驱动新的信号,在经过最小Tcoutmin(FPGA)的时间(相当于输出保持时间)可能把先前驱动的信号冲掉,而SDRAM要求输入信号要求在采样的时候保持Tih(SDRAM)的时间,所以SDRAM的采样时机必须在Tcoutmin(FPGA)到来之前Tih(SDRAM)。忽略PCB板传输延时,有:

Tlag=Tcoutmin(FPGA)-Tih(SDRAM);其中Tlag为SDRAM Clock相对Extern Clock的最大落后量,Tih(SDRAM)为SDRAM输入保持时间。

第二种情况:SDRAM输出数据,FPGA采样数据。分析和上面类似,最后有:

Tlead=Tcoutmin(SDRAM)-Tih(FPGA);

选取最小的Tlead和最小的TlagSDRAM Clock的允许最大提前量和最大的落后量。举个例子:Nios II和SDRAM(MT48LC4M32B2-7)相连主频100MHz。其数据如下:

-       Data In: Tsu= 2 ns, Tih= 1 ns

-       Data Out: Toh(Tcoutmin)= 2.5 ns, Thz/tac(Tcoutmax)= 5.5 ns (CL=3)

l      2.5–5.5 ns (Data Undefined)

FGPA的数据可以在编译报告的时序分析部分得到,Tcoutmax(FPGA),Tsu(FPGA),Tih(FPGA)分别可以从Tco,Tsu,Th部分得到各个SDRAM相关信号的最大值。而Tcoutmin(FPGA)则可以运行Fast timing model timing analyzer来得到。

比如:

-       Data In: Tsu= 1.75 ns, Tih= 0 ns

-       Data Out: Tcoutmin(FPGA) = 2 ns, Tcoutmax(FPGA)=5.5 ns

Tlead=T-(Tcoutmax(FPGA)+ Tsu(SDRAM))=10ns-5.5ns-2ns=2.5ns

Tlead=Tcoutmin(SDRAM)-Tih(FPGA)=2.5ns-0ns=2.5ns

选一个小的,仍然是2.5ns。即Tlead=2.5ns

Tlag=Tcoutmin(FPGA)-Tih(SDRAM)=2ns-1ns=1ns

Tlag= T-(Tcoutmax(SDRAM)+ Tsu(FPGA))=10-5.5ns-1.75ns=2.75ns

选一个小的,即Tlag=1ns。

所以SDRAM Clock的相对External Clock相位为-2.5ns~+1ns之间。在生成PLL时指定在这个范围内的相位偏移就可以了。

注意:因为FPGA的时序分析报告都是以External Clock来算的,所以我们并没有使用System Clock来分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值