4.Avalon中断接口
中断接口允许从组件(agent components)能够向主组件(host components)发送事件信号。
例如,DMA控制器可以在完成一个DMA传输后中断处理器。
4.1 中断发送器
中断发送器将单个中断信号驱动到中断接收器。irq信号的时序必须与其相关联时钟的上升沿同步。irq与任何其他接口上的任何传输无关。irq必须一直置位,直到相关联的 Avalon-MM从接口上确认接收。
中断发送器信号角色
中断发送器属性
4.2 中断接收器
中断是特定于组件的。接收器通常通过读取 Avalon-MM从接口中中断状态寄存器来确定相应的响应。
中断接收器接口接收来自中断发送器接口的中断。具有 Avalon-MM主接口的组件可以包含一个中断接收器,用于检测由包含中断发送器接口的从组件置位的中断。
中断接收器信号角色
中断接收器属性
5.Avalon Streaming接口
Avalon-ST接口可用于驱动高带宽,低延迟,单向数据的组件。
典型应用包括多路复用流(multiplexed streams),数据包和DSP数据,能够在多个通道之间进行数据包交错的突发和数据包传输。
Avalon-ST接口协议定义了以下术语和概念:
- Avalon Streaming System—一个 Avalon Streaming系统包含一个或多个 Avalon-ST连接,将数据从source接口传输到sink接口。
- Avalon Streaming Components—一个使用 Avalon-ST接口的典型系统,结合了多个功能模块(称为组件)。系统设计人员配置组件,并将他们连接在一起来实现一个系统。
- Source and Sink Interfaces and Connections—当连接两个组件时,数据从source接口流向sink接口,将与sink接口连接的source接口的组合称为connection。
- Backpressure—背压允许sink能够对source发出信号来停止发送数据。背压支持为可选。sink使用背压来停止数据流的原因如下:
- 当sink FIFOs已满时
- 当其输出接口上出现拥塞时
- Transfers and Ready Cycles—一个传输导致从source接口到sink接口的数据和控制传播。对于数据接口,一个ready周期是sink能够接受一个传输的周期。
- Symbol—符号是最小的数据单位。对于大多数数据包接口,符号是一个字节。一个或多个符号构成一个周期中传输的单个数据单元。
- Channel—通道是一条物理或逻辑数据通路或链路,信息通过通道在两个端口之间进行传递。
- Beat—beat是source与sink接口(由一个或多个符号组成)之间的单一周期传输。
- Packet—数据包是source同时发送的数据和控制信号的集合。数据包可以包含一个标头,以帮助路由器和其他网络设备将数据包指引到正确的目的地。应用程序定义数据包格式,而不是此规范。 Avalon-ST数据包的长度可以变化,并且可以跨连接交错。通过使用 Avalon-ST接口,数据包的使用是可选的。
Avalon-ST接口信号角色
Avalon-ST接口属性
一个典型的 Avalon-ST source接口将valid,data,error和channel信号驱动到sink。sink可以使用ready信号来应用背压
- ready—在支持背压的接口上,sink置位ready来标记可能发生传输的周期。如果ready在cycle <n>上置位,那么cycle <n + readyLatency>被认为是一个ready cycle。
- valid—valid信号限定任何从source到sink的数据传输的周期上的有效数据。在每个有效周期上,sink对data信号和其他source到sink信号进行采样。
- data—data信号承载着从source到sink传输的大量信息。数据信号由在每个时钟周期上传输的一个或多个符号组成。dataBitsPerSymbol参数定义了数据信号如何分成符号。
- error—error信号中,每个比特对应一个可能的错误条件。任何周期上的一个0值都代表此周期上无错误数据。此规范未定义检测到错误时组件应该采取的操作。
- Channel—source驱动可选的channel信号来表明数据属于哪个通道。对一个特定接口,channel的含义要取决于应用。在某些应用中,channel表示接口数。在其他应用中,channel—source驱动可选的channel信号来表明数据属于哪个通道。
6.Avalon Conduit接口
Avalon Conduit接口对任意信号集合进行分组。
一个 Avalon Conduit接口可以包括输入,输出和双向信号。一个模块可以有多个 Avalon Conduit接口以提供逻辑信号分组。
管道(conduit)接口通常用于驱动片外器件信号,例如SDRAM地址,数据和控制信号。
管道接口没有属性,管道信号角色:
7.Avalon三态Conduit接口
Avalon-TC是一种点对点接口,专为驱动片外组件的片上控制器而设计。此接口支持在多个三态器件之间共享数据,地址和控制管脚。
三态管道接口没有属性,信号角色: