ALTERA DDR2 IP核调试记录

本文详细记录了在ALTERA FPGA中配置和使用DDR2 IP核的过程,包括创建IP核、设置参数、全编译以及上板调试。在创建IP核时,介绍了如何选择合适的DDR2核并调整相关参数,以及生成仿真模型。在使用IP核时,重点讨论了本地接口的信号时序和如何编写本地接口控制时序。全编译过程中涉及时序约束、引脚约束和逻辑分析仪的设置,最后成功上板并解决可能出现的编译问题。
摘要由CSDN通过智能技术生成

一、创建IP核

以管理员方式打开QUARTUS II 13.0,新建一个工程,打开MegaWizard plug-in manager
在这里插入图片描述
找到interface>>external memory>>ddr2,选择第二个IP核,IP核地址选择放在工程同一个文件夹下,
在这里插入图片描述
等待IP核设置GUI跳出来,win7系统下该图形界面显示不全,可以先将屏幕分辨率调制最低,再将分辨率恢复即可。

Device family 和speed grade根据自己的FPGA类型设置,pll参考时钟频率根据实际情况设置,我的是以板载50MHz时钟源作为PLL的参考时钟,存储器工作频率根据需要设定,我这里设为133.3MHz(设为166.67和200后续全编译时序会报错),
对于全速率和半速率:当器件的工作时钟和控制器的工作时钟(phy_clk)相等时,即为全速率,此时本地接口的local_wdata的宽度为dq宽度的两倍,因为时钟上升下降沿均写数据;
当器件的工作时钟是控制器(phy_clk)的工作时钟的两倍时,即为半速率,此时本地接口的local_wdata的宽度为dq宽度的四倍

根据自己DDR2的器件类型修改“Memory Presets”的参数。详细的可以参考这篇博客https://www.cnblogs.com/xianyufpga/p/13074382.html#4622838
后面一直点next,直到这个界面,勾选“Generate simulatuon model”,待会前仿真的时候要用到。
在这里插入图片描述
点击finish,等待一分钟左右IP核就生成了。
将ddr2_example_top.v和ddr2_example_driver.v这两个文件添加进来,并将ddr2_example_top.v设置为工程顶层,ctrl+k分析和综合后设置仿真。
将生成的testbench文件夹里找到ddr2_example_top_tb.v,将其设置为仿真文件,并将仿真模型ddr2_mem_model.v添加进去。
点击RTL Simulatuion,开始前仿真。
在这里插入图片描述

二、使用IP核

对于用户而言,需要关注的是本地local接口信号,二不再需要关注复杂的DDR2的读写刷新初始化时序。
[ 24: 0] local_addr; //本地接口读写地址。我的DDR2行地址13位,bank地址 线3位,列地址10,加起来一共26位,但是每次读写都是上升沿和下降沿分别进行一次读写,因此列地址的最低位每次读写都是0 1 0的循环,可以忽略,只需关注列地址高9位即可,所以会省略一位,变成25位。
[ 3: 0] local_be; //字节使能信号,每一位使能一个字节数据,一般默认全1
[ 31: 0] local_rdata; //本地接口读出数据
local_rdata_valid; //本地接口读数据有效信号,和local_rdata同步
local_read_req; //本地接口读请求,每次读突发,在local_ready为高的前提下要保持一个时钟周期的高电平即可
local_ready; //本地接口读写请求握手信号,为高表示处于空闲或者读写请求被接收
[3:0] local_size; //本地接口突发长度(以local_wdata为单位)
[ 31: 0] local_wdata; //本地接口待写入数据
local_wr_req; //本地接口写请求,在local_ready为高的情况下,local_wr_req要保持local_size个时钟周期的高电平。
具体的本地接口信号时序见下图,图片来自博客https://www.cnblogs.com/xianyufpga/p/13080797.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过以上图片,本地接口的时序基本可以弄清楚了。
这里我自己编写了一个本地接口控制时序,替换了ddr2_example_driver.v,将原有的多余信号删除,前仿真也通过了。注意还是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值