AHB协议毕竟与FIFO、RAM等读写协议不一样,而AHB是SoC系统片内常用的高速接口,所以就需要将AHB的时序转化为标准的握手时序,例如下图

本文介绍整个设计的逻辑
从上图可以看出,AHB2HANDSHAKE模块是作为AHB slave出现的,所以要从AHB Slave角度进行设计。
依然是按照状态机的思路。如果是状态机的思路,AHB协议中HTRANS有四种状态、HBURST有八种状态,我们使用哪一个呢?还是自己写状态机?
可选择思路是基于HTRANS的IDLE、BUSY、NONSEQ和SEQ四种状态进行设计,毕竟burst传输属于NONSEQ或SEQ状态。
1. HTRANS没法用
哈哈哈我根据HTRANS的四种状态设计了半天发现作为AHB slave压根就没法用状态机。
先看看下面这几张波形图,从AHB Slave的角度思考一下

本文详细介绍了如何将AHB协议转换为标准握手时序,特别是从AHB Slave的角度出发,探讨了HTRANS状态机设计的问题,并提出了基于读写状态机的解决方案。内容包括IDLE、写、读状态的设计,以及在处理突发传输时的时序对齐和数据同步策略。
订阅专栏 解锁全文
6324

被折叠的 条评论
为什么被折叠?



