当前位置:首页 > DDR2程序设计方案
选择”Accept”,点击下一步,之后一直点击下一步,直到最后点击”Generate”,生成DDR2 IP核。
到此DDR2 IP核生成完成。
打开DDR2 IP核所在文件,ucf文件在par目录下,下图是路径,此ucf文件中有之前配置的引脚,其中一些引脚需要修改或删除。
基于DDR2核的读写模块设计
DDR2 IP核信号介绍
DDR2读写需要操作的信号如下: 信号 phy_init_done rst0_tb clk0_tb app_wdf_afull app_af_afull
位宽 1 1 1 1 1 定义 此信号为DDR2初始化信号,此信号为高有效 DDR2操作时的复位信号,此信号高电平有效 DDR2操作时的时钟信号 写数据时FIFO满标志,为1时表示满 写地址时FIFO满标志,为1时表示满
rd_data_valid app_wdf_wren app_af_wren app_af_addr app_af_cmd rd_data_fifo_out app_wdf_data app_wdf_mask_data
DDR2 IP核读写时序分析 写时序分析
1 1 1 31 3 32 32 4 读数据时,数据输出有效标志 写数据使能 写地址使能 地址线,无效的位写1(建议) 命令信号,000为写数据,001为读数据 数据输出端口 写数据时的数据输入线 写入数据时的数据屏蔽信号 此图中的写数据是4突发连续写
图中reset_tb为复位信号,本次生成核的复位信号为rst0_tb,此信号为1表示复位。phy_init_done为DDR2初始化完成信号,如果此信号不为高,表示DDR2核未完成初始化,此时DDR2核无法工作。
在复位无效并且phy_init_done为高的情况下,进行突发写数据。
这里突发长度为4个数据,4个16位的数据,app_wdf_data的位宽为32位,所以需要写两次数据,即图中所示的D1D0,D3D2。地址是4的倍数,如第一个地址为0,第二个地址便为4,之后就是8,12...
读时序分析
在不断写入地址的过程中,数据会在rd_data_valid拉高的时候通过rd_data_fifo_out输出。
不断写入地址,等待rd_data_valid拉高,读rd_data_fifo_out中的数据。 读数据也一样,地址是以4为基数不断累加输入的。
顶层模块设计
顶层模块需要主要完成三个工作:调用DDR2核,使用PLL生成DDR2核所需时钟,为读写模块提供数据与地址。
DDR2核模块需要两个时钟信号,一个是sys_clk,一个是idly_clk_200,这两上时钟都为200M,使用锁相环生。
共分享92篇相关文档