查看完整版本: Avalon 总线最新接口标准综述

tony 2008-4-29 15:12

Avalon 总线最新接口标准综述

[align=left][align=left][size=9pt][color=#000000][font=Times New Roman]1[/font][/color][/size][/align][/align][align=left][align=left][color=#000000][font=黑体][size=18pt]Avalon [/size][/font][font=黑体][size=18pt]总线最新接口标准综述[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]杨鑫 徐伟俊 陈先勇 夏宇闻[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=仿宋_GB2312][size=10.5pt][[/size][/font][font=仿宋_GB2312][size=10.5pt]摘要]:随着片上系统(SOC)的快速发展,高速片上数据传输对片上总线的要求越来越高,[/size][/font][/color][/align][/align][align=left][align=left][font=仿宋_GB2312][size=10.5pt][color=#000000]各种片上总线标准不断升级,以应对片内日益膨胀的数据吞吐量要求。本文针对Altera 公[/color][/size][/font][/align][/align][align=left][align=left][font=仿宋_GB2312][size=10.5pt][color=#000000]司推出的Avalon 总线,将其最新版与早期版本进行比较,重点分析了新版标准的新特性,[/color][/size][/font][/align][/align][align=left][align=left][font=仿宋_GB2312][size=10.5pt][color=#000000]同时也对Avalon 总线的全系列进行了综述性的回顾。论文可以为研究Avalon 总线标准的[/color][/size][/font][/align][/align][align=left][align=left][font=仿宋_GB2312][size=10.5pt][color=#000000]学者以及SOC 总线选型设计者提供有价值的参考。[/color][/size][/font][/align][/align][align=left][align=left][font=仿宋_GB2312][size=10.5pt][color=#000000]关键词: Avalon,SOC, 片上总线, Nios[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=14pt][font=Times New Roman]1. [/font][/size][/b][font=宋体][size=14pt]前言:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线是[/size][/font][size=10.5pt][font=Times New Roman]Altera [/font][/size][font=宋体][size=10.5pt]公司专门为可编程芯片片上系统([/size][/font][size=10.5pt][font=Times New Roman]System-On-a-Programmable-Chip, [/font][/size][font=宋体][size=10.5pt]以[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]下简称[/size][/font][size=10.5pt][font=Times New Roman]SOPC[/font][/size][font=宋体][size=10.5pt])而推出的一套片内总线系统,与[/size][/font][size=10.5pt][font=Times New Roman]Nios [/font][/size][font=宋体][size=10.5pt]系列的处理器软核一起,二者构成了[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]Altera [/font][/size][font=宋体][size=10.5pt]公司[/size][/font][size=10.5pt][font=Times New Roman]SOPC [/font][/size][font=宋体][size=10.5pt]解决方案中的核心部分。在最近的一次版本更新中,[/size][/font][size=10.5pt][font=Times New Roman]Altera [/font][/size][font=宋体][size=10.5pt]将原来的[/size][/font][size=10.5pt][font=Times New Roman]Avalon[/font][/size][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]接口规范升级到最新的[/size][/font][size=10.5pt][font=Times New Roman]3.2 [/font][/size][font=宋体][size=10.5pt]版,并将其改名为[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM[/font][/size][font=宋体][size=10.5pt]([/size][/font][size=10.5pt][font=Times New Roman]Avalon Memory Mapped Interface[/font][/size][font=宋体][size=10.5pt],[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]以下均简称[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM[/font][/size][font=宋体][size=10.5pt])接口规范,同时推出新的[/size][/font][size=10.5pt][font=Times New Roman]Avalon-ST[/font][/size][font=宋体][size=10.5pt]([/size][/font][size=10.5pt][font=Times New Roman]Avalon Streaming Interface[/font][/size][font=宋体][size=10.5pt])[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]接口规范,因此最新的[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线标准成成为一套拥有[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM [/font][/size][font=宋体][size=10.5pt]和[/size][/font][size=10.5pt][font=Times New Roman]Avalon-ST [/font][/size][font=宋体][size=10.5pt]两套分支[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]标准的[/size][/font][size=10.5pt][font=Times New Roman]SOPC [/font][/size][font=宋体][size=10.5pt]总线规范。在最近的几次升级中,[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线标准每次都添加了一些非常有[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]用的高级特性,同时对应的开发工具[/size][/font][size=10.5pt][font=Times New Roman]SOPC Builder [/font][/size][font=宋体][size=10.5pt]也做了较大的升级改动。在下文的讨论[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]中,将会提及这些高级特性。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=14pt][font=Times New Roman]2. Avalon [/font][/size][/b][font=宋体][size=14pt]总线简介[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]2.1 [/font][/size][/b][font=宋体][size=12pt]版本历史[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2000 [/font][/size][font=宋体][size=10.5pt]年[/size][/font][size=10.5pt][font=Times New Roman]Altera [/font][/size][font=宋体][size=10.5pt]推出了以[/size][/font][size=10.5pt][font=Times New Roman]Nios [/font][/size][font=宋体][size=10.5pt]处理器为核心的[/size][/font][size=10.5pt][font=Times New Roman]SOPC [/font][/size][font=宋体][size=10.5pt]解决方案,同时提供的片上总线标准即[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]是[/size][/font][size=10.5pt][font=Times New Roman]Avalon 1.0[/font][/size][font=宋体][size=10.5pt],到[/size][/font][size=10.5pt][font=Times New Roman]2004 [/font][/size][font=宋体][size=10.5pt]年,伴随着第二代[/size][/font][size=10.5pt][font=Times New Roman]Nios [/font][/size][font=宋体][size=10.5pt]处理器[/size][/font][size=10.5pt][font=Times New Roman]Nios II [/font][/size][font=宋体][size=10.5pt]的发布,[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线标准也升[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]级到了较为完善的[/size][/font][size=10.5pt][font=Times New Roman]3.0 [/font][/size][font=宋体][size=10.5pt]版。在此之后,[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线标准又分别在[/size][/font][size=10.5pt][font=Times New Roman]2005 [/font][/size][font=宋体][size=10.5pt]年[/size][/font][size=10.5pt][font=Times New Roman]5 [/font][/size][font=宋体][size=10.5pt]月和[/size][/font][size=10.5pt][font=Times New Roman]2006 [/font][/size][font=宋体][size=10.5pt]年[/size][/font][size=10.5pt][font=Times New Roman]10[/font][/size][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]月经历了两次升级。每次总线标准升级后[/size][/font][size=10.5pt][font=Times New Roman]SOPC Builder [/font][/size][font=宋体][size=10.5pt]也会推出新的版本,以支持新的总[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]线特性。如下表所示是[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线与[/size][/font][size=10.5pt][font=Times New Roman]Nios [/font][/size][font=宋体][size=10.5pt]处理器以及[/size][/font][size=10.5pt][font=Times New Roman]SOPC Builder [/font][/size][font=宋体][size=10.5pt]的重要升级历史:[/size][/font][/color][/align][/align][align=left][align=left][size=9pt][color=#000000][font=Times New Roman]2[/font][/color][/size][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线[/size][/font][/color][/align][/align][align=left][align=left][size=10.5pt][color=#000000][font=Times New Roman]Avalon-MM Avalon-ST[/font][/color][/size][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]SOPC Builder Nios [/font][/size][font=宋体][size=10.5pt]处理器[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2007.05[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]7.1 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2006.10[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]3.2 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]更名为[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM[/font][/size][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2006.10[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]推出[/size][/font][size=10.5pt][font=Times New Roman]1.0 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2006.05[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]6.0 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2005.05[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]3.1 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2005.05[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]5.0 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2004.09[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]3.0 [/font][/size][font=宋体][size=10.5pt]版[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]2004.09[/font][/size][font=宋体][size=10.5pt]:[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]升级至[/size][/font][size=10.5pt][font=Times New Roman]Nios II[/font][/size][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]表[/size][/font][b][size=10.5pt][font=Times New Roman]1 Avalon [/font][/size][/b][font=宋体][size=10.5pt]总线及相关工具升级历史纪要[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]在[/size][/font][size=10.5pt][font=Times New Roman]2006 [/font][/size][font=宋体][size=10.5pt]年[/size][/font][size=10.5pt][font=Times New Roman]10 [/font][/size][font=宋体][size=10.5pt]月的升级中, 之前既有的[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线规范的文档更名为:[/size][/font][size=10.5pt][font=Times New Roman]Avalon[/font][/size][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]Memory-Mapped Interface Specification Reference Manual[/font][/size][font=宋体][size=10.5pt],总线接口的名称也从[/size][/font][size=10.5pt][font=Times New Roman]Avalon[/font][/size][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]interface [/font][/size][font=宋体][size=10.5pt]变为[/size][/font][size=10.5pt][font=Times New Roman]Avalon Memory-Mapped Interface[/font][/size][font=宋体][size=10.5pt],简称[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM [/font][/size][font=宋体][size=10.5pt]接口。同时[/size][/font][size=10.5pt][font=Times New Roman]Avalon [/font][/size][font=宋体][size=10.5pt]总线规[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]范家族加入了新的[/size][/font][size=10.5pt][font=Times New Roman]Avalon Streaming Interface[/font][/size][font=宋体][size=10.5pt],简称[/size][/font][size=10.5pt][font=Times New Roman]Avalon-ST [/font][/size][font=宋体][size=10.5pt]接口。在[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM [/font][/size][font=宋体][size=10.5pt]接口规[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]范的历史版本中,其标准规范文档标题最初是:[/size][/font][size=10.5pt][font=Times New Roman]Avalon Bus Specification Reference Manual[/font][/size][font=宋体][size=10.5pt],[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]在[/size][/font][size=10.5pt][font=Times New Roman]3.0 [/font][/size][font=宋体][size=10.5pt]版的升级时曾更名为[/size][/font][size=10.5pt][font=Times New Roman]Avalon Interface Specification Reference Manual[/font][/size][font=宋体][size=10.5pt],而最新更名为[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][size=10.5pt][font=Times New Roman]Avalon-MM [/font][/size][font=宋体][size=10.5pt]接口是在[/size][/font][size=10.5pt][font=Times New Roman]3.2 [/font][/size][font=宋体][size=10.5pt]版推出之时。这是为了与[/size][/font][size=10.5pt][font=Times New Roman]Avalon-ST [/font][/size][font=宋体][size=10.5pt]接口相区分。[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]在下文中,将统一使用[/size][/font][size=10.5pt][font=Times New Roman]Avalon-MM [/font][/size][font=宋体][size=10.5pt]接口标准来称呼该接口标准的所有版本,而Avalon 总线[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]这一称呼则同时包括Avalon-MM 接口标准和Avalon-ST 接口标准。需要注意的是,在很多[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]其他地方,包括Altera 公司提供的一些工具当中,仍使用Avalon 一词来表示Avalon-MM 接[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]口及其所有历史版本。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]2.2 [/font][/size][/b][font=宋体][size=12pt]重要历史沿革[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在3.0 到3.1 版的升级中,Avalon-MM 接口标准主要增加或修订了如下高级特性:[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]1[/size][/font][font=宋体][size=10.5pt]、 增加了对Burst 传输的支持[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]2[/size][/font][font=宋体][size=10.5pt]、 增加了Master 端的Tri-State 传输支持[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]3[/size][/font][font=宋体][size=10.5pt]、 增加writebyteenable 信号,及相关的位使能支持[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]4[/size][/font][font=宋体][size=10.5pt]、 Master 端地址一律修改为以Byte 为单位[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]5[/size][/font][font=宋体][size=10.5pt]、 修改了select、write、read 信号不同组合的意义;[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]其中以Burst 传输的增加和Master 端地址意义的修订最为关键。Burst 传输成为Avalon-MM[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]接口带宽最大的传输方式,在连续传输的理想状态可以达到每时钟周期完成一个传输节拍。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]而对Master 端地址意义的修订简化了Avalon-MM 接口组件的设计,解决了一些地址含义混[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]乱造成的不兼容问题。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]而在最新的3.1 版到3.2 版的升级中,Avalon-MM 接口标准的主要修订如下:[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]1[/size][/font][font=宋体][size=10.5pt]、 将总线位宽的最大限制提高到1024 位;[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]2[/size][/font][font=宋体][size=10.5pt]、 增加了读传输时的位使能;[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]3[/size][/font][font=宋体][size=10.5pt]、 伴随总线接口文档命名的改变,所有相关名词的修改。[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在这次升级中,Avalon-ST 接口标准1.0 版被引入Avalon 总线家族。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]2.3 SOPC Builder [/font][/size][/b][font=宋体][size=12pt]简介[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]SOPC Builder [/size][/font][font=宋体][size=10.5pt]是Altera 公司针对SOPC 开发提供的一套开发工具,其主要功能是向用户提供一个友好的界面,便于用户设计组件和集成组件,并根据用户设定的互联关系自动生成[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon [/size][/font][font=宋体][size=10.5pt]总线的HDL 实现。[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在SOPC Builder 中,可以方便地建立SOPC 系统,能够灵活地调用和配置包括Nios II 软核[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]处理器在内的各种具有Avalon 总线接口的组件,以及配置这些组件之间的互联关系,并据[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]此生成SOPC 设计的HDL 设计文件。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]同时SOPC Builder 提供了相关工具用于用户向SOPC Builder 添加自定义的组件。借助于该[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]工具,用户可以方便地将自行开发的具有Avalon 接口的组件集成到SOPC 环境中去,以便[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]于标准化的开发和组件复用。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]此外SOPC Builder 还提供了一些板级工具,用于管脚分配或其他电气信号的连接等。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]SOPC Builder [/size][/font][font=宋体][size=10.5pt]与Avalon 总线系统是密不可分的,在Avalon 总线标准的历次升级时添加的新特性,都是由SOPC Builder 所推出相应版本来体现和支持的。[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][b][size=14pt][font=Times New Roman]3. Avalon [/font][/size][/b][font=宋体][size=14pt]总线特性[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在最新的Avalon 总线家族中,包含Avalon-MM 接口和Avalon-ST 接口两大接口标准,在[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Altera [/size][/font][font=宋体][size=10.5pt]提出的SOPC 设计概念当中,两者将分别用于不同的数据应用,因此两者的基本结构[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]差异很大:Avalon-MM 接口是一套互联式总线接口,主要用于多节点的互联,而Avalon-ST[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]接口是一种单向点对点的接口,主要用于单向高速数据流的传输。在SOPC 设计中,可以针[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]对不同需求将二者结合起来使用,以提高设计的工作性能。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]3.1 Avalon-MM [/font][/size][/b][font=宋体][size=12pt]的基本特性[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon-MM [/size][/font][font=宋体][size=10.5pt]接口的总线模块是一种交换(switch)式的总线,具有较好的数据交换特性和很[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]高的总线带宽,由于是针对SOPC 设计的,Avalon-MM 总线模块具有结构简单,采用全同[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]步时序,以及可以灵活地配置等特点,其运行时钟、总线位宽、各个接口位宽以及各个外设[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]之间的互联特性等都可以灵活地配置。在3.0 版之后,Avalon-MM 接口标准的基本特性已经[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]趋于完善,以下基本特性描述适用于3.0 、3.1 以及3.2 三个版本。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon-MM [/size][/font][font=宋体][size=10.5pt]总线的传输方式是一种主从式的传输方式,即由一个主控端外设发起并控制传[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]输过程,而从属端外设响应经由总线模块发来的信号完成整个传输。一个典型的Avalon-MM[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]互联系统包含有若干Avalon-MM 主控外设、若干Avalon-MM 从属外设以及Avalon-MM 总[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]线互联模块(System Interconnect Fabric)。一个典型系统如下图所示:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=9pt][color=#000000][/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]与共享式的总线结构相比,Avalon-MM 总线所采用的交换(switch)式结构具有更高总线带[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]宽。共享式总线只有一个总线数据通路,在任何时刻只由一个主控端占有总线模块,其他主[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]控端必须等待该主控端放弃总线后才能获取总线控制权并发起传输,而交换式总线则是在任[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]意的一个主控端和一个从属端之间都可以有一条数据通路,只要访问的从属端不同,多个主[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]控端可以同时进行数据传输。Avalon-MM 总线模块内部的数据通路连接结构如下图所示:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=9pt][color=#000000][/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在这种交换式结构中,在总线的每个Slave 端(Slave Port)具有一个仲裁单元,当连接到该Slave 端的多个Master 端(Master Port)同时发起针对该Slave 端的传输时,由这个仲裁模块来决定Master 端获取Slave 端传输控制权的情况。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]3.2 Avalon-MM [/font][/size][/b][font=宋体][size=12pt]传输[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon-MM [/size][/font][font=宋体][size=10.5pt]的传输定义为外设(peripheral)与Avalon-MM 总线模块间的数据传输,分为[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Master [/size][/font][font=宋体][size=10.5pt]端传输和Slave 端传输两类,每类传输又分为 基本(fundamental)传输、流水线[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](pipelined)传输、突发(burst)传输,以及带有流控制(Flow control)的传输和专门针对片外端口的三态(Tri-State)传输。一个Master 端传输和一个对应的Slave 端传输即可完成两个外设通过总线模块进行的一次数据传输,但Master 端传输与Slave 端传输的模式并不要求一致,两端传输模式可以随意搭配。同种类型的Master 端传输与Slave 端传输在时序上基本是一致的,其区别仅在于Master 端传输是由Master 端外设驱动总线模块,而Slave 端传输是由总线模块驱动Slave 端外设,以下对Avalon-MM 传输进行简单介绍是以Slave 端传输为例,所有要点都可应用于Master 端传输。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]所有的Avalon-MM 传输都基于基本(fundamental)传输,其他传输形式都是在该传输模式[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]下加以改进或增加某些特性以适应不同需要。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]如下图所示,这是Slave 端一次典型的基本(fundamental)读传输时序:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000][/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]注解:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](A) 从某个时钟的上升沿开始计算第一个时钟周期;[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](B) 总线模块给出稳定的地址(address)和字节使能(byteenable);[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](C) 总线模块给出由地址解析得到的片选(chipselect)信号;[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](D) 在下一个时钟上升沿之前,slave 端驱动等待请求(waitrequest);[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](E) 总线模块在时钟上升沿对等待请求(waitrequest)进行采样,由于等待请求[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](waitrequest)被驱动,当前的数据被视为无效;[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](F) 总线模块等待若干时钟周期,直至G[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](G) 总线模块等待若干时钟周期,直至G[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](H) Slave 端给出有效的数据;[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](I) Slave 端撤销等待请求(waitrequest);[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](J) 总线模块在接下来的时钟上升沿对等待请求(waitrequest)进行采样,由于等待[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]请求(waitrequest)被撤销,当前的数据被视为有效,总线模块将采集该数据,[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]结束此次传输;[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在此基础上,增加若干特性即构成了Avalon-MM 总线Slave 端的其他传输模式,例如在流[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]水线(pipelined)传输允许总线模块在等待有效数据时连续发起多个传输,Slave 端将依次满足所需传输,突发传输允许总线模块在发起传输时给定一个突发传输次数(burscount),[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]之后Slave 端将完成相应次数的传输等。对于任何一个传输,使用流控制(Flow control)可以让Master 端与Slave 端绕过总线模块自行通信,以满足某些特殊要求。而Tri-State 传输则是针对片外信号专门设计的。Master 端的传输与此非常相似。只是交互双方换成了Master端和总线模块。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]3.3 Avalon-ST [/font][/size][/b][font=宋体][size=12pt]的特性[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon Streaming Interface [/size][/font][font=宋体][size=10.5pt]简称Avalon-ST 接口,源于Altera 的Atlantic I 接口标准,是一种[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]单向点对点的高速接口,主要针对的是高速数据流的传输。由于其同样是针对SOPC 开放而[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]设计的,以此也具有灵活的可配置性。Avalon-ST 接口与Avalon-MM 接口的区别非常明显,[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon-MM [/size][/font][font=宋体][size=10.5pt]接口用于SOPC 控制流传输或者简单的数据流传输,而Avalon-ST 接口则用于[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]SOPC [/size][/font][font=宋体][size=10.5pt]设计中高速数据流的传输,二者搭配使用可以清晰地分离系统内的控制流和数据流,[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]显著地提高系统整体的可靠性和运行效率。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon-ST [/size][/font][font=宋体][size=10.5pt]接口包括两种端口,Src 端口和Sink 端口,数据传输方向是从Src 到Sink 的单向[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]传输。一个使用了Avalon-ST 的系统如下图所示:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=9pt][color=#000000][/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]3.4 Avalon-ST [/font][/size][/b][font=宋体][size=12pt]传输[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon-ST [/size][/font][font=宋体][size=10.5pt]传输分为基本( fundamental ) 传输、包( packet ) 传输以及元件指定的[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](component-specific)传输等三种,其中基本传输是其他传输的基础,通过增加若干控制信号,包传输可以允许更高级别的传输控制,而元件指定的传输则可以按照组件自身的需求来自定义传输的过程。在基本传输中,不同的子模式对控制信号的也有着不同的处理,如下图所示,这是一次典型的基本传输:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000][/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]在该传输中:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](A) clk 信号的方向是从Src 到Sink,所有其他信号均要与clk 同步[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](B) ready 信号的方向是从Sink 到Src,表明Sink 端可以接收数据。Src 端应在ready[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]信号有效的时候传输数据,但在某些子模式下,Src 端可以不关注该信号。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](C) valid 信号的方向是从Src 到Sink,表明当前数据信号是有效数据。Sink 端应在[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]valid [/size][/font][font=宋体][size=10.5pt]信号有效的时候对数据信号进行采样保存。[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](D) channel 信号的方向是从Src 到Sink,表明当前数据所属的channel 号。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](E) error 信号的方向是从Sink 到Src,表明当前是否有错及错误代码。[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000](F) data 信号的方向是从Src 到Sink,是数据信号。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=12pt][font=Times New Roman]3.5 Avalon-MM [/font][/size][/b][font=宋体][size=12pt]与[/size][/font][b][size=12pt][font=Times New Roman]Avalon-ST [/font][/size][/b][font=宋体][size=12pt]相结合[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]如上文所述,Avalon-MM 接口与Avalon-ST 接口的结合使用,可以有效地分离系统的控制[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]流和数据流,这样做不仅可以使系统结构界面明晰,简化系统设计,增强系统可靠性,而且[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]可以有效地提高系统的数据吞吐能力,从而提高系统的整体效率。如下图所示,这是一个典[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]型的复合系统:[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]图[/size][/font][b][size=10.5pt][font=Times New Roman]4 Avalon-MM [/font][/size][/b][font=宋体][size=10.5pt]与[/size][/font][b][size=10.5pt][font=Times New Roman]Avalon-ST [/font][/size][/b][font=宋体][size=10.5pt]相结合使用的典型系统示例[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][b][size=14pt][font=Times New Roman]4. [/font][/size][/b][font=宋体][size=14pt]对应工具[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]随着Avalon 总线升级到3.1 版,SOPC Builder 进行了两次升级(5.0 版和6.0 版)。5.0 版的SOPC Builder 在Avalon 总线模块的具体实现中支持了burst 传输、新的地址解析模式等新特性,但此时组件添加向导并未向用户自定义组件开放burst 传输,如果用户需要在自定义组件中实现burst 传输,则必须手动修改组件的ptf 描述文件(Tcl 脚本)。而在6.0 版的SOPCBuilder 中,则是进一步完善了对Avalon 总线的支持,例如在组件添加向导中向用户自定义组件开放burst 传输,用户可以在组件生成向导中方便地添加burst 接口信号。此外该版本的SOPC Builder 还大幅度地修改了Avalon 总线模块的实现结构,以实现更高的运行速度等。随着Avalon-ST 总线的推出,Quartus II 升级到了7.x 版,新版的SOPC Builder 加入了对Avalon-ST 接口的支持,并对开发工具的一些细节特性做出了新的改进。虽然目前最新的SOPC Builder 7.1 版对Avalon-ST 接口的支持仍不够完善,例如组件生成向导并不支持Avalon-ST 接口的组件的引入,但它已经可以支持Avalon-ST 接口的配置和互联生成。如下图所示,7.1 版的SOPC Builder 已经可以调用已有的Avalon-ST 接口的组件,并方便地对其[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]进行连接配置:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]调用Avalon-ST 接口的组件:[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=9pt][color=#000000][/color][/size][/font][color=#000000][font=宋体][size=10.5pt]图[/size][/font][b][size=10.5pt][font=Times New Roman]6 [/font][/size][/b][font=宋体][size=10.5pt]在[/size][/font][b][size=10.5pt][font=Times New Roman]SOPC Builder [/font][/size][/b][font=宋体][size=10.5pt]中调用[/size][/font][b][size=10.5pt][font=Times New Roman]Avalon-ST [/font][/size][/b][font=宋体][size=10.5pt]组件[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]对Avalon-ST 接口的组件进行连接配置:[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][b][size=14pt][font=Times New Roman]5. [/font][/size][/b][font=宋体][size=14pt]总结[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt]Avalon [/size][/font][font=宋体][size=10.5pt]总线是一套针对SOPC 设计而指定的完整的高性能片上总线,非常适合SOPC 系统[/size][/font][/color][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]设计。Altera 公司致力于Avalon 总线的不断完善与升级,不断地推进SOPC 设计技术的进[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]步,尤其是Avalon-ST 接口与Avalon-MM 接口的并立,充分体现了SOPC 系统控制流与数[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]据流相分离的设计思路,这在Altera 的SOPC 设计思想中无疑是一次革命性的进步。了解和[/color][/size][/font][/align][/align][align=left][align=left][font=宋体][size=10.5pt][color=#000000]掌握这些新特性,将使设计者显著地提高工作效率,更快地设计出性能更优越的系统。[/color][/size][/font][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][[/size][/font][font=宋体][size=10.5pt]参考资料][/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][1][/size][/font][font=宋体][size=10.5pt]《Avalon Memory Mapped Interface Specification》2006.10 Altera Corporation[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][2][/size][/font][font=宋体][size=10.5pt]《Avalon Streaming Interface Specification》2006.10 Altera Corporation[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][3][/size][/font][font=宋体][size=10.5pt]《Avalon Interface Specification Reference Manual》2004.9 Altera Corporation[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][4][/size][/font][font=宋体][size=10.5pt]《Avalon Bus Specification Reference Manual》2003.7 Altera Corporation[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][5][/size][/font][font=宋体][size=10.5pt]《Quartus II Version 7.1 HandBook》Volume 4:SOPC Builder 2007.5 Altera Corporation[/size][/font][/color][/align][/align][align=left][align=left][color=#000000][font=宋体][size=10.5pt][6] [/size][/font][font=宋体][size=10.5pt]夏宇闻 《Verilog 数字设计教程》北京航空航天大学出版社 2003[/size][/font][/color][/align][/align][font=宋体][size=10.5pt][color=#000000]__[/color][/size][/font]
页: [1]
查看完整版本: Avalon 总线最新接口标准综述