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