资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Avalon-ST总线规范6.1介绍Avalon流传输(Avalon-ST)接口可以被用户用来作为各组件的数据通信接口,该接口具有高带宽、低延时和非双向的特点。典型应用场合包括多数据流、数据包和DSP数据的传输。Avalon-ST接口信号可以被描述成传统的数据流接口,即支持传输单个数据流而不需关心通道数和数据包的大小范围。接口也支持更加复杂的协议,包括突发传输,和数据包在多个通道间交错传输等功能。图6.1显示了典型的Avalon-ST接口应用。图6.1 Avalon-ST接口典型例子所有的Avalon-ST源端口和目标端口不可以与第三个端口互相相连(译者注:只能两两相连)。但是,如果两个端口对一个应用空间提供了兼容的功能,自适应逻辑可以允许这些端口互连。6.1.1 性能指标下面是Avalon-ST的一些突出的性能指标:n 低延迟,高吞吐量的点到点数据传输n 支持多通道传输和灵活的在多个通道间交错传输n 单边的信号传输信道,提供数据包错误、数据包开始和结束的标志n 支持数据突发传输n 自适应接口6.1.2 术语和概念本节定义了Avalon-ST总线协议中的术语和协议。n Avalon-ST流传输系统Avalon流传输系统包括一个或多个Avalon-ST端口,用来发送或接收数据流。流传输系统如图6.1所示。包括Avalon-ST接口,用来从系统输入端接收数据并传输到输出端;和Avalon-MM接口,用来允许软件控制其中的控制和状态寄存器。n Avalon-ST流传输组件典型的系统中,使用Avalon-ST接口连接的多个功能模块叫做组件。设计者需要同时配置组件和接口,以完成一个系统。n 源端口、目标端口和连接当两个组件连接时,数据从源端口流向目标端口。源端口和目标端口的互连叫做连接。n 反馈反馈是一种机制,目标端口可以发送信号,使得发送端口停止发送数据。当目标组件的FIFO已经是满状态或者它的输出口被阻塞时,目标端口通常使用反馈信号停止数据流。总线对反馈的支持是可选的。n 传输周期和准备周期传输是从指数据和控制信号从源端口传到目标端口的操作。对于数据接口来说,准备周期指目标端口等待的周期数,以保证可以接收传输。n 通道通道指物理或者逻辑上的路径或者连接,信息由通道从一个端口到达另一个端口。n 数据包数据包指一起发送的数据和控制信号的集合。一个数据包可能包括一个包头,使得路由器或者其他的网络设备将数据包发送到正确的目标端。本规范不定义数据包的格式,而是由应用程序定义。Avalon-ST的数据包的长度可变,可以在多个通道间交错传输。在Avalon-ST接口中,数据包的使用是可选的。6.2 Avalon-ST接口信号在Avalon-ST总线的源端口和目标端口的每个接口信号对应一个Avalon-ST的信号类型。Avalon-ST的接口可能只包含一个实例模块的信号。所有的Avalon-ST的信号类型在源端口和目标端口的含义都是相同的。表6.1列出了构成一个Avalon-ST的数据接口的信号类型。表6.1 Avalon-ST接口信号信号类型宽度方向必须描述基本信号ready1目标-源否高时,表明目标端口可以接收数据。目标端口在周期拉高ready信号,表示周期为准备完成的周期。在此期间,源端口可以使valid有效并传输数据。源端口在没有ready信号输入时不能被反馈。同样的,目标端口在没有ready信号输出时不能发送反馈。valid1源-目标否valid信号置高表示源端到目的端的信号是有效的。在vaild刚被置高后的准备周期,目的端采集数据总线和其他源端到目的端的信号,而在其他周期时候这些信号将会被忽略。data1-256源-目标否数据信号从源端口发送到目标端口,一般的数据包从通过data信号发送。data信号的内容和格式将在后面的参数中定义。channel0-8源-目标否定义了本周期发送数据的通道数。如果一个接口支持channle信号,则必须定义maxChannel参数。error1-255源-目标否二进制位组合的形式,用来标记本周期正在传输的数据中的的错误。error中的单个位对应的错误由模块的errorDescriptor属性定义。包传输信号startofpacket1源-目标否源端口置高表明数据包的开始endofpacket1源-目标否源端口置高表明数据包的结束empty1源-目标否数据包发送结束的周期指示本数据包中的空符号的数目。在一次传输中如果只有一个符号,empty信号是无用的。如果endofpacket没有置高,本信号无效。6.2.1 信号极性表6.1所示的所有信号均为高电平有效。6.2.2 信号时序本节介绍Avalon-ST信号时序等问题。6.2.2.1 同步接口Avalon-ST连接的所有传输均在关联时钟的上升沿发生。从源端口输出到目的端口的所有信号必须在时钟的上升沿从寄存器输出,包括data,channel和error信号。输入到目的端口的信号不需要寄存器锁存。在源端口寄存器输出信号保证了高频率的数据操作,同时消除了模块到模块的非反向逻辑寄存器。6.2.2.2 时钟使能Avalon-ST组件通常不包括时钟使能输入,因为Avalon-ST本身的接口信号就可以决定本组件是否正在被使能。配合Avalon-ST总线的组件可能包括一个供内部逻辑使用的时钟使能输入,但是必须小心设计,保证接口控制信号的时序仍然符合协议的要求。6.3 Avalon-ST接口属性表6.2列出了构成Avalon-ST接口的特性。表6.2 Avalon-ST接口属性属性名称默认值允许数值范围描述dataBitsPerSymbol81-512定义了每一个符号包含的二进制位数。例如,面向字节的接口有8位宽度的符号。这个值不一定是2的整数幂。readyLatency00-8定义了ready信号的有效/无效与准备好数据传输的时间关系,每个接口的设置都是独立的。maxChannel00-255本接口支持的数据传输的最大通道数。errorDescriptor0字符串列表一个字符列表描述了错误和error信号的比特位的对应关系。列表的长度必须和error信号比特位的数目一致,列表的第一个字符串对应的是error中的最高位。例如,一个信号表中的单词的错误的描述有点错误关联的每个。该信号的长度是错误的列表必须相同,因为在数位和第一个单词的列表中适用的最高位。例如,crc overflow表明error信号的bit1表明的是CRC错误,bit0表明的是溢出错误。6.4 基本数据传输本节定义了从一个源端口到目标端口的数据传输。在所有情况下,数据的源端口和目标端口都必须符合规范。目标端口没有责任检测协议上的错误。6.4.1 信号的具体细节本节介绍了数据传输必须遵守的基本Avalon-ST协议。它突出了设计的灵活性,选择Avalon-ST,可以满足用户特定的需求。图6.1显示了基本的Avalon-ST接口的信号。如图所示,基本的Avalon-ST接口信号包括从 valid,data,error和channel。目标端口可以使用ready信号用于反馈。图6.2 标准的Avalon-ST接口信号以下的内容介绍了接口信号的更多细节。n ready当接口支持反馈时,目标端口将ready信号置高提示ready周期开始,实际传输数据的周期可能发生变化。支持反馈的数据接口必须定义readyLatency参数,以便确定:当ready信号在周期置高时,那么周期时端口做好准备。n valid在数据正在从源端口向目标端口传输的任何周期,valid信号表明了本周期数据有效。在所有形式的ST接口,valid信号都是必须的。在每个valid信号有效的周期,目标端口会采样数据信号和其他源端口到目标端口的信号。n datadata信号一般用来传输由源端口到目的端口的大部分数据。在每一个时钟周期,一个或者更多的符号被传输出去。dataBitsPerSymbol参数定义了数据被分成几个符号。n errorError信号的每一个比特位对应一个可能的错误状态。error为0时表明本周期的数据没有错误。当出现错误时,本协议没有定义组件对这些错误的处理方法。n channelchannel是源端口发向目标端口的可选信号,表明本次数据属于哪个通道。对于一个给定的端口,channel的意义取决于应用程序:一些应用程序使用channel作为端口号,而其他应用程序使用channel作为页编号或者时间码或时间编号。源端口可能在一个活动周期内改变channel的值。n 接口如果使用channel信号,则必须定义maxChannel参数,以确定最大的通道数。如果组件在运行时接口改变了channel值,maxChannel是接口支持的channel信号的最大值。6.4.2 数据结构符号排列使用大端格式,即编号较大的符号排在最高位。图6.3显示了一个64比特宽度的信号,此时对应参数为symbolsPerBeat=4 dataBitsPerSymbol=16。图6.3 数据符号(Data Symbols)时序图见下图6.4。图中对应的参数为 dataBitsPerSymbol=8 symbolsPerBeat=4。图中,D0是编号最高的符号,data31是这个符号的最高位。图6.4 大端格式的数据结构6.5 无反馈信号的数据传输无反馈信号的数据传输是Avalon-ST数据传输的基础。在任何的时钟周期,源端口驱动data信号以及可选的channel error信号,并拉高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信号在周期拉高,接口会认为周期为ready周期。任何包含ready信号并定义了readyLatency参数的ST接口模式都支持反馈传输。当readyLatency为0时,数据只在ready信号和valid信号同时拉高时传输。在这种操作模式下,在开始发送有效数据前,源端口不会接收到目标端口的ready信号。目的端口可以接收数据时拉高ready,源端口等待ready信号为高时,发送数据并拉高valid信号。源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号