寄存器测试步骤
最近刚完成了一个简单的SPI寄存器的读写测试,接触到了公司里常用的五步法测寄存器的套路。
因为这里的寄存器最后用于实际芯片中,所以对读写地址的测试要做的完善一点。
- 通常是五步法测寄存器的value,后续再进行粘连测试。
- 一.对所有寄存器复位,检测default_value是否正确
- 二.对所有寄存器写入ff,检测是否正确
- 三.对所有寄存器写入aa
- 四.对所有寄存器写入55
- 五.对所有寄存器写入随机值
这里的步骤1,2,5可以理解,那么3,4是为了干什么呢。
因为2对寄存器全写1来检查是不是寄存器的每一位都能写入。
而3和4是检查是不是单个寄存器的偶数位和奇数位会发生错误读写。
做完这些基本可以保证寄存器值读写不会有问题。
接下去就要检查寄存器地址之间的粘连问题。
什么叫做粘连问题呢?就是是否会有写0x00时同时写入0x01的情况。
那么你粘连测试如何进行呢?
通常是写入0x01读出0x02,以此类推,但这样不能保证粘连测试完全通过,只是一个大概率事件。
最万无一失的方法是,写入一个寄存器后读出其他所有寄存器检查是否误写入。但是这样太费时,所以通常只做相邻地址的粘连测试。