明德扬肖老师 发表于 2020-8-18 16:34:33

03_SDRAM和DDR交流【汇总贴】

【问题1.1】DDR3那个课程,一般线速率能跑到多少?
答:本课程的DDR3内容,是基于XILINX K7芯片,使用的是VIVADO平台。DDR3的时钟频率是800M。用户侧时钟是200M。

【问题1.2】SDRAM和DDR3课程,使用是什么平台?
答:SDRAM部分使用的是QUARTUS平台,着重于讲解SDRAM时序和SDRAM的接口设计。
      DDR3部分,使用的是VIVADO平台,着重于DDR3 IP的生成和上板验证流程。
      DDR3的理论部分,基本上不涉及,建议可以参考SDRAM的理论部分。


【问题1.3】 使用DDR3 IP一定需要读地址FIFO,读数据FIFO,写地址FIFO,写数据FIFO来先进行数据缓存吗?
答:这个理解是不对的。这里没有跨时间域的信号传输的。因为IP核会产生一个本地时钟,这个本地时钟是可以直接采集数据的,假设为clk_ddr_local。用户可以直接使用clk_ddr_local来往IP核传输数据。
      好了,接下来再考虑一个场景:我有一组数据A,产生于时钟域clk;A要写到DDR,DDR的时钟域是clk_ddr_local。自然地,A要跟时钟域到clk_ddr_local,然后才能写到DDR中,这就需要用到FIFO。
      接下来考虑另一个场景:我有一组数据B,产生于时钟域clk_ddr_local;B要写到DDR,DDR的时钟是clk_ddr_local。由于两个时钟域相同,直接写就好了。(通常来说,这已经不属于DDR的知识了,而是属于跨时钟域处理的知识,是FPGA工程师都应该知道的概念)。


【问题1.4】用户逻辑控制DDR3读写的程序不是需要自己写吗?
答:官方一般提供了DDR3的IP核。用户可以通过DDR3 IP核来进行DDR3芯片的读写。但是用户需要写逻辑来控制DDR3 IP核。


【问题1.5】课程里会讲如何通过DDR3 IP像写入图像吗?
答:课程中的SDRAM部分,会有例子讲如何写入图像到SDRAM中,DDR3/4也是类似的。但由于每人的项目不同,所以需要学员根据自己情况来移植。


【问题1.6】如何知道ddr3里不空,可以读取了?
答:DDR3和RAM【一样,是一个存储器件,它的每个内部单元都存储了当前的数据状态值。
但DDR3和RAM本身,是没有“空”、“存有数据”,“数据满”等概念的。只要给地址,它就会把当前地址的数据给到总线上,而且这个地址可以读很多次。
在设计的时候,是由设计师用自己写逻辑来判断DDR3是否为空。


【问题1.7】请问这个sdram的自动刷新命令发送后,是不是刷新的是所有bank的同一行都在执行刷新呀?也就是说刷新的是不同bank的同一行,是不是这样理解
http://www.fpgabbs.cn/data/attachment/forum/202111/17/143037hbcbiaqbqhbt0rrh.jpg
答:是的。发送一个自动刷新命令,所有BANK同一行都会刷新。


【问题1.8】请问有ddr3的IP核手册吗?(altera的)

答:IP核不同,界面会所不同,但一般都会提供下载链接的。VIVADO、ISE等,也是同样的情况

【问题1.9】做一个用到ddr4的项目,有一个ddr3的例程,不知道怎么改成ddr4?
答:百度搜索找资料,按流程配置就好,这个我们没有教程,只能看数据手册











页: [1]
查看完整版本: 03_SDRAM和DDR交流【汇总贴】