AvalonST总线规范要点.docx
- 文档编号:4152774
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:394.92KB
AvalonST总线规范要点.docx
《AvalonST总线规范要点.docx》由会员分享,可在线阅读,更多相关《AvalonST总线规范要点.docx(14页珍藏版)》请在冰豆网上搜索。
AvalonST总线规范要点
Avalon-ST总线规范
6.1介绍
Avalon流传输(Avalon-ST)接口可以被用户用来作为各组件的数据通信接口,该接口具
有高带宽、低延时和非双向的特点。
典型应用场合包括多数据流、数据包和DSP数据的传
输。
Avalon-ST接口信号可以被描述成传统的数据流接口,即支持传输单个数据流而不需关心通道数和数据包的大小范围。
接口也支持更加复杂的协议,包括突发传输,和数据包在多
个通道间交错传输等功能。
图6.1显示了典型的Avalon-ST接口应用。
图6.1Avalon-ST接口——典型例子
所有的Avalon-ST源端口和目标端口不可以与第三个端口互相相连(译者注:
只能两两
相连)。
但是,如果两个端口对一个应用空间提供了兼容的功能,自适应逻辑可以允许这些端口互连。
6.1.1性能指标
下面是Avalon-ST的一些突出的性能指标:
低延迟,高吞吐量的点到点数据传输支持多通道传输和灵活的在多个通道间交错传输单边的信号传输信道,提供数据包错误、数据包开始和结束的标志支持数据突发传输
自适应接口
6.1.2术语和概念
本节定义了Avalon-ST总线协议中的术语和协议。
Avalon-ST流传输系统——Avalon流传输系统包括一个或多个Avalon-ST端口,用来发送或接收数据流。
流传输系统如图6.1所示。
包括Avalon-ST接口,用来从系统输入端接收数据并传输到输出端;和Avalon-MM接口,用来允许软件控制其中的控制和状态寄存器。
Avalon-ST流传输组件——典型的系统中,使用Avalon-ST接口连接的多个功能模块叫做组件。
设计者需要同时配置组件和接口,以完成一个系统。
源端口、目标端口和连接——当两个组件连接时,数据从源端口流向目标端口。
源端口和目标端口的互连叫做连接。
反馈——反馈是一种机制,目标端口可以发送信号,使得发送端口停止发送数据。
当目标组件的FIFO已经是满状态或者它的输出口被阻塞时,目标端口通常使用反馈信号停止数据流。
总线对反馈的支持是可选的。
传输周期和准备周期——传输是从指数据和控制信号从源端口传到目标端口的操作。
对于数据接口来说,准备周期指目标端口等待的周期数,以保证可以接收传输。
通道一一通道指物理或者逻辑上的路径或者连接,信息由通道从一个端口到达另一个端
口。
数据包一一数据包指一起发送的数据和控制信号的集合。
一个数据包可能包括一个包
头,使得路由器或者其他的网络设备将数据包发送到正确的目标端。
本规范不定义数据
包的格式,而是由应用程序定义。
Aval。
n-ST的数据包的长度可变,可以在多个通道间
交错传输。
在Avalon-ST接口中,数据包的使用是可选的。
6.2Avalon-ST接口信号
在Avalon-ST总线的源端口和目标端口的每个接口信号对应一个Avalon-ST的信号类
型。
Avalon-ST的接口可能只包含一个实例模块的信号。
所有的Avalon-ST的信号类型在源
端口和目标端口的含义都是相同的。
表6.1列出了构成一个Avalon-ST的数据接口的信号类型。
表6.1Avalon-ST接口信号
信号类型
宽度
方向
必须
描述
基本信号
ready
1
目标-源
否
咼时,表明目标端口可以接收数据。
目标端口在
周期<n>拉高ready信号,表示周期
<n+readyLatency>为准备完成的周期。
在此期间,
源端口可以使valid有效并传输数据。
源端口在没有ready信号输入时不能被反馈。
同样的,目标端口在没有ready信号输出时不能发送反馈。
valid
1
源-目标
否
valid信号置高表示源端到目的端的信号是有效的。
在vaild刚被置高后的准备周期,目的端采集数据总线和其他源端到目的端的信号,而在其他周期时候这些信号将会被忽略。
data
1-256
源-目标
否
数据信号从源端口发送到目标端口,一般的数据
包从通过data信号发送。
data信号的内容和格式将在后面的参数中定义。
channel
0-8
源-目标
否
定义了本周期发送数据的通道数。
如果一个接口
支持channle信号,则必须疋义maxChannel参数。
error
1-255
源-目标
否
一进制位组合的形式,用来标记本周期正在传输的数据中的的错误。
error中的单个位对应的错误由模块的errorDescriptor属性定义。
包传输信号
startofpacket
1
源-目标
否
源端口置高表明数据包的开始
endofpacket
1
源-目标
否
源端口置高表明数据包的结束
empty
1
源-目标
否
数据包发送结束的周期指示本数据包中的空符号的数目。
在一次传输中如果只有一个符号,empty
信号是无用的。
如果endofpacket没有置咼,本信号无效。
6.2.1信号极性
表6.1所示的所有信号均为高电平有效。
622信号时序
本节介绍Avalon-ST信号时序等问题。
6.2.2.1同步接口
Avalon-ST连接的所有传输均在关联时钟的上升沿发生。
从源端口输出到目的
端口的所有信号必须在时钟的上升沿从寄存器输出,包括data,channel和error
信号。
输入到目的端口的信号不需要寄存器锁存。
在源端口寄存器输出信号保证了高频率的数据操作,同时消除了模块到模块的非反向逻辑寄存器。
6.2.2.2时钟使能
可以决定本组件是否正在被使能。
配合Aval。
n-ST总线的组件可能包括一个供内
部逻辑使用的时钟使能输入,但是必须小心设计,保证接口控制信号的时序仍然符合协议的要求。
6.3Avalon-ST接口属性
表6.2列出了构成Avalon-ST接口的特性。
表6.2Avalon-ST接口属性
属性名称
默认值
允许数值范围
描述
dataBitsPerSymbol
8
1-512
定义了每一个符号包含的二进制位数。
例
女口,面向字节的接口有8位宽度的符号。
这个值不一定是2的整数幕。
readyLatency
0
0-8
疋义了ready信号的有效/无效与准备好数
据传输的时间关系,每个接口的设置都是
独立的。
maxChannel
0
0-255
本接口支持的数据传输的最大通道数。
errorDescriptor
0
字符串列表
一个字符列表描述了错误和error信号的比
特位的对应关系。
列表的长度必须和error
信号比特位的数目一致,列表的第一个字符串对应的是error中的最高位。
例如,一个信号表中的单词的错误的描述有点错误关联的每个。
该信号的长度是错误的列表必须相冋,因为在数位和第一个单词的列表中适用的最咼位。
例如,"crcoverflow"
表明error信号的bit[1]表明的是CRC错误,bit[0]表明的是溢出错误。
6.4基本数据传输
在所有情况下,数据的源端口和目标
本节定义了从一个源端口到目标端口的数据传输。
端口都必须符合规范。
目标端口没有责任检测协议上的错误。
6.4.1信号的具体细节
本节介绍了数据传输必须遵守的基本Avalon-ST协议。
它突出了设计的灵活性,选择
Avalon-ST,可以满足用户特定的需求。
图6.1显示了基本的Avalon-ST接口的信号。
如图所示,基本的Avalon-ST接口信号包
括从valid,data,error和channel。
目标端口可以使用ready信号用于反馈。
图6.2标准的Avalon-ST接口信号
DataSourceDataSink
・
ready
valid
k
data
►
error
>
channel
以下的内容介绍了接口信号的更多细节。 ready当接口支持反馈时,目标端口将ready信号置高提示ready周期开始,实际传 输数据的周期可能发生变化。 支持反馈的数据接口必须定义readyLatency参数,以便确 定: 当ready信号在<n>周期置高时,那么<N+readyLatency>周期时端口做好准备。 valid――在数据正在从源端口向目标端口传输的任何周期,valid信号表明了本周期数 据有效。 在所有形式的ST接口,valid信号都是必须的。 在每个valid信号有效的周期,目标端口会采样数据信号和其他源端口到目标端口的信号。 一个或者更多的符号被传输出去。 dataBitsPerSymbol参数定义了数据被分成几个符号。 errorError信号的每一个比特位对应一个可能的错误状态。 error为0时表明本周期 的数据没有错误。 当出现错误时,本协议没有定义组件对这些错误的处理方法。 channel――channel是源端口发向目标端口的可选信号,表明本次数据属于哪个通道。 对于一个给定的端口,channel的意义取决于应用程序: 一些应用程序使用channel作为 端口号,而其他应用程序使用channel作为页编号或者时间码或时间编号。 源端口可能 在一个活动周期内改变channel的值。 接口如果使用channel信号,则必须定义maxChannel参数,以确定最大的通道数。 如 果组件在运行时接口改变了channel值,maxChannel是接口支持的channel信号的最大 值。 6.4.2数据结构 符号排列使用大端格式,即编号较大的符号排在最高位。 图6.3显示了一个64比特宽 度的信号,此时对应参数为symbolsPerBeat=4dataBitsPerSymbol=16。 图6.3数据符号(DataSymbols) 634B47323116150 symbol0 symboll1 symbol2 symbol3 时序图见下图6.4。 图中对应的参数为dataBitsPerSymbol=8symbolsPerBeat=4。 图中, D0是编号最高的符号,data[31]是这个符号的最高位。 图6.4大端格式的数据结构 6.5无反馈信号的数据传输 无反馈信号的数据传输是Aval。 n-ST数据传输的基础。 在任何的时钟周期,源端口驱动 data信号以及可选的channelerror信号,并拉高valid信号。 当valid信号为高时,目的端口在时钟上升沿采样data、channel、error信号。 图6.5显示了一个无反馈信号的数据传输的例子。 图6.5无反馈信号的数据传输 6.6带反馈信号的数据传输 目的端口在有效传输时拉高ready信号一个时钟周期,以提示源端口自己已经准备完成。 目的端口准备好数据传输的时钟周期称为ready周期。 在ready周期,源端口可能拉高valid 信号并发送数据到目的端口。 如果没有数据发送,源端口一直保持valid信号为低,此时data 信号可以为任意值。 支持反馈的ST接口定义了readyLatency参数,表明从ready信号有效到源端口可以发 送有效数据的延时周期数。 目的端口准备好数据传输的时钟周期称为ready周期。 如果一个 接口定义readyLatency为0,那么ready信号拉高的周期即为ready周期。 如果readyLatency不为0,当ready信号在<n>周期拉高,接口会认为<N+readyLatency>周期为ready周期。 任何包含ready信号并定义了readyLatency参数的ST接口模式都支持反馈传输。 当readyLatency为0时,数据只在ready信号和valid信号同时拉高时传输。 在这种操作模式下,在开始发送有效数据前,源端口不会接收到目标端口的ready信号。 目的端口可 以接收数据时拉高ready,源端口等待ready信号为高时,发送数据并拉高valid信号。 源端 口可以在任何时候改变发送的数据。 目的端口只能在ready信号和valid信号同时为高时捕 捉数据的data信号。 当readyLatency参数大于等于1时,目的端口在自身准备好接收数据前拉高ready信号。 源端口可以在合适的时钟周期拉高valid以做出响应。 源端口可能在ready信号不为高时拉 高valid。 图6.6显示了readyLatency为4时的Avalon-ST接口时序。 图6.6readyLatency为4时的Avalon-ST接口时序 观—LTLrLrLrLrLrLrLrLrLrLrLrLTLi i&ady 图6.7显示了一个readyLatency=0时带反馈信号的数据传输。 源端口在周期1拉高valid 信号并输出数据,虽然目的端口并没有准备好;源端口等待到周期2时,目的端口拉高ready 信号,此时没有发送新的数据;在周期3,源端口发送数据,此时目的端口已经准备好接收 数据,此时数据传输发生;在周期4,目的端口拉高ready信号,但是源端口没有输出有效数据。 图6.7readyLatency为0时带反馈信号的数据传输 图6.8和6.9显示了readyLatency为1和2时,带反馈信号的数据传输。 在这两种情况 下,ready信号在ready周期前拉高,同时源端口在1个或2个时钟周期后输出数据并拉高 valid信号以响应目标端口。 当readyLatency为0时,如果没有ready信号,源端口必须置 valid信号无效。 目标端口将在valid信号为高时捕捉信号,无论ready信号为何值。 图6.8readyLatency为1时带反馈信号的数据传输 -TTTTTTTlJlTTJlTTTTTT-rLn 图6.9readyLatency为2时带反馈信号的数据传输 rLrLrLrLrLrLrLrLTLnj 6.7数据包传输 包传输属性增加了从源端口到目的端口传输数据包的支持。 增加定义的三个信号用于实 现包传输。 源端口和目的端口都必须增加这些信号。 当源端口和目的端口不同时支持包传输时,不能将两者直接相连。 图6.10Avalon-ST包传输信号 DataSink DataSource 4 ready valkj k data error > channel 1 startofpacket ► endofpacket ► empty 6.7.1信号的具体细节 本节介绍了这三个信号的具体细节。 startofpacketstartofpacket在所有的支持包传输接口中都是必须的,以确定包头 数据传输的时钟周期。 该信号的值仅在valid信号拉高时有意义。 endofpacketendofpacket在所有的支持包传输接口中都是必须的,以确定包尾数 据传输的时钟周期。 该信号的值仅在valid信号拉高时有意义。 startofpacket和 endofpacket信号可能在同一时钟周期拉高。 当两次包传输之间没有空闲周期时, startofpacket信号可以紧跟前一次包传输的endofpacket信号。 empty——empty为可选信号。 表明最后一个数据包发送的时,数据线上有效符号 的数目。 目的端口仅在endofpacket信号为高时检测empty信号值。 空符号总是数 据流的最后几个符号,即在低位数据线上传输。 当接口data信号宽度超过一个符 号的宽度时,有效的数据宽度是变化的,这样的接口是必须使用empty信号。 empty 信号的数据范围是Iog2(<每个时钟周期发送的符号数>)。 6.7.2协议的细节 和“6.4节说明的基本数据传输”的通信协议相比,包传输遵循相同的协议,只是增加 了startofpacket,endofpacket禾口empty信号。 图6.11显示了一次源端口到目的端口的一次包传输,共传输17字节,且readyLatency参数为0。 数据传输发生在第1,2,4,5,6周期,此时ready信号和valid信号均为高。 在周期1,startofpacket信号为高,最开始的4个字节被发送。 在周期6,endofpacket信号为高,empty信号值为3,表明发送包尾数据的4个符号中有3个为空符号。 因为Avalon-ST遵守 大端格式,在周期6中,数据线的高位data[31: 24]上为有效信号。 图6.11包传输 1234567 咖-LrLTLrLrLrLrLrLi ready
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AvalonST 总线 规范 要点
![提示](https://static.bdocx.com/images/bang_tan.gif)