FPGA SDRAM读写测试教程


title: “FPGA SDRAM读写测试教程” original_path: “/工作相关/FPGA培训资料/FPGA培训_2012_07/sopc实验/内存测试.pdf” file_size: “308 KB” total_pages: 6 category: “work” author: “飞凌电子” processed_date: “2026-09-20” method: “PDF文本提取(pdf-inspector)” status: “done”

文件概述

FPGA培训资料中的SDRAM读写测试实验文档,基于DE2-70开发板和Nios II处理器。文件大小308KB,共6页,为文本型PDF。

核心内容

一、下载硬件工程

  • 打开system光盘上的demo工程:DE2_70_NIOS_HOST_MOUSE_VGA
  • 点击按钮进入下载页面,选中第一个文件后点击start

二、建立Nios II工程

  1. 打开Nios II IDE,选择File -> New Project
  2. 设置SOPC Builder System PTF文件为:DE2_70_SOPC.ptf
  3. 配置工程名称和Hardware类型
  4. 设置System Library Properties(stdout、stdin、program memory等)

三、SDRAM测试代码

#define SDRAM1_BASE 0x04000000
#define SDRAM2_BASE 0x06000000
 
int main() {
    int *sdram1 = SDRAM1_BASE;
    int *sdram2 = SDRAM2_BASE;
    int i, right, temp;
    
    // 测试SDRAM1
    for(i=0; i<0x01000000; i++)
        *(sdram1+i) = 0x55aa;  // 写
    
    right = 1;
    for(i=0; i<0x01000000; i++) {  // 读并校验
        temp = *(sdram1+i);
        if(temp != 0x55aa) {
            right = 0;
            printf("sdram1 test failed at %d\n", i);
            break;
        }
    }
    if(right) printf("sdram1 test ok!\n");
    
    // 测试SDRAM2(类似流程)
    // ...
}

四、测试结果

  • 成功时输出:sdram1 test ok! 和 sdram2 test ok!
  • 失败时输出具体失败地址

五、固化硬件工程

  • Mode选择:Active Serial Programming
  • 选择.pof文件
  • 将DE2板左侧开关扳到prog位置
  • 点击下载,完成后扳回run位置

关键技术点

  1. SDRAM地址映射:SDRAM1在0x04000000,SDRAM2在0x06000000
  2. 测试模式:写入0x55aa(二进制0101010101011010),便于检测位翻转
  3. 内存大小:16M × 16bit = 32MB(每个SDRAM)
  4. 验证方法:写后读比较,确保数据一致性

关联性

备注

  • 该实验是FPGA嵌入式系统开发的基础测试
  • 可用于验证SDRAM控制器功能和内存完整性