概述
HXDSP2441芯片 DDR 存储接口支持兼容JEDEC JESD79-4 标准的 DDR4 存储器,有 2 个独立的DDR 存储接口,2 个接口功能完全一致。
主要特征
单个 DDR 存储接口的主要特征如下:
- 完全流水化命令、读数据、写数据处理;
- 针对高带宽目标的先进的 bank 预判断处理;
- 控制器复位时完全初始化存储器;
- 支持内置的 DDR Training 功能,包括 Write Leveling、Read Gate Leveling、Read Data Eye Leveling 等;
- 可对外部DRAM 存储器进行 BIST 测试;
- 可选外部存储器数据路径位宽,支持全数据宽度(64bit) 或半数据宽度(32bit);
- 支持可选的ECC 功能,ECC 数据宽度 8bit;
- 最高支持DDR4-3200 数据率;
- 支持最大 64Gbyte 的地址空间;
- 支持2 个物理 RANK;
DDR初始化
BIST(Built-In Self-Test)测试
DDR 初始化完成后,可以运行 BIST 程序,来检测整个 ddr 存储系统的正确性。BIST 程序会通
过控制器内置的激励,遍历整个 ddr memory 空间,来检测 ddr 存储系统的正确性。
BIST 分为ADDR BIST 和 DATA BIST 两类,前者主要用来检查地址译码相关的错误,后者主要
用来检查存储器数据访问的错误。
BIST 配置过程如下:
- 准备
设置 in_order_accept 寄存器为 1,以使命令顺序执行;
对应寄存器为: CTL_190[0]:IN_ORDER_ACCEPT; - 设置Memory Bist Start Address 寄存器,确定 BIST 测试的 memory 起始空间;
一般设置为 0;
对应寄存器为:
CTL_124[31:0]:LSB of Memory BIST START ADDR;
CTL_125[ 7:0]:MSB of Memory BIST START ADDR; - 设置Memory Bist Address Space 寄存器,确定 BIST 测试的 memory 地址空间范围;
一般设置为外挂DDR Memory 的容量;
对应寄存器为:
CTL_122[13:8]:Memory BIST Address Space 为 2CTL_122[13:8] Byte; - 设置Memory Bist Type 寄存器,确定 BIST 的类型:ADDR_BIST or DATA_BIST;
每次BIST 测试只能选择其中一种类型;
一般而言,ADDR BIST 更容易 PASS,BIST 的速度也比较快;
对应寄存器为:
CTL_122[24]:BIST ADDR CHECK Type,1 表示有效;
CTL_122[16]:BIST DATA CHECK Type,1 表示有效; - 启动BIST
对应寄存器为:
CTL_121[24]:BIST GO,1 表示有效; - 等待BIST 结束
通过查询中断寄存器或等待中断来判断 BIST 完成;
等到 BIST 结束后要把结束状态清除;
对应寄存器为:
CTL_204[16]:BIST INT STATUS,1 表示有效;
CTL_212[16]:BIST INT ACK/CLEAR,写 1 则清除BIST INT STATUS; - 查看BIST 结果
对应寄存器为:
CTL_122[0]:DATA BIST RESULT,1 表示 BIST PASS,0 表示FAIL;
CTL_122[1]:ADDR BIST RESULT,1 表示 BIST PASS,0 表示FAIL; - 离开BIST 状态,使 Memory 可以正常访问
设置 in_order_accept 寄存器为 0,以使命令可以非顺序执行;
设置 BIST_GO 寄存器为 0,以使 Memory 回归正常访问状态;
对应寄存器为:
CTL_190[0]:IN_ORDER_ACCEPT;
CTL_121[24]:BIST GO;
mt40a512M single rank 初始化程序
查看资源文件源码
mt40a512M dual rank 初始化程序
查看资源文件源码