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信号接反
sdhc在emu验证中出现的问题相关推荐
- jquery中输入验证中一个不错的效果
在表单的输入验证中,经常要当用户没能正确输入后,要提示"XXXX输入错误" 这一类的信息,如何能搞到动态一点呢,今天发现jquery中的一个不错的效果,笔记之. 1 包含jquer ...
- 【Python学习】 - sklearn学习 - 交叉验证中的常用函数
首先调入库:from sklearn.model_selection import train_test_split train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例 ...
- perl语言编程 第四版_被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用...
最近在做一个验证环境的自动化生成脚本,在写的过程中,随着对PERL认知程度的增加,越感到它的强大之处,今天我们来谈一谈这门语言. PERL(Practical Extration and Report ...
- 关于表单验证中成功则跳转到指定页面否则不跳转的问题
关于表单验证中成功则跳转到指定页面否则不跳转的问题 之前学习HTML的时候会涉及到一些JavaScript的基础知识,其中就有表单验证问题,当时很郁闷的是,不管表单验证是否通过,它都会跳转到指定页面. ...
- 特征选择,归一化以及交叉验证中应当注意的问题
特征选择.归一化以及交叉验证中应当注意的问题 前言 为什么要划分训练集,验证集和测试集? 是先做特征选择还是先划分 训练集-验证集-测试集? 是先做归一化还是先划分 训练集-验证集-测试集? 交叉验证 ...
- cadence ic618中layout DRC验证中遇到的一个问题(licensed sufficiently)以及解决方案
本bug出现于直接使用拷贝过来已经安装好的cadence ic618且已经安装完成工艺库的情况下 系统为:centos os7 虚拟机版本为:VMware® Workstation 16 Pro 在绘 ...
- 使用js表单验证中的onsubmit属性
onsubmit的作用:组织表单数据的提交,如果onsubmit的值为true,则会跳转到指定页面,反之不会跳转,一般在js验证中使用,给js验证设定返回值true或false; 使用onsubmit ...
- sv验证中记分板的作用_将记分员添加到您的Python游戏中
sv验证中记分板的作用 这是有关使用Pygame模块在Python 3中创建视频游戏的系列文章的第10部分. 以前的文章是: 通过构建一个简单的骰子游戏,学习如何用Python编程 使用Pygame模 ...
- OpenCV(python版)识别滑块验证中的缺口
前言 验证码往往是爬虫路上的一只拦路虎,而其花样也是层出不穷:图片验证.滑块验证.交互式验证.行为验证等.随着OCR技术的成熟,图片验证已经渐渐淡出主流,而「滑块验证」越来越多地出现在大众视野.&qu ...
最新文章
- python中classes和class的区别-Python中的Classes和Metaclasses详解
- python用os.system打开wav文件_使用python读取wav格式文件
- 文件的输入/输出操作
- Sharepoint学习笔记—Site Definition系列-- 3、创建ListDefinition
- 大佬 | 从啥也不会,到Java大佬,他就因为会了这一门绝技
- MySQL DBA必备:MySQL 5.7升级8.0过程(全)
- 中国移动自主品牌首款5G手机亮相!越看越有华为的影子?
- 前端基础-CSS如何布局以及文档流,对于新手来说,特别有用
- apache配置cgi出错_Apache配置实现cgi-阿里云开发者社区
- 佳能ts9020墨盒不识别_打印机 篇一:Canon 佳能 TS9120 开箱使用体验、墨水和无线网连接...
- 研究生毕业设计的课题的基本步骤以及每个步骤的关键点?
- KC伺服舵机带参控制程序程序
- [工作必备]pandas数据分析处理52个常用技巧
- 谈的话马上得到了聚众传媒创始人虞峰、博客中国创始人方兴东及携程网创始人之一的季琦等三位嘉宾的一致响应
- python:对英文段落进行分句(对一段英语进行整句切分,切分句子)
- 高并发系统设计 --基于MySQL构建评论系统
- 图像预处理库CV-CUDA开源了,打破预处理瓶颈,提升推理吞吐量20多倍
- 2009年7月自考马克思主义基本原理概论模拟试题及答案(一)
- 2021年危险化学品经营单位安全管理人员考试试卷及危险化学品经营单位安全管理人员实操考试视频
- 31.进程管理之进程概览,及ps命令详解,ps -ef,ps aux,ps -le,ps -l输出详解和示例