sdhc在emu验证中出现的问题

问题一:

Q: SD卡发现发送数据没有应答

A: 最终发现是SD卡的模型未连接到版本中

问题二:

Q: SD卡模型收到波形,但是无应答

A: 原因是因为sd_card_insert 信号极性有问题,导致模型sd卡未工作

问题三:

Q: SD卡模式,发送CMD11进行电压切换,发现sd卡信号提前拉高命令切换失败

A: 原因是由于软件的内存越界导致的问题

问题四:

Q: SD卡模式,读SCR寄存器或者读512byte的数据,会出现DATA3没有变化,且不产生传输中断完成信号

A: 由于DATA3脚和sd看的检测脚复用,默认被上拉导致一直为高电平,解决方法是emu配置修改为1,或者软件强制发送CMD42命令强制拉低

问题五:

Q:软件流程提示sd卡tuning不成功

A:原因是默认sd卡模型没有tune数据,需要手动加载tune.hex到模型中

1、芯片更新版本

2、tcl脚本中souce加载tune.hex脚本

memory -load %readmemh u_sd_card.dut.tune_pattern -file ./script/tune_sd.hex

问题六:

Q: emmc发送CMD1命令,反馈失败,芯片的response中反馈芯片初始化不成功或者busy

A: 原因是由于模型的emmc_int_clk 没有给时钟导致的

芯片更新版本后强制给一个1M的clk后正常

问题七:

Q: emmc 读CSD控制寄存器失败

A: 代码流程发现系统不支持高速模式,分析发现是有CSD控制寄存器中196byte为0导致

通过分析文档发现CSD寄存器需要模型手动初始化才行

问题八:

Q:

 CSD控制寄存器部分字节初始化不成功

测试代码发现CSD控制寄存器的第186字节为0,与实际不符合,但是CSD脚本中为1,

对比分析,大部分内容和脚本一致,但是部分内容不正确

A:

分析发现CSD扩展寄存器第186byte之所以和脚本不一样,是由于模块复位后会把emmc_reset脚拉低,这个动作会导致改bit为0,通过force的方式可以规避解决

force u_emmc.inst.ext_csd_strobe_support 1'b1

问题九:

Q: EMMC的DDR模式读数据反馈CRC出错

A:

 

在模型的手册中可以发现,需要模型的版本添加对应的宏定义才能够正确采样到波形,添加宏定义,重新做版本后,验证正常

问题十:

Q:  hs400_es 发送命令没有收到dqs信号

在hs400_es模式下,目前发现芯片发送cmd24后,cmd脚有应答,但是没有对应的dqs信号,导致芯片无法采样到cmd的应答,从而包cmd timeout的错误

A:

前经过分析发现emmc模型的ext_csd[183]bit7 无法置1,应该是这个原因导致cmd 的response没有storbe信号的

更新cadence给的模型后(模型bug),验证正常。

问题十一:

Q:  emmc的CQ中断测试失败

软件打印在CQ门限为1的时候中断counter值为2,理论应该为8,所以报错测试失败

A: 通过抓emu的波形以及软件添加打印,

1、CQ中断门限功能正常,门限为1的时候中断线有8次变化,门限为4的时候中断线有2次变化

2、软件的counter打印为2的原因是中断处理函数在退出前会判断当前是否还有未处理的中断,如果有则继续执行而不退出。但是counter是在中断退出后自加的,所以导致门限为1的时候,counter只有2次变化。

问题十二:

Q: SD卡在emu linux中DDR50模式下写正常,读异常

SD卡在emu linux中DDR50模式下写正常,读异常

通过分析波形以及相关寄存器,异常原因是由于 DATA CRC 导致的,初步怀疑和phy参数有关系,需要罗林抓内部信号进行分析

A:

通过技术支持更新模型,添加clk和data的相位偏移后,刘新编译新的版本,软件测试正常

问题十三:

Q:  sd/emmc在emu linux中读写boot0/boot1分区对比失败

sd/emmc在emu linux中读写boot0/boot1分区对比失败

1、写的数据和读出来的数据不一致

2、每次读数据发现数据是一样的

3、必先,并且软件没有报错,srs12寄存器也是正常

A:

emu上boot0和boot1分区的大小端有问题,导致写进去和读出来的数据不正常,

技术支持发布新的模型,重新制作新的的版本后测试正常。

问题十四:

Q:

如果sd卡和emmc同时使能clk和释放复位,再去访问sd卡寄存器,可以正常访问

但是单独使能sd卡的clk和释放复位,无法访问sd卡寄存器

A:

sd卡和emmc的apb decode中cgmen信号接反

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值