马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
1 AMBA AHB字节选通的问题 比如我一个memory是32位宽的。ARM是字节对齐操作,通过地址低两位来选择哪个字节,也就是说我的控制器在接收ARM地址后先要右移两位来确定地址,因为最低两们并不代表实际地址。读的时候可以理解,不管你ARM要哪个字节,我直接把32位数送给你,你自己通过低两位判断。但写的时候呢?我控制器怎么知道你是字节选通还是半字选通还是全字操作。因为你低两位总共只有4种选择。那么是不是ARM在高地址传达是字节选通还是全字传输? 2 AXI协议中没看到他说仲裁。是没有仲裁还是他简略没说,master也没有总线请求信号,他不可能是两两相连吧。master 有数据ID,那么如果有仲裁的话,也应该把master号加上去吧,就像AHB一样。 3 AIX的非对齐传输。我感觉他的非对齐其实也是对齐的,只是它可以首地址不对齐,然后通过strobe来选择有效数据。然后之后的地址也是对齐的。比如0x01开始,他第一笔数只要了0x01-0x03的数据,第二笔同样是从0x04开始的。不知道我这样理解对不对? 还有就是,即使他字节选通已经单独作为一个信号了,干嘛还要通过SIZE来算地址递增。比如我一32位memory,你每次地址加1就可以连续读32位的单元,通过stobe来选择想要的就行了,你加4在我memory这看来不就是地址增4了吗,我还得再把他移回来。
4 WISHBONE的问题,最困惑的是,WISHBONE看了过后貌似他就没规定个啥,什么用户都可以自己选择,也没说清楚个什么。还有,在他的时序里面访问slav貌似都是一个周期完成的。他说为提高速度实行的是slave异步提供响应,那你采样控制信号总是同步的吧,比如,第一个上升沿你master发出指令,slave肯定是在第二个上升沿采样信号,再快你master也得在第三上升沿采样响应吧,怎么可能第一个上升沿发指令下个上升沿就完成了。他上面基本都是在一个周期内完成,反正我接触的存储设备是不可能这样的,比如一个SSRAM,write仅一个时钟周期是可以的,但从你发出指令到采样ACK拉高至少两个周期吧(第一上升沿master发出指令,第二上升沿slave采样,并将ACK拉高,第三上升沿master才能采样到ACK为高)。更加说读了,读还比写多一时钟周期,SSRAM采样到读得到下个周期才能提供有效数据。不知道我的理解有没有错,请教大虾指教。还有就是他的WRAP地址递增方式,不知道他的地址是什么算的?这个不像AMBA那么简单明了
以上就是小弟的问题,请大虾们多多指教 |