Avalon
总线规范
参考手册
(Avalon从
端 口 传 输 与 流 模 式 从 端 口 传 输 部 分
)
101 Innovation Drive
San Jose, Ca 95134 Document Version:
2.3
(408)554-7000 Document Data:
July 2003
http://www.altera.com
免责声明:
本手册原自Altera 公司发布的《Avalon
Bus Specification-Reference Manual》,一切权力由
Altera
公司所有
康草科技
WWW.21CONTROL.COM
第
1
页 共
2
页
概 要
Avalon
总线是一种将片上处理器和外设连接成片上可编程系统(SOPC)的一种简单总线结
构。Avalon
总线是一种接口方式,它规定了主从设备之间的接口方式及其通信时序。
Avalon
总线的设计目的在于:
■
简便:提供了简单易学的协议;
■
优化总线逻辑的资源利用:节约了可编程器件(PLD)内部的逻辑单元(LE);
■
同步操½:将PLD 上的其他用户逻辑很½的集成在一起,从而避免了复杂的时序分析;
基本的Avalon 总线事务可以在主﹑从设备之间传送一个字节,
半字或字
(8, 或32 ½)
16
。
½一次
事务处理完成,
总线可以迅速的在下一个时钟到来的时候在相同的主从设备之间或其他的主
从设备间开
始新的事务。Avalon 总线也支持一些高级功½,如“延迟型(latency-aware)外设”,“流
(streaming)
外设”
及多总线主设备。
这些高级的功½½其允许在一个总线事务中进行外设间的多数据单
元的传输。
Avalon
总线支持多个总线主设备。多主设备的结构为SOPC 系统及高带½外设提供了很大
程度上的
稳定性。例如,一个主外设可以进行直接存储器访问(DMA),而不需要处理器在数据传
输路径上从外
设将数据读入存储器。
Avalon
总线上,主设备和从设备之间的相互½用是基于一种被称为“从设备(slave-side)
仲裁”的
技术。
从设备仲裁决定了½多主设备在同一时刻尝试连接同一个从设备的时候,
哪个主设备
获得从设备
控制权。从设备仲裁具有两个优势:
1.仲裁细节内嵌于Avalon
总线内部。所以,主设备和从设备的接口具有一致性,不考虑
总线上的主设
备和从设备的数量。在每一个和Avalon 总线相连接的主设备看来,它½是总线上唯一的主
设备。
2.
多个主设备可以同时完成总线事务,就像他们并不是在同一个总线周期连接到同一个
从设备一样。
Avalon
总线的设计是为了配合片上可编程系统(SOPC)的。它是一种由PLD 内部逻辑和
布线资源
的主动片上总线结构。Avalon 结构的一些原则如下:
1.
与外设的接口同步于Avalon 时钟。所以,没有复杂的,异步的握手/应答模式。Avalon
总线(及整
个系统)的性½可以通过½用标准的同步时序分析技术来实现测量。
2.
所有的信号½是有效“½”和“高”,这样便于总线操½的立即½换。½于Avalon 内
部的多路复用
器(不是三态缓冲器)来决定哪个信号驱动哪个外设。
3.
地址,数据和控制信号½用分离的,专用端口,这样简化了外设的设计。外设不需要
对地址和数据
的总线周期进行解码,也不需要在非½½的时候禁止输出。
康草科技
WWW.21CONTROL.COM
第
2
页 共
3
页
功 ½ 简 介
Avalon
也包括很多的功½和约定来支持SOPC
Builder
½件自动产生的系统﹑总线和外设:
高于
4G
的地址空间-存储器和外设可以被映射为32
½地址空间中的任½地址。
同步接口-所有的Avalon
信号½被Avalon 总线时钟同步。这样简化了Avalon 总线的相关
时序行为并便
于高速外设的集成。
分离的地址,
数据和控制线路-分离的,
专用的地址和数据路径更便于与用户逻辑相连接。
外设不需要
对数据和地址周期进行译码。
内½地址译码器-Avalon
总线自动的为所有外设产生片选(Chip
Select)信号,大大的简
化了Avalon 外
设的设计。
多主设备总线结构-在Avalon
总线上可以存在多个主外设。Avalon 总线自动产生仲裁逻
辑。
基于向导式的配½-方便½用的图½化向导引导用户完成对Avalon
总线的配½(增加外
设,确定主/从
关系,定义存储器映射)。Avalon 总线结构的自动产生是由用户在向导界面的输入来决定
的。
动态总线容量-Avalon
总线自动处理数据½½不匹配的外设间传送数据的细节,便于在多
种不同½度的
设备间接口。
名 词 及 概 念
许多与SOPC 相关的名词和概念½完全是新的,他们和传统的片外总线结构有着本质的不
同。设计
者需要懂得这点,以便可以理解Avalon 总线规范。下面的名次及概念构成了一个理论化的
框架,而Avalon
总线规范就是建立在这一框架的基础上的。它们贯穿于整个文档。
总线周期
总线周期被定义为Avalon 主时钟的相邻上升沿之间的时间间隔,它是总线时钟周期的基本
单元。总线信
号时序参照于总线周期时钟。
总线传输
Avalon
总线的一次传输是对数据的一次读/写操½,它可½持续一个或多个总线周期。
Avalon
总线所支
持的传输½½为:一个字节(8 ½),半个字(16 ½)或一个字(32 ½)。
流传输
流传输为“流主设备”和“流从设备”之间的连续性数据传输建立一个开放式的管道。
具有延迟的读传输:
某些同步外设在开始第一次传输的时候需要延迟一些时钟周期,
½在之
后的传输中
便可以在每一个时钟周期½返回数据。
具有延迟的读传输增加了对这种同步设备的总线利用
率。
带有延迟的读传输
有些同步设备在刚刚开始传输的时候,
需要延迟几个时钟周期才½够完成其第一次读数据的
过程,
而在之后的传输过程中就可以每一个周期返回一个数据。
带有延迟的读传输可以增加
康草科技
WWW.21CONTROL.COM
第
3
页 共
4
页
这些同步设备的带½利用率。
延迟性传输允许一个主设备发出读请求后,
½而执行另一个无
关任务,过一段时间再接收数据。½管之前的数据还没有接受到,这个无关的任务也可以发
出另一次读请求。这有利于进行连续标准地址的存取的指令存取操½和DMA 传输。这样,
CPU
和DMA 主设备可以预读取其需要的数据,所以这½得同步存储器保持活跃状态,并
减少了平均存储延时。
SOPC Builder
½件及Avalon 总线的产生
SOPC Builder
是Altera 开发的一款系统生成和集成工具。SOPC
Builder
所产生的片上电路
系统模块包括Avalon 总线、主外设和从外设。SOPC
Builder
提供了图½化的用户接口,应
用这种接口可以实现向系统模块中添加主、从外设,配½外设及配½Avalon 总线将外设连
接起来。这样,SOPC
Builder
自动的创建并连接HDL 模块,便可以实现用户PLD 设计的
每一个部分。
系统模块
考虑在可编程芯片上实现用户自定义系统的结构,其中一部分是由SOPC
Builder
自动产生
的。在Altera
PLD
上实现的完整系统如图1 所示。出于本文的目的,系统模块的一些部分
是由SOPC
Builder
自动产生的。系统模块应该包括最少一个Avalon 主外设和一个Avalon
从外设,例如UART,定时器或者PIO。系统模块的外部逻辑可以包含用户Avalon 外设及其
他的和系统模块不相关的用户逻辑。系统模块必须与设计者的PLD 设计连接起来 。系统模
块的端口依赖于其所包括的外设及在SOPCBuilder 中进行的设½,
并随其变化。
这些端口包
括直接到Avalon 总线的接口及在系统模块中的用户自定义的和外设相连的接口。
Avalon
总线模块
图
1. Altera PLD
上集成用户逻辑的系统模块
Avalon
总线模块是任½一个系统模块的“脊梁”。它是SOPC 设计中外设通信的主要路径。
Avalon
总线模块是所有的控制、数据、地址信号及控制逻辑的总和,是其将外设连接起来
并构成了系统模块。Avalon总线模块实现了可配½的总线结构,其可以为设计者外设之间的
相互连接而改变。Avalon 总线模块是由SOPC
Builder
自动产生的,所以设计师并不用亲自
将总线和外设连接起来。Avalon总线模块基本上不会½为分离的单元而单独½用,因为系统
设计者总是利用SOPC
Builder
将处理器和其他Avalon 外设自动地集成于一个系统模块之
中。设计者对Avalon 总线的注意力通常限于与用户Avalon
康草科技
WWW.21CONTROL.COM
第
4
页 共
5
页
外设相连接地具½的端口上。
Avalon
总线模块(一条Avalon 总线)是一个主动的逻辑单元,它取代了PCB 板上的被动
的,金属总线。(见图2)这就是说,Avalon 总线模块的端口可以被看½是所有连接到被动
总线的引脚连接。本手册只是定义了包含于Avalon 总线模块接口中的端口,逻辑行为和信
号顺序,而没有提及物理总线的电气或物理的性½。
图
2 .Avalon
总线模块框图-范例系统
Avalon
总线模块为连接到总线的Avalon 外设提供了以下的服务:
■
数据通道多路½换——Avalon
总线模块的多路复用器从被选择的从外设向相关主外设
传输数据。
■
地址译码——地址译码逻辑为每一个外设提供片选信号。这样,单独的外设不需要对地
址线译码以产生片选信号,从而简化了外设的设计。
■
产生等待状态(
Wait-State
)——等待状态的产生拓展了一个或多个周期的总线传输,
这有利于满足某些特殊的同步外设的需要。
½从外设无法在一个时钟周期内应答的时候,
产
生的等待状态可以½主外设进入等待状态。在读½½及写½½信号需要一定的建立时间/保
持时间要求的时候也可以产生等待状态。
图
2 .Avalon
总线模块框图-范例系统
■
动态总线½度——动态总线½度隐藏了窄带½外设与较½的Avalon
总线(或者Avalon
总线与更高带½的外设)相接口的细节问题。举例来说,一个32 ½的主设备从一个16 ½的
存储器中读数据的时候,动态总线½度可以自动的对16 ½的存储器进行两次读操½,从而
传输32 ½的数据。这便减少了主设备的逻辑及½件的复杂程度,因为主设备不需要关心外
设的物理特性。
评论