SDRAM和DDR专题课【汇总贴】

  发布时间:2023-10-22  |    作者:yi jin yun  |  浏览量:562


如果同学们的学习问题我们帖子里面没有的请第一时间联系我微信同步:老师13112063618

 

明德扬做了抖音系列短视频,感兴趣可以关注明德扬抖音号:FPGA技巧分享(87481069842)内容不断更新!点赞+关注,学习不迷路!

 


【问题1】DDR3那个课程,一般线速率能跑到多少?

答:本课程的DDR3内容,是基于XILINX K7芯片,使用的是VIVADO平台。DDR3的时钟频率是800M。用户侧时钟是200M。


【问题2】SDRAM和DDR3课程,使用是什么平台?

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



【问题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工程师都应该知道的概念)。

 


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

 

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



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



【问题7】请问这个sdram的自动刷新命令发送后,是不是刷新的是所有bank的同一行都在执行刷新呀?也就是说刷新的是不同bank的同一行,是不是这样理解?
image.png
答:是的。发送一个自动刷新命令,所有BANK同一行都会刷新。


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

image.png

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


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



【问题
10】下图中的自刷新有啥区别?

image.png
答:上电后,要经过初始化,初始化中要有两次刷新动作;当初始化完成后,才是每隔一段时间,要自刷新一次



【问题11】如下图所示,为什么在接口中,一般要锁存住地址addr、写数据wdata等?不锁存不行吗?
image.png

答:如上图所示,假设在第2~6时钟时刻,addr的值为2,表示此时要写地址2。本模块收到此请求后,会在后面如第7~10时钟,产生写地址为“2”的时序。但注意,在第7~10,addr的值还是不是2呢?可能不是了。




【问题12】请问连接ddr3 ip核与mem_burst时,有些端口未定义。内些未定义的端口怎么办?

答:
1. 本课程提示的案例,经过上板验证是可以的,如果不可以,请及时向老师反映。
2. 本例程验证过是可以的,因此例化时未连接的信号,就说明对本例程来说不用关心,不用使用。
3. 如果您要想关心这些信号,可以阅读数据手册,了解该信号含义。 


 

【问题13】问题:请问老师xilinx FPGA的HR bank的 lvds接口可以驱动250Mhz DDR adc 吗?我一直只能跑到100Mhz ,不知道是不是我的时序有问题?
答:
1、首先请确认使用的芯片是否支持该DDR的速率;
2、如果支持的话,请严格按照设计规范进行设计;
3、同时请检查该开发板的pcb原理图的设计是否合适,例如pcb的走线是否等长,或者pcb的板材是否合适、阻抗是否匹配......这些都会影响DDR的速率。

 

 

【问题14】问: 有 vivado 下 DDR模型和参数不?用于仿真?
答:vivado DDR可以生成对应的例程,可以用于仿真。具体操作步骤可以百度搜索一下,例如Xilinx VIVADO中DDR3 IP核的使用(1)_朽月的博客-CSDN博客_xilinx ddr 自动刷新


 

【问题15】问:SDRAM中将刷新时间改为1300的意义何在?
答:如果以1562个为周期,当时间到了之后,如果此时处于写或读操作状态,就要等一段时间再进行刷新操作,这样刷新间隔就会大于1562,不满足要求。



【问题16】问:请问在边缘检测的项目中,输入输出数据是25M,SDRAM的工作时钟是100M,这种情况下读写效能是多少呀?
答:SDRAM读写总线效能一般计算:SDRAM的工作时钟 * 数据位宽 *70% 。(注意:其中70%是指减去sdram的一些操作占用后的效能,70%的数值是经验之谈,请根据实际情况变更数值)




【问题17】问:SDRAM工程中,读写请求是一个脉冲,还是连续的电平?
答:在MDY自定义的接口中,读写请求是一个持续为高的电平信号,一直拉高直到模块响应为止。拉高一个电平为表示读写一次。




温馨提示:明德扬2023推出了全新课程——逻辑设计基本功修炼课,降低学习FPGA门槛的同时,增加了学习的趣味性,并组织了考试赢积分活动

http://www.mdy-edu.com/ffkc/415.html

(点击→了解课程详情☝)感兴趣请联系易老师:13112063618(微信同步)


明德扬除了培训学习还有项目承接业务,擅长的项目主要包括的方向有以下几个方面:

1. MIPI视频拼接
     2. SLVS-EC转MIPI接口(IMX472 IMX492)
     3. PCIE采集系统
     4. 图像项目
     5. 高速多通道ADDA系统
     6. 基于FPGA板卡研发
     7. 多通道高灵敏电荷放大器
     8. 射频前端

需要了解相关信息可以联系:易老师13112063618(微信同号)



本文TAG:

Copyright © 2012-2023 版权所有:深圳明德扬科技教育有限公司