|
发表于 2013-6-24 04:05:08
|
显示全部楼层
AMBA(AHB)和AXI差不多吧,可以参考gaisler的grlib里的amba实现,是开源的:http://www.gaisler.com/index.php/downloads/leongrlib
那个网页上的grlib user's manual有介绍ahb总线的设计概念。
LZ你说了一大堆,但看不明白你到底要做的是总线控制器?挂在总线上的一个master?还是挂在总线上的一个slave?总线的简单通信过程是这样的,首先由master发起一个请求,告诉总线控制器(带有arbiter功能)我要掌握总线的控制权(因为可能有多个master同时访问),总线控制器回给master一个同意控制的回答并且将master的数据信号(比如address, write/read, writedata/readdata)接入总线,这些信号将会被所有slave收到。每个slave都有一个自己的地址范围,如果master发出的地址是在某个slave的地址范围之内,总线控制器会通过一个select信号告诉那个slave,你被选中了,你应该对总线上的address, write/read...进行处理。所以每个slave里都会有一个fsm来处理这些总线信号(select, address, write/read...) |
|