AC6102 DDR2测试工程
AC6102 DDR2测试工程
本文档介绍AC6102上DDR2存储器基于Verilog代码的测试过程。AC6102上使用了2片16bit的DDR2存储器组成了32bit的硬件总线。虽然是32bit硬件总线,但是我们在使用的时候,也可以只使用其中1片,即16bit模式,忽略对另一片DDR2的读写。因此整个测试分为两种模式,16bit型(仅测试位于低16bit的DDR2芯片)和32bit型(测试由两片DDR2组成的32bit接口)。在实际使用时用户可以根据自己的需求选择使用16bit(仅使用1片DDR2)或32bit(同时使用两片DDR2)接口。两个测试工程与对应的功能如下所示。
|
文件名 |
功能描述 |
|
AC6102_DDR2_16bit_Test.rar |
单片16bit模式测试工程 |
|
AC6102_DDR2_32bit_Test.rar |
两片32bit模式测试工程 |
由于两种模式的测试方式完全相同,这里仅以两片32bit模式的工程为例,讲解测试过程。
1、 解压AC6102_DDR2_32bit_Test.rar到不含中文或者空格的目录中,如D:\fpga
解压后工程目录下内容如下所示:

这里对其中几个重要文件(夹)简单说明下功能:
|
文件或文件夹名 |
文件或文件夹功能描述 |
|
DDR2_IP文件夹 |
调用DDR2 IP核后生成的各种源码,不可随意修改 |
|
编译整个工程后生成的文件,包括我们需要下载到FPGA中运行的sof文件 |
|
DDR2.xml |
生成DDR2 IP时相关文件,存储了DDR2的一些相关信息,暂不理会。 |
|
DDR2_32bit_Test.qpf |
工程文件,使用Quartus II 13.0打开。 |
|
DDR2_32bit_Test.qsf |
工程配置文件,记录了工程相关的各个设置,包括引脚分配。 |
|
DDR2_32bit_Test.v |
测试工程顶层,例化了DDR2 IP和测试代码,组成完整的测试工程。 |
|
data64_source.v |
DDR2读写测试逻辑,该部分实现对DDR2的写入和读出控制,以配合signaltap ii抓取实时读写波形,以判断DDR2的读写是否真确。名字里之所以为64,是因为32bit硬件总线的DDR2对用户的逻辑接口为32*2,即64bit,所以我们需要实用64bit的数据进行测试 |
|
DDR2_32bit_Test_pin_assigment.tcl |
工程引脚分配,由于DDR2的引脚电平和分组都有严格要求,与我们平常普通的引脚分配方式有一定区别,因此这里提供本工程的引脚分配脚本,如果用户不小心操作使得工程引脚分配丢失,可以运行此tcl脚本来恢复引脚分配。 |
|
Micron MT47H64M32-5E.xml |
DDR2存储器参数配置文件,在DDR2 IP核配置界面需要用到。该文件的创建和使用在后续教程中会详细介绍,本测试工程不做过多讲解。 |
|
stp1.stp |
signaltap ii设置文件,测试时双击运行此文件以查看写入和读出的数据内容,通过抓取的波形内容分析读写是否正确。 |
2、 双击DDR2_32bit_Test.qpf以打开工程(强烈建议使用工程创建时候对应的版本即Quartus II 13.0,使用其他版本打开或编译遇到问题,请邮件告知我们,以获得解决方案邮箱:xiaomeige_fpga@foxmail.com)
3、 使用配套的5V电源给开发板供电,打开电源开关,插上USB Blaster下载器。然后在Quartus II中打开双击stp1.stp文件打开signaltap ii,如下图所示:

4、 选择下载器和需要下载的文件,然后点击下载以开始下载sof文件到开发板中,如下图所示:

5、 点击Run Analysis,抓取单次波形数据,如下图所示:

6、 分析抓取到的数据内容,重点看local_address为0xFFE_部分的读取结果,可以看到

