发新话题
打印

AHB从设备输入hburst对从设备有什么用?

AHB从设备输入hburst对从设备有什么用?

每个传送主设备都会发地址和控制,从设备只要采样就可以了,不需要通过hburst计算呀,那这个输入还有什么用?

TOP

这个决定着地址的变化方式,或者说是对齐方式,因为地址可能不是线性递增,有可能是交叉跳跃的,这个跟cache line有关。在wishbone协议里面也有这种信号叫BTE,下面是BTE的三种方式 ,跟hburst差不多但类型少些。不过我的设计里面没有用过这个,地址都是规规矩矩线性递增的

Starting address’ LSBs            Linear                            Wrap-4                   Wrap-8

000                                                                                        0-1-2-3-4-5-6-7        0-1-2-3-4-5-6-7        0-1-2-3-4-5-6-7
001                                                                                         1-2-3-4-5-6-7-8         1-2-3-0-5-6-7-4         1-2-3-4-5-6-7-0
010                                                                                         2-3-4-5-6-7-8-9         2-3-0-1-6-7-4-5         2-3-4-5-6-7-0-1
011                                                                                         3-4-5-6-7-8-9-A         3-0-1-2-7-4-5-6         3-4-5-6-7-0-1-2
100                                                                                         4-5-6-7-8-9-A-B         4-5-6-7-8-9-A-B         4-5-6-7-0-1-2-3
101                                                                                         5-6-7-8-9-A-B-C         5-6-7-4-9-A-B-8         5-6-7-0-1-2-3-4
110                                                                                         6-7-8-9-A-B-C-D         6-7-4-5-A-B-8-9         6-7-0-1-2-3-4-5
111                                                                                         7-8-9-A-B-C-D-E         7-4-5-6-B-8-9-A         7-0-1-2-3-4-5-6

TOP

我知道hburst表示的是地址如何变化,但变化的地址应该是主设备进行计算的,应该不需要告诉从设备呀。每一个burst主设备并不是只发首地址,而是每个传送的地址都发,从设备不需要hburst知道地址变化方式,只要采样地址就行了。

TOP

原来你是这个意思啊。
我的个人理解是这样的,当主设备要读取某一行的时候并且hburst为某个wrap形式的,从设备可以预先把这一行准备好(通常跟某种memory存取特性有关),供主设备的haddr选择相应的数据。如果仅仅根据haddr来判断位置、并且跨边界的情况下,从设备并不能马上反应过来,存取时间上有延迟,效率不高。

TOP

发新话题