基于nios测试存储器
1赞电路板制作好后对存储器进行测试很重要,看存储器是否能正常工作。之前看到Nios工程模板中有MemTest模板,查了一下,可用此模板测试存储器,下面具体说说测试方法,方便快捷啊。
开发环境:Quartus II 13.0 (64-Bit) + Nios II 13.0 Software Build Tools for Eclipse
1. 实验基于友晶DE2-70开发板,SDRAM型号为IS42S16160B-7TL,EPCS64(手册上写的是EPCS16,但实际上是EPCS64)
2. 在Qsys中添加组件:
NIOS
ALTPLL
Sdram controller
Epcs controller
Jtag uart
Uart
3. Pll例化,如下图所示,输入时钟50MHz,nios时钟130MHz,SDRAM时钟130MHz,相称-1.5ns测试,相称部分有公式可以计算
4. SDRAM例化,如下图所示,可以保存SDRAM参数至library以便下次方便使用。
Sdram的Timing参数如下图所示
5. 组件添加完成后如下图所示,对于连接到总线的存储器模块,如sdram和epcs,需连接data_master和instruction_master,其它连接到总线的模块只用连接data_master。
6. Nios中新建MemTest模板,运行程序后出来测试选项,先测试SDRAM,再测试EPCS,nios程序在SDRAM中运行。
7. SDRAM测试结果如下图所示,SDRAM起始地址为0x0400 0000,尾地址为0x05ff ffff,以0x0400 0009为起始地址测试不通过,但以0x0400 0000为起始地址测试却ok,可能是nios在SDRAM中运行占用了一部分存储空间。
8. Flash测试结果如下图所示
1) EPCS64容量为64Mbit
2) 128个block(sector),每个block容量为0x10000(64kbit*8=512kbit)
9. 至此,存储器测试完成。
问题注意:
管脚分配不对的话或者SDRAM时钟相称设置不正确,nios程序下载不进去,到64%左右的时候会报错