当local_rdata_valid为高电平时,表明发出的读取指令已经开始返回数据,可以看到,返回的数据高32位和低32位数据都是从地址值开始累加返回的。与写入的数据一致,表明DDR2的读写是没有问题的。
测试16bit版本与32bit版本的过程完全一致,这里就不在细说。
小梅哥
2016年12月7日于成都市电子科技大学
AC6102 DDR2测试工程的更多相关文章
- Android中使用自身携带的Junit新建一个测试工程
1.新建立一个Android工程 package com.shellway.junit; public class Service { public int divide(int a,int b){ ...
- UiAutomator 测试工程开发小结
一. 关于bundle无法导入中文参数 答: 将文件改为UTF-8格式 二. 关于对无法抓取的控件进行快速输入问题 答: 主要通过pressKeyCode方法,首先将光标锁定在 ...
- ActiveX添加测试工程, 出现的问题[非选择性参数][找不到成员]
ActiveX 添加测试工程 1.新建工程MFC application, 2.添加完毕,在main Dialog中, 右键[Insert Activex Control],选择你的ActiveX控件 ...
- RadASM的测试工程!
RadASM已经安装完毕了,是否可以正常工作了呢?我们通过创建一个工程来测试一下,下面就是创建这个测试工程的过程: 1, 2, 3, 4, 5, 6, 7, 8, 9, 至此,我们通过RadASM的模 ...
- robotium 测试APK<一> 建立测试工程
1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...
- 测试工程中引入Masonry记录
测试工程中需要引入Masonry,在进行添加新库时发现了几个问题,记录如下,方便有相同问题的朋友查找解决: 1,podfile中添加 pod ‘Masonry’ 后,pod install --v ...
- 痞子衡嵌入式:介绍i.MXRT定时器PIT的多通道链接模式及其在coremark测试工程里的应用
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT定时器PIT的多通道链接模式及其在coremark测试里的应用. 早在 2018 年 i.MXRT 系列跨界处理器刚推出的时 ...
- linux测试工程介绍(Linux Test Project)
http://ltp.sourceforge.net/ Linux Test Project, 后台很硬,由SGI™ 发起, IBM维护,所以质量有保障. 里面介绍了很多工具,对于一般的基准测试应该是 ...
- 【TestNG测试】TestNG、Maven、testng.xml构建测试工程
创建一个maven工程 使用Idea创建maven工程 建立类似如上的工程结构,src/main/java,src/test/java,pom.xml,testng.xml,这里由于我们使用工程是 ...
随机推荐
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-2 工程及程序构架介绍
视频简介: 该视频介绍iCore3应用开发平台出厂源代码中ARM部分程序构架. 源视频包下载地址: http://pan.baidu.com/s/1jHGnc7k 银杏科技优酷视频发布区: htt ...
- VI操作命令
1. 按下esc键,非insert模式下 鼠标移入到 home x 删除光标处单个字符 dd 删除光标所在行 u 撤销最近一次操作 yy 复制当前行 yw 复制当前光标到单词末尾 y$ 复制所在位置到 ...
- sleep thread process
$str = 'w0'; for($w=0;$w<999999;$w++){ $sql = 'INSERT INTO w1 (wint,wchar) VALUES ('.$w.',"' ...
- php数组合并&去重&恢复索引demo
<?php $tmp = array('a','b','v'); $tmp_1 = array('a','s','asdf'); $res = array_merge($tmp,$tmp_1); ...
- 系统右键自定义功能-右键备份【C#】
平时在某些公司发布网站的时候,都是手动备份文件,以免发布错误,做回滚使用.频繁的发布,在做备份的时候也会稍稍浪费点时间.当然在一些大的公司都会有一些自动发布系统,就不会出现这种问题了,对这种问题,我做 ...
- Oracle 11g中修改默认密码过期天数和锁定次数
Oracle 11g中修改默认密码过期天数和锁定次数 密码过期的原因一般有两种可能: 一.由于Oracle中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180 ...
- Git 常见的一些小命令
Git 常见的一些命令 关于一些参数比较多,比较复杂的都有单独进行介绍 1. git cherry-pick 挑拣命令,当我们不想合并分支,或者git pull 更新仓库,而是 ...
- sed 引入shell变量
双单引号即可 1.eval sed ’s/$a/$b/’ filename2.sed "s/$a/$b/" filename3.sed ’s/’$a’/’$b’/’ filenam ...
- 《机电传动控制》PLC仿真
1.红绿灯 经仿真,可以完成所设定的要求.对比普通的红绿灯,知识加了X25和X20的控制,来控制夜间模式 . 2.传送带 经仿真,可以完成所设定的要求. 总结:这两个仿真都是亲自完成,感觉难度有些大. ...
- MVC中的成员资格,授权,安全性
使用 Authorize 特性登录 Authorize 是 ASP.NET MVC 自带的默认授权过滤器, 可用来限制用户对操作方法的访问. 保护控制器操作 Authorize 特性在表单身份验证和 ...