Alreta DDR2 IP 核仿真测试

开发环境Quartus II 13.1 ,仿真工具 ModelSim SE-64 10.4,直接使用altera官方testbench仿真测试。

目录

1 IP核配置生成

2 搭建仿真工程

2.1 工程层次

2.2 _example_top.v文件更正地址

2.3 _example_driver.v文件说明

3 利用moldesim SE仿真

3.1 在quartus 中设置仿真工具路径

3.2 设置仿真工具、testbench.

3.3 仿真文件结构

3.4 启动RTL仿真

4 使用时序总结

4.1 配置

4.2 写突发

4.3 读突发

4.4 写突发local_size=1

4.5 odt使用情况

5、特别注意


1 IP核配置生成

用verilog语言

Alreta DDR2 IP 核仿真测试Alreta DDR2 IP 核仿真测试

Alreta DDR2 IP 核仿真测试

Alreta DDR2 IP 核仿真测试

Alreta DDR2 IP 核仿真测试

注意:在生成过程中会卡住两次,每次等待一会后,在任务管理器中关闭quartus_map.exe,即可顺利生成。

Alreta DDR2 IP 核仿真测试Alreta DDR2 IP 核仿真测试

2 搭建仿真工程

2.1 工程层次

生成的IP文件夹内包含了例程文件,在quartus中搭建例程工程,编译,以此工程为基础进行仿真。

Alreta DDR2 IP 核仿真测试

2.2 _example_top.v文件更正地址

在_example_top.v文件中需要更改driver与ddr IP地址 的 对应顺序,默认生成的顺序为bank-row-col,而我们创建的IP为顺序row-bank-col

Alreta DDR2 IP 核仿真测试

2.3 _example_driver.v文件说明

更改下图中的参数,可以调整生成local数据的长度。如果不清楚,可以先不更改,用默认值。

Alreta DDR2 IP 核仿真测试

代码主题框架如下:

Alreta DDR2 IP 核仿真测试

3 利用moldesim SE仿真

在quartus中编译例程工程后,设置仿真工具路径,参数。

3.1 在quartus 中设置仿真工具路径

路径末尾加斜杠,否则报错:Quartus II-can't launch the ModelSim-Altera software

Alreta DDR2 IP 核仿真测试

3.2 设置仿真工具、testbench.

Alreta DDR2 IP 核仿真测试

3.3 仿真文件结构

_top_tb.v中把_top.v的DDR接口接到DDR模拟器上,并监视总线控制信号,打印出

Alreta DDR2 IP 核仿真测试

Alreta DDR2 IP 核仿真测试

3.4 启动RTL仿真

Alreta DDR2 IP 核仿真测试

modelsim会自动编译库文件、设计文件,时间较长。wave默认只有_tb.v中的信号,可以添加自己想看的其他信号,在modelsim中restart.

4 使用时序总结

4.1 配置

控制器会自动执行行**、关闭;启动时自动配置mode寄存器,校准。等待初始化完成信号,可进行本地操作。

4.2 写突发

Alreta DDR2 IP 核仿真测试

4.3 读突发

Alreta DDR2 IP 核仿真测试

4.4 写突发local_size=1

(正常应local_size=2,对应DDR的BL=8固定),配合DM使用

突发local_size=1,local_address每次递增4。

local_address=0对应到DDR接口,用地址0起始,取固定BL=8中的低4个;

local_address=4对应到DDR接口,用地址0起始,取固定BL=8中的高4个;

Alreta DDR2 IP 核仿真测试

4.5 odt使用情况

只在写数据时使用。

5、特别注意

上文图中已经提及,在此处再次说明。

 1)IP创建卡住处理;

 2)modelsim-altera 不能仿真VHDL verilog混合代码,要用SE版本;

3)设置modelsim路径时,最后要加斜杠;

4) _example_top.v中地址对应顺序要修正为row-bank-col,与IP设置相对应;