1、当AHB写入数据之后从同一地址读取并且读取传输的地址阶段和写传输的数据阶段在同一周期时,读取返回的数据是旧数据还是新数据?

这个问题的答案取决于slave的设计。一个简单的slave将不会缓冲(cache或者buffer)任何数据,因此返回的读取数据将是最新的。对于复杂的slave 设计可能实现写数据的缓冲,这时候它可以返回以前存储的数据,或者"snoop"写缓冲中的内容。不管怎样都是符合AMBA AHB规范的,只要返回数据即可。

 

 2、如果slave 可以被gate(clock gate或者power gate),需要哪些系统支持?

方案一:如果在slave 处于power gated或clock gated时进行访问,则必须确保该访问能够唤醒相应的slave,

方案二:将AHB decoder 配置为dummy slave,以便在访问gated slave时系统不会挂死。同时,在这种情况下需要确保“IDLE”访问时dummy slave拉高HREADY并且返回HRESP=OKAY;而“NONSEQ”访问和“SEQ” 访问返回ERROR

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