lattice DDR3 IP核使用调试分享

本文以一个案例的形式来介绍lattice DDR3 IP核的生成及调用过程,同时介绍各个接口信号的功能作用:
一、建立Lattice工程
1、首先,新建一个工程“lattice_ddr3”:
 
 
 
其中器件选择的是ECP5U系列LFE5U-45F-CABGA381芯片,Lattice的工程后缀是.ldf文件。进入工程界面后,添加模块文件:右键点击Input Files --Add--New File--Verilog Files即可添加。
 
 
2、添加了工程文件后,需要设置一个顶层,右键点击impl1,选择Set Top-Level unit,在弹出的窗口中设置顶层文件的名称,综合软件选择系统自带的Lattice LSE。
 
 
二、顶层文件设计
 
      顶层文件中,需要包含输入输出信号,其中系统的输入是时钟clk和复位信号rst_n,输出是 FPGA向DDR3的输出信号,信号的流程图如下所示:
其中,IP核控制模块Mem_burst中是双端口的输入输出,输入信号有顶层中产生的输入和IP核返回的输入信号;输出有IP核输出到Mem_burst的信号和控制模块输出到顶层的信号。
 

三、模块信号功能介绍:

DDR3 IP核的调用主要有两部分模块,分别是控制模块和IP核接口模块,其对应的各信号列表如下:

1、控制模块的信号功能列表如下所示:

2、DDR3 IP核的接口信号功能列表如下:

四、DDR3 IP核生成过程:

在例化DDR3的IP核之前,需要先生成DDR3的IP核,且DDR3的例化与其他IP核不同,具体的过程如下:

1、首先打开Clarity Designer创建一个IP文件:

 2、进入IP核生成界面后,需要在网上下载DDR3的IP核,在Lattice IP Sever中进行联网下载DDR3的IP核并安装,安装完IP核后在Lattice IP中选择ddr3 sdram controller 3.1,进行IP核参数设计:

3、配置IP核参数,由于选取的器件是ECP5U系列FPGA,因此DDR3的频率需设置为300M,否则生成的IP核是灰色的无法加入工程中去,内存数据总线大小选择16,对应的输入数据位宽是64位,配置选择X8,对应的地址位宽是28位。 

 4、IP核生成完成后,点击系统IP核界面上Generate,会在工程的文件列表中加入一个.sbx文件,此文件就是需要例化的DDR3 IP核实体文件,同时在对应的文件夹下面会出现一个对应名称的.V文件,将这个.V文件中的信号例化进顶层中即可。

5、需要例化的.V文件:

五、例化IP核

将上图中的.V文件例化进顶层文件中,定义好信号类型,将对应的信号相连接。至此,DDR3的IP核添加成功。

以上就是lattice DDR3 IP核使用调试的内容分享,欢迎大家留言讨论!

猜你喜欢

转载自blog.csdn.net/lxm920714/article/details/104052624