1 APB常见问题
- 重点:简单的两拍握手;psel选中从机;penable传输使能;
- 常见问题
1)时序违例:在某些高速系统中,APB接口上信号prdata在penable期间不能满足setup/hold时间。
2)等待周期:pready一直拉低,会导致死锁。
2 AHB常见问题
- 重点:地址与数据分离,共享总线架构。所有slave都通过hready控制传输;hburst和hsize控制突发传输的长度和数据位宽。
- 常见问题
1)仲裁延迟:作为共享总线,多master竞争会有总线仲裁延迟。
2)hready挂起:slave在响应慢时拉低ready,如果设计不当时容易导致总线响应超时。
3 AXI 常见问题
- 重点:五通道写地址、写数据、写响应、读地址、读数据;ID机制支持乱序传输;握手机制vld、rdy同时拉高表示传输成功。
- 常见问题
1)死锁:写地址依赖写数据,但写数据又在等写地址。
2)握手逻辑错误:vld信号在rdy未拉高之前必须保持。
3)通道间依赖:忽略地址和数据通道顺序关系,导致违反协议。
推荐验证方法
1)协议合规性:断言自动化检查
2)死锁排查:vld为高rdy为低,可重点排查rdy产生的组合逻辑,大概率是slave的fifo满或者状态机卡死。
3)乱序处理:覆盖不同ID交错发送场景,很多bug只在特定ID顺序下才会显现。
4)性能问题:系统总线带宽不足,通常不是协议问题,而是仲裁算法,如rr和固定优先级设置不合理,或者slave的响应延迟太高。