>
其实,“Avalon总线”这个说法不是很准确,英文原文是Avalon system interconnect fabric。在SOPC Builder中看来,Avalon是一个总线,主从设备都连接到总线上,从设备拥有独立的地址;但是由于Avalon提供一对主从设备的独享连接,不受其他设备访问总线的影响,Avalon本质上是一个交换结构(Switcher)。
从SOPC系统开发者的角度看来,SOPC Builder生成的互连结构可以被看作是总线,但是这个总线提供了性能高于传统总线的交换结构。从这一点看来,“Avalon总线”优于传统总线。但由于交换结构的特殊性,不采用SOPC Builder这样的自动生成工具,手工搭建交换结构有一定的工作量。
所以,如果把Avalon看作是一系列的主从设备接口标准,把SOPC Builder看作是生成连接Avalon主从设备专用连接的互连结构生成工具,会更符合SOPC Builder设计者的本意。
Avalon接口可以支持总线和交换结构,SOPC Builder可以把符合Avalon接口标准的主从设备按照系统开发者的配置,采用总线结合交换的结构,以最优的方式连接起来。
在Altera的Quartus II Version 7.1 Handbook Volume 4: SOPC Builder中有这样一段话:
Many designers already know SOPC Builder as the tool for creating systems based on the Nios II processor. However, SOPC Builder is more than a Nios II system builder; it is a general-purpose tool for creating arbitrary SOPC designs that may or may not contain a processor.
这段话澄清了对于SOPC Builder的误解:SOPC Builder可用于通用系统的开发,而不仅仅局限于基于Nios II处理器系统的开发;在SOPC系统中,甚至可以不包含任何处理器。
通过下面一系列的短文,我希望能给大家提供和解释上面这样一个系统开发和构建的新思路。