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核后生成的各种源码,不可随意修改

  • output_filses文件夹

编译整个工程后生成的文件,包括我们需要下载到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,使用其他版本打开或编译遇到问题,请邮件告知我们,以获得解决方案邮箱:[email protected])

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日于成都市电子科技大学

时间: 2024-10-16 10:19:59

AC6102 DDR2测试工程的相关文章

新建 Android 测试工程

File--Project 选择Android----AndroidTest Project 按红色框框选择 选择APK 运行的版本,模拟器创建时用什么版本,此处就选什么版本 我的机器因为只有17所以我 选用的是17 API 点完成 在测试工程目录下新建Lib 目录 复制Robotium,jarjxl.jar ojdbc.jar 到Lib 目录下 选中三个jar 包导入到工程 导入之后确认界面 其它配置 选择测试工程----BuildPath---Configure Build  Path 一定

Android中使用自身携带的Junit新建一个测试工程

1.新建立一个Android工程 package com.shellway.junit; public class Service { public int divide(int a,int b){ return a/b; } } Service.java.作为被测试类 package com.shellway.junit; import junit.framework.Assert; import android.test.AndroidTestCase; public class TestT

robotium 测试APK<一> 建立测试工程

1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android Test Project ApkTest,然后点击下一步的时候选择This project,以下是新建的空工程 2.建立一个lib文件夹与conf文件夹lib放置依赖包,将robotium依赖包放进lib中,再由buildpath导入 conf放置需要的配置文件 3.将被测APK重新签名 因为roboti

android 新建测试工程

新建测试工程步骤如下: 1.确保环境已经配置好,新建java 工程 2.在新建工程中新建包 3.在工程中 新建folder,名字为libs,将sdk下的platforms下的任意版本的android.jar 和uiautomator.jar  复制到libs中 4.选中libs 下的文件,右键 build path - add 5.新建class 类,supclass 为 uiautomatorTestCase 内容来源: http://www.cnblogs.com/ITGirl00/p/42

基于Robotium框架的测试工程如何导入Robotium包的源码

1.  下载robotium包源码下载地址:https://github.com/RobotiumTech/robotium,保存下载后的文件robotium-master.zip到PC到的某个目录下: 2.  新建robotium测试工程,新建libs文件夹,导入robotium-solo-5.2.1.jar和robotium-solo-5.2.1-javadoc.jar文件夹: 采用如下地址的方法给jar包导入java-doc:http://wenku.baidu.com/view/0bfa

测试工程中引入Masonry记录

测试工程中需要引入Masonry,在进行添加新库时发现了几个问题,记录如下,方便有相同问题的朋友查找解决: 1,podfile中添加 pod ‘Masonry’ 后,pod install --verbose --no-repo-update 报错 报错内容如链接: https://www.jianshu.com/p/970199556854 关键字: ――― MARKDOWN TEMPLATE ――――――――――――― ### Command ### Report ### Stack ###

[fw]linux测试工程介绍(Linux Test Project)

http://ltp.sourceforge.net/ Linux Test Project, 后台很硬,由SGI? 发起, IBM维护,所以质量有保障. 里面介绍了很多工具,对于一般的基准测试应该是真够用了,关键是开发源码, 可以根据自己工程的需求,自己定制修改,本人由于工作原因阅读了(lmbench:lmdd , dbench 文件系统方面的测试),觉得非常不错 http://www.bitmover.com/lmbench/ http://www.samba.org/ftp/tridge/

STM32Cube Uart_DMA测试工程

1.打开软件,新建工程,选择芯片信号,这里选择 2.USART1使能选择"Asynchronous"模式: 3.配置"RCC",High Speed Clock (HSE) 选择外部晶振 4.配置"SYS", 5."Clock Configuration"选项,晶振填8M,选择"HSE",HCLK填写180MHz,如下图所示 6."Configuration",点击""

测试工程中的评审

测试过程中的评审 1.评审的概念 评审是由项目阶段成果的作者以外的其他人来检查工作成果,发现问题,提出意见和建议,以达到改进质量的目的.本文以下所说的评审为“广义评审”指软件项目中评审的总体活动,而不具体考虑如何进行这些评审.另外,这里的评审不涉及审计.评估等含义. 2.评审的目的和作用 评审最直接的作用和目的是要改进需求与设计文档本身,为下一阶段工作提供正确的基础,并通过评审的过程提高相关人员的总体分析设计及文档写作水平.当然,写需求或设计等技术文档,并不等于会“做”需求分析和设计.评审不仅能