关于记忆游戏按键与led灯不匹配的问题
在我们功能测试与性能测试已经通过的情况下测试记忆游戏,发现偶尔会有几次按键与led灯不匹配的问题,使用ila将相关信号拉出来看发现是从confreg里面读出的按键信息与刚才的按键操作不匹配,截图如下
而正常的情况如下
可以看出rdata在不正确的时间读取了btn_key的值,导致读回cpu的数据是错误的。请问造成这种情况的原因会是什么
而正常的情况如下
可以看出rdata在不正确的时间读取了btn_key的值,导致读回cpu的数据是错误的。请问造成这种情况的原因会是什么
没有找到相关结果
已邀请:
2 个回复
龙芯杯答疑
赞同来自:
现在问题应该聚焦在 btn_key_r记录的按键值从0000->1000->?->0x8000是3次按键还是一次按键?
potato
赞同来自:
上面圈出来的地方就是导致问题出现的地方,当按键按下state变化后,每次都会有一个周期使得btn_key_tmp变为1000,而此时btn_key_row的值还是为7,此时被错误判断为按下最左边的那个按键,btn_key_r存入错误值,直到state到达按下键所属列后才变化为正确值,而如果cpu在这个错误的时间来请求数据就会出错。这个问题好像不是cpu设计导致的,请问该如何处理?