问个AHB协议中信号的问题......
时间:10-02
整理:3721RD
点击:
对同一个寄存器,进行背靠背的写读操作...
在address phase ,采样到的是hwrite,在其data phase ,对同样一个地址的寄存器,hwrite 拉低...
这个cycle之后,是会先读出值还是写入值?如果读的话,是新值还是旧值?
data phase 的hready 是高和低的不同情况有没有区别?
我个人觉得这是一个conflict,不过协议上没有明确.....
请教各位。
如果没有描述清楚,我可以把时序图画上来。
在address phase ,采样到的是hwrite,在其data phase ,对同样一个地址的寄存器,hwrite 拉低...
这个cycle之后,是会先读出值还是写入值?如果读的话,是新值还是旧值?
data phase 的hready 是高和低的不同情况有没有区别?
我个人觉得这是一个conflict,不过协议上没有明确.....
请教各位。
如果没有描述清楚,我可以把时序图画上来。
主要是看那个hready
你假设的情况,如果读是SEQ传输,并且hready一直为高,就会在写操作的dataphase写入值,下一个周期读出新值。
hready是总线上传输完成的标志,在dataphase的0或1当然有区别,SPEC上有很多传输时序图,多看看。
如果是slave接口,输入输出都需要有hready信号。
恰恰是这个ready信号,协议上说得不清楚。而且对于slave,应该是有hreadyi和hreadyo的区别的。
看了很多时序图,都是不同的地址的,当然,不同的地址就不说。我是指同一个地址,背靠背写读,对同一地址的同时读写。
我说的就是同一个地址的情况,我觉得地址是否相同没有关系,一个数值而已,关键是看控制信号。你找个model来仿真一下就清楚了。
结贴吧...我知道怎么回事情了.....
hrdata不应该用寄存器输出.....所有会有问题...
奥,受教了,谢谢!
