DDR training调试问题记录
·
- lpddr5/5x不需要配置ODT的上拉电阻,只有lpddr4/4x需要
分析:lpddr5的ODT电阻已经集成在dram芯片内部,无需在PCB上额外设计外部上拉电阻 - training报错: “PMU:Error:Path Phase not found.”
分析:时钟频率错误,虽然按照PLL正确分频,但是经过示波器测量DFI的实际频率是100Mhz,不符合400Mhz的需求,导致PMU无法找到正确的时钟相位 - training报错: “PMU:LP5 CS Training error! cs is late wrt cal unable to proceed further\n”
分析:该问题的解决尝试了修改CSBACKOFF ,修改CS clk delay,但发现微调不行,因为频率相位差距过大,后续重新校对了时钟相位数据,保证PHY 时钟正确,避免CS无法找到CA时钟 - PMU不运行固件
分析:现象为PMU没有任何打印报出来,怀疑是加载进去的image是乱码的,IMEM和DMEM镜像是按照32位格式生成的bin文件,而PHY PMU是16位的协处理器,需要将每个32位的镜像数据,拆分为两个16位的格式 - aon端写了32bit数据,实际上写了512bit,其余位置被填充1
分析: aon端不是burst写,只会写32bit数据,其余位置会被填充0,dram开了DBI,但是ddrc没有开DBI功能。根据DBI的规则,如果0的个数大于4,dram会把0反转为1,由于ddrc没有开DBI功能,就不会二次处理dram传过来的数据,最后呈现给用户的现象是,写入数据是0x0,0x0,0x0,0x0,但是读出来的数据是0x0,0xffffffff,0xffffffff,0xffffffff - 低频1600频点的training,可以省去CS training阶段
分析: 频率较低时,时钟周期更长,信号建立和保持时间的要求相对宽松。这意味着 CS 信号即使与时钟 CK 存在一定的相位偏差,在低频下也更容易被正确采样,发生时序违例的风险显著降低
7.mbist扫描pass后,多master访问DDR数据乱跳
分析: ddrc的max_wr_sync和max_rd_sync计算错误,该间隔为读写命令到sync off的间隔
解决方法一:开启wck-aon模式,使得wck和ck一直保持同步
解决方法二:降低ddrc端的时钟同步间隔,保证颗粒端不会丢掉时钟同步
更多推荐
所有评论(0)