最近要设计一个单master控制两个slave的小系统,如下图所示。
小系统框图
结果在综合和nlint的时候报出了组合逻辑回环的问题。
后来检查了一下代码,发现组合回环路径如下:
组合回环路径
在BUSMATRIX(图中的BM1和BM2)中和返回给其master的hreadyout和其收到的htrans是组合关系。其组合路径就是图中的1和4。为了避开这种组合路径我之前设计不敢直接用返回的hreadyoutm,耍了个小聪明,使用了另一个端口的hreadyout,结果就出现了如上图的巨大组合回环路径。
之所以使用hreadyout来组合控制HTRANSM是为了解决以下场景:
Master访问BM1然后马上切换去访问BM2。访问BM1的数据phase和访问BM2的地址phase就重合了。为了在重合的时候将BM2的trans发送到BM2,就需要用BM1的ready来组合控制(在BM1的数据phase还未完成时,时不能将BM2的trans发下去
一个AMBA协议相关组合逻辑回环的问题
最新推荐文章于 2024-05-14 22:03:39 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)