第4章 Avalon总线规范.ppt
《第4章 Avalon总线规范.ppt》由会员分享,可在线阅读,更多相关《第4章 Avalon总线规范.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 Avalon总线规范总线规范4.1 Avalon总线简介总线简介 Avalon总线由总线由ALTERA公司提出,用于在基于公司提出,用于在基于FPGA的片上系统中连接片内处理器和片内外设的总线的片上系统中连接片内处理器和片内外设的总线结构。结构。连接到连接到Avalon总线的设备分为主从设备,并各总线的设备分为主从设备,并各有其工作模式。有其工作模式。v简单性,易于理解、易于使用。简单性,易于理解、易于使用。v占用资源少,减少对占用资源少,减少对FPGA片内资源的占用。片内资源的占用。v高性能,高性能,Avalon总线可以在每一个总线时钟周期总线可以在每一个总线时钟周期完成一次数据
2、传输。完成一次数据传输。v专用的地址总线、数据总线和控制总线:这样专用的地址总线、数据总线和控制总线:这样Avalon总线模块和片上逻辑之间的接口的得以简化,总线模块和片上逻辑之间的接口的得以简化,Avalon外设不需要识别数据和地址周期。外设不需要识别数据和地址周期。continuev支持高达支持高达1024位的数据宽度,支持不是位的数据宽度,支持不是2的偶数幂的的偶数幂的数据宽度。数据宽度。v支持同步操作,所有支持同步操作,所有Avalon外设的接口与外设的接口与Avalon交交换架构的时钟同步,不需要复杂的握手换架构的时钟同步,不需要复杂的握手/应答机制。应答机制。简化了简化了Avalo
3、n接口的时序行为,而且便于集成高速接口的时序行为,而且便于集成高速外设。外设。v支持动态地址对齐,可以处理具有不同数据宽度的支持动态地址对齐,可以处理具有不同数据宽度的外设间的数据传输,外设间的数据传输,Avalon总线的自动地址对齐功总线的自动地址对齐功能将自动解决数据宽度不匹配的问题,不需要设计能将自动解决数据宽度不匹配的问题,不需要设计者的干预。者的干预。vAvalon总线规范是一个开放的标准,用户可以在未总线规范是一个开放的标准,用户可以在未经授权的情况下使用经授权的情况下使用Avalon总线接口来自定义外设。总线接口来自定义外设。Avalon总线结构采用交换式的总线结构。总线结构采用
4、交换式的总线结构。SOPC Builder利用最少的利用最少的FPGA资源,产生新的最佳资源,产生新的最佳Avalon交交换架构。换架构。4.2 Avalon总线基本概念总线基本概念4.2.1 Avalon外设和交换架构外设和交换架构v一个基于一个基于Avalon接口的系统会包含很多功能接口的系统会包含很多功能模块,这些功能模块就是模块,这些功能模块就是Avalon存储器映射存储器映射外设,通常简称外设,通常简称Avalon外设。所谓存储器映外设。所谓存储器映射外设是指外设和存储器使用相同的总线来射外设是指外设和存储器使用相同的总线来寻址,并且寻址,并且CPU使用访问存储器的指令也用使用访问存
5、储器的指令也用来访问来访问I/O设备。为了能够使用设备。为了能够使用I/O设备,设备,CPU的地址空间必须为的地址空间必须为I/O设备保留地址。设备保留地址。vAvalon外设包括存储器,处理器、外设包括存储器,处理器、UART、PIO、定时器和总线桥等。还可以有用户自定、定时器和总线桥等。还可以有用户自定义的义的Avalon外设,用户自定义的外设能称之外设,用户自定义的外设能称之为为Avalon外设,要有连接到外设,要有连接到Avalon结构的结构的Avalon信号。信号。vAvalon外设分为主外设和从外设,能够在外设分为主外设和从外设,能够在Avalon总线上发起总线传输的外设是主外设,
6、总线上发起总线传输的外设是主外设,从外设只能响应从外设只能响应Avalon总线传输,而不能发总线传输,而不能发起总线传输。主外设至少拥有一个连接在起总线传输。主外设至少拥有一个连接在Avalon交换架构上的主端口,主外设也可以交换架构上的主端口,主外设也可以拥有从端口,使得该外设也可以响应总线上其拥有从端口,使得该外设也可以响应总线上其它主外设发起的总线传输。它主外设发起的总线传输。v将将Avalon外设连接起来,构成一个大的系统的片上外设连接起来,构成一个大的系统的片上互连逻辑就是互连逻辑就是Avalon交换架构交换架构。vAvalon交换架构是一种可自动调整的结构,交换架构是一种可自动调整
7、的结构,随着设计者不同设计而做出最优的调整。可以随着设计者不同设计而做出最优的调整。可以看到外设和存储器可以拥有不同的数据宽度,看到外设和存储器可以拥有不同的数据宽度,并且这些外设可以工作在不同的时钟频率。并且这些外设可以工作在不同的时钟频率。Avalon交换架构支持多个主外设,允许多个交换架构支持多个主外设,允许多个主外设同时在不同的从外设进行通信,增加了主外设同时在不同的从外设进行通信,增加了系统的带宽。这些功能的实现都是靠系统的带宽。这些功能的实现都是靠Avalon交换架构中的地址译码、信号复用、仲裁、地交换架构中的地址译码、信号复用、仲裁、地址对齐等逻辑实现的。址对齐等逻辑实现的。v本
8、章重点讨论本章重点讨论Avalon外设和外设和Avalon交换架构交换架构之间的互连,主要研究接口级的行为,不关注之间的互连,主要研究接口级的行为,不关注其内部实现。其内部实现。4.2.2 Avalon信号信号vAvalon接接口口定定义义了了一一组组信信号号类类型型(片片选选、读读使使能能、写写使使能能、地地址址、数数据据等等),用用于于描描述述主主/从从外外设设上上基基于地址的读写接口。于地址的读写接口。vAvalon信信号号的的可可配配置置特特性性是是Avalon接接口口与与传传统统总总线线接接口口的的主主要要区区别别之之一一。Avalon外外设设可可以以使使用用一一小小组组信信号号来来
9、实实现现简简单单的的数数据据传传输输,或或者者使使用用更更多多的的信信号号来来实实现现复复杂杂的的传传输输类类型型。例例如如ROM接接口口只只需需要要地地址址、数数据据和和和和片片信信号号就就可可以以了了,而而高高速速的的存存储储控控制制器可能需要更多的信号来支持流水线的突发传输。器可能需要更多的信号来支持流水线的突发传输。4.2.3 主端口和从端口主端口和从端口vAvalon端口就是完成通信传输的接口所包含的一组端口就是完成通信传输的接口所包含的一组Avalon信号。信号。Avalon端口分为主端口和从端口,主端口可以在端口分为主端口和从端口,主端口可以在Avalon总线上发起数据传输,目标
10、从端口在总线上发起数据传输,目标从端口在Avalon总线上总线上响应主端口发起的数据传输。一个响应主端口发起的数据传输。一个Avalon外设可能有一个或外设可能有一个或多个主端口,一个或多个从端口,也可能既有多个主端口,多个主端口,一个或多个从端口,也可能既有多个主端口,又有多个从端口。又有多个从端口。vAvalon的主端口和从端口之间没有直接的连接,主、从端口的主端口和从端口之间没有直接的连接,主、从端口都连接到都连接到Avalon交换架构上,由交换架构来完成信号的传递交换架构上,由交换架构来完成信号的传递。在传输过程中,主端口和交换架构之间传递的信号与交换。在传输过程中,主端口和交换架构之
11、间传递的信号与交换架构和从端口之间传递的信号可能有很大的不同。所以,在架构和从端口之间传递的信号可能有很大的不同。所以,在讨论讨论Avalon传输的时候,必须区分主从端口。传输的时候,必须区分主从端口。4.2.4 传输传输v传输是指在传输是指在Avalon端口和端口和Avalon交换架构之间的交换架构之间的数据单元的读数据单元的读/写操作。写操作。Avalon传输一次可以传输传输一次可以传输高达高达1024位的数据,需要一个或多个时钟周期来完位的数据,需要一个或多个时钟周期来完成。在一次传输完成之后,成。在一次传输完成之后,Avalon端口在下一个时端口在下一个时钟周期可以进行下一次的传输。钟
12、周期可以进行下一次的传输。vAvalon的传输分成两个基本的类别:主传输和从传的传输分成两个基本的类别:主传输和从传输。输。Avalon主端口发起对交换架构的主传输。主端口发起对交换架构的主传输。Avalon从端口响应来自交换架构的传输请求。传输从端口响应来自交换架构的传输请求。传输是和端口相关的:主端口只能执行主传输,从端口是和端口相关的:主端口只能执行主传输,从端口只能执行从传输。只能执行从传输。4.2.5 主从端口对主从端口对v主从端口对是指在数据传输过程中,通过主从端口对是指在数据传输过程中,通过Avalon交换架构相连接起来的主端口和从端交换架构相连接起来的主端口和从端口。口。v在传
13、输过程中,主端口的控制和数据信号通在传输过程中,主端口的控制和数据信号通过过Avalon交换架构和从端口相交互。交换架构和从端口相交互。4.2.6 周期周期v周期是时钟的基本单位,定义为特定端口的周期是时钟的基本单位,定义为特定端口的时钟信号的一个上升沿到下一个上升沿之间时钟信号的一个上升沿到下一个上升沿之间的时间。完成一次传输最少要一个时钟周期。的时间。完成一次传输最少要一个时钟周期。4.3 Avalon信号信号vAvalon接口规范定义了接口规范定义了Avalon外设使用的信号类型,如地外设使用的信号类型,如地址、数据、片选信号等等。根据外设逻辑接口的需求,址、数据、片选信号等等。根据外设
14、逻辑接口的需求,Avalon外设可以使用任何类型的外设可以使用任何类型的Avalon信号。信号。vAvalon接口规范还定义了每种信号类型的行为。接口规范还定义了每种信号类型的行为。Avalon端端口上的信号和信号类型是一一对应的,口上的信号和信号类型是一一对应的,Avalon主主/从端口的从端口的每一个信号必定属于某类的每一个信号必定属于某类的Avalon信号类型。一个信号类型。一个Avalon端口每一种信号类型只能有一个信号实例。端口每一种信号类型只能有一个信号实例。v根据端口的属性,可以将根据端口的属性,可以将Avalon信号类型分为主信号或者从信号类型分为主信号或者从信号。有些信号在主
15、端口和从端口的接口上都存在,但是信信号。有些信号在主端口和从端口的接口上都存在,但是信号的行为是不相同的。号的行为是不相同的。4.3.1 信号类型的完整列表信号类型的完整列表每一类型的信号的说明包括:每一类型的信号的说明包括:v信号类型;信号类型;v信号可能的宽度;信号可能的宽度;v信号的方向(从外设的角度看);信号的方向(从外设的角度看);v该信号在端口上是否必不可少(必需性);该信号在端口上是否必不可少(必需性);v各种类型的信号的功能和特殊的使用要求的简单描各种类型的信号的功能和特殊的使用要求的简单描述述。4.3 Avalon信号信号Avalon从端口信号类型从端口信号类型信号类型信号宽
16、度方向必需功能及使用描述基本信号类型clk1InNoAvalon从端口的同步时钟,所有的信号必须与clk同步,异步外设可以忽略clk信号。chipselect1InNoAvalon从端口的片选信号。在chipselect信号无效的情况下,Avalon从端口忽略所有其它的信号。address132InNo连接Avalon交换架构和从端口的地址线,指定了从外设地址空间的一个字的地址偏移。read1InNo读从端口的请求信号。当从端口不输出数据时不需要使用该信号,如果使用了该信号,则readdata或data信号也必须使用。readdata8,16,32,64,128,256,512,1024 Ou
17、tNo读传输时,输出到Avalon交换架构的数据线。当从端口不输出数据时,不需要该信号。如果使用了该信号,则data信号不能使用。write1InNo写从端口的请求信号。当从端口不从主端口接收数据,不需要该信号。如果使用了该信号,writedata或data信号必须使用,writebyteenable信号不能使用。writedata8,16,32,64,128,256,512,1024 InNo写传输时,来自Avalon交换架构的数据线。当从端口不接收数据时,不需要该信号。如果使用了该信号,write或writebyteenable信号必须使用,data信号不能使用。byteenable1,2
18、,4,6,8,16,32,64,128InNo字节使能信号。在对宽度大于8位的存储器进行写传输时,该信号用于选择特定的字节段。如果使用了该信号,writedata信号页必须要使用,writebyteenable信号不能使用。信号类型信号宽度方向必需功能及使用描述writebyteenable2,4,6,8,16,32,64,128InNo相当于byteenable信号和write信号的逻辑与操作,如果使用了该信号,writedata信号必须使用,write和byteenable信号不能使用。begintransfer1InNo在每次传输的第一个周期内有效。使用用法取决于具体的外设。等待周期信号
19、waitrequest1OutNo如果从端口不能立即响应Avalon交换架构,用该信号来暂停Avalon交换架构。流水线信号readdatavalid1OutNo用于具有可变读延迟的流水线读传输。该信号用于标记从端口发出有效readdata时的时钟上升沿。突发信号burstcount111InNo用于突发传输。用来指示每一次突发传输中数据传输的次数。当使用burstcount信号时,waitrequest信号必须一并使用。beginbursttransfer1InNo在突发数据传输的第一个时钟周期有效,标志突发数据传输开始。其用法取决于外设。流控制信号redyfordata1OutNo用于具有
20、流控制的传输。表示外设准备好一次写传输。dataavailable1OutNo用于具有流控制的传输。表示外设准备好一次读传输。endofpacket1OutNo用于具有流控制的传输。向Avalon交换架构指示包结束的状态。实现取决于外设。三态信号data8,16,32,64,128,256,512,1024 Bi-directionalNo三态从端口的双向数据读/写。如果使用了该信号,readdata和writedata不能使用。outputenable1InNodata信号的输出使能信号。如果该信号无效,三态从端口不能驱动自身的dataxinhao。如果使用了该信号,data信号必须使用。其
21、它信号irq1OutNo中断请求信号。当从端口需要主端口服务时,它将发出irq信号。reset1InNo外设复位信号。该信号有效时,从外设必须进入确定的复位状态。resetrequest1OutNo允许外设将整个Avalon系统复位。复位操作立即执行。注:(1)如果从端口使用动态地址对齐,信号宽度必须是2的幂。(2)如果从端口同时使用readdata和writedata信号,这两个信号的宽度必须相等。Avalon从端口信号类型从端口信号类型Avalon主端口信号类型主端口信号类型信号类型信号宽度方向必需功能及使用描述基本信号类型Clk1InYesAvalon主端口的同步时钟,所有的信号必须与c
22、lk同步。Waitrequest1InYes迫使主端口等待,知道Avalon交换架构准备好处理传输。address132OutYes从Avalon主端口到Avalon交换架构的地址线。该信号表示的是一个字节的地址,但主端口只发出的字边界的地址。read1OutNo主端口的读请求信号。主端口不执行读传输时不需要该信号。如果使用了该信号,readdata或data信号线也必须使用。readdata8,16,32,64,128,256,512,1024 InNo读传输时,来自Avalon交换架构的数据线。当主端口不执行读传输时,不需要该信号。如果使用了该信号,则read信号必须使用,data信号不能
23、使用。write1OutNo主端口的写请求信号。不执行写传输时不需要该信号。如果使用该信号,writedata或data信号也必须使用。writedata8,16,32,64,128,256,512,1024 OutNo写传输时,到Avalon交换架构的数据线。当主端口不执行写传输时,不需要该信号。如果使用了该信号,write信号必须使用,data信号不能使用。byteenable1,2,4,6,8,16,32,64,128OutNo字节使能信号。在对宽度大于8位的存储器进行写传输时,该信号用于选择特定的字节段。读传输时,主端口必须置所有的byteenable信号线有效。流水线信号readda
24、tavalid1InNo用于具有延迟的流水线读传输。该信号表示来自Avalon交换架构的有效数据出现在readdata数据线上。如果主端口采用流水线传输,就要求使用该信号。flush1OutNo用于流水线读传输操作。主端口置flush信号有效,以清除所有挂起的传输操作。突发信号burstcount111OutNo用于突发传输。用来指示每一次突发传输中数据传输的次数。流控制信号endofpacket1OutNo用于控制流模式的数据传输。标志一个数据包的结束状态。实现取决于外设。三态信号data8,16,32,64,128,256,512,1024Bi-directionalNo三态主端口的双向数
25、据读/写信号。如果使用了该信号,readdata和writedata不能使用。其它信号Irq1,32InNo中断请求信号。如果Irq信号是一个32位的矢量信号,那么它的每一位直接对应一个从端口上的中断信号,它与中断优先级没有任何的联系;如果Irq是一个单比特信号,那么它是所有从外设的Irq信号的逻辑或,中断优先级由irqnumber信号确定。irqnumber6InNo只有在irq信号为单比特信号时,才使用irqnumber信号来确定外设的中断优先级。Irqnumber的值越小,所代表的中断优先级越高。reset1InNo全局复位信号。实现跟外设相关。resetrequest1OutNo允许外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 Avalon总线规范 Avalon 总线 规范
限制150内