首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > xilinx平台DDR3设计教程之应用篇_中文版教程

xilinx平台DDR3设计教程之应用篇_中文版教程

资料介绍
xilinx平台DDR3设计教程之应用篇_中文版教程
到现在总算可以进入应用部分了
要说应用呢...那就是怎么把FIFO和DDR接起来了。
DDR接FIFO的情况需要考虑FIFO的时序和DDR 用户接口的时序
真等你调出来,那是要花点心思的。
下面我们就来看图说话吧。
至于为什么要接FIFO....
你不接FIFO还想做啥呢?
下面是一个典型的经过FIFO写DDR的应用例子流程图。别看了,很简单的。
废话少说,下一页开始图示FIFO和DDR用户接口的时序。
下面是一个fifo的接口
wr_clk是写时钟,wr_en是写使能,din是写入的数据。
那么rd_clk是读时钟,rd_en是读使能,dout是读出的数据。

发现什么区别了没?
神马?图不够大看不清楚?看下页大图~
这下图够大了吧?
写入fifo的din在wr_en使能范围内,是2020开始,顺序递增的。
而读出fifo的dout在wr_en使能范围内,第一个数据是初始值,而不是从fifo里读出
的第一个数据2020,注意到这一点没有?

那么,如果你希望从DDR条子的0地址开始写入第一个进入FIFO的有效数据,你
应该怎么办?
是不是看得脑子有点乱?没关系,我们下一页继续放大了讲。
看到地址了没?
就是app_addr,我们把他的初始值设为1fff_fff8,这是整条4GB的DDR条子
的最后一个地址,它再加上29'h8,就又回到首地址29'h0。
如此,地址29'h0写入的值就是第一个进fifo的2020。

等等,这里为啥地址每次都加上29'h8?
你知不知道burst length这一说?
默认的burst length是8,地址自然每次加上8。
不知道突发模式写DDR的,你还是百度一下DDR的基础知识吧...
除了地址要打个提前量之外,这个图上值得注意的是各种用户接口信号的时序。

一句话,就是“对齐”
那就是设计教程里讲的,一次成功的写入,需要地址……
标签:xilinxddr3
xilinx平台DDR3设计教程之应用篇_中文版教程
本地下载

评论