【问题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是否为空。
|