《Avalon接口规范(一).ppt》由会员分享,可在线阅读,更多相关《Avalon接口规范(一).ppt(67页珍藏版)》请在三一办公上搜索。
1、2023/7/5,第7章 Avalon接口规范 Avalon总线规范介绍(一),2023/7/5,2,Avalon总线简介,总线定义原始定义:扩展定义:,计算机系统中各种信号线的集合,计算机各部件之间传送数据、地址和控制信息的公共通路,如8086CPU总线、单片机总线(IntelMotorola)、ISAPC104总线、PCI总线,泛指计算机系统和通信系统中信号线的集合,如现场总线、USB总线、485总线等,总线就是计算机系统或通信系统中的一种通信规范以及规范的实现方法,2023/7/5,3,Avalon总线简介,计算机总线的分类按相对于CPU的位置分:按功能分:按层次结构分:,片内总线、片外
2、总线,数据总线、地址总线、控制总线,CPU总线、存储总线、系统总线、外部总线,2023/7/5,4,Avalon总线简介,Avalon总线 Avalon总线是一种用于连接NIOS/NIOS处理器与片内、片外外设的总线结构Avalon总线由ALTERA公司提出;Avalon总线的设备分为主从设备,并各有其工作模式;Avalon总线本身是一个数字逻辑系统,在实现“信号线汇接”这一传统总线功能的同时,增加了许多内部功能模块,如:从端仲裁模式、多主端工作方式、延时数据传输等,片内总线,2023/7/5,5,Avalon总线简介,Avalon总线的设计目标1)简化片上系统的互联规则,提供一种易用的接口规
3、范2)在总线逻辑优化方面节省系统资源3)同步工作模式,Avalon总线是一种时钟同步总线,不需要复杂的握手机制,2023/7/5,6,Avalon总线简介,Avalon总线的特点1)简单性:易于理解、易于使用2)占用资源少:减少对FPGA片内资源的占用3)高性能:Avalon总线可以在每一个总线时钟周期完成一次数据传输4)专用的地址总线、数据总线和控制总线:简化Avalon总线模块和片上逻辑之间的接口,Avalon外设不需要识别数据和地址周期。,2023/7/5,7,Avalon总线简介,Avalon总线的特点(续)5)强数据宽度支持能力:支持高达1024位的数据宽度,支持不是2的偶数幂的数据
4、宽度6)支持同步操作:所有Avalon外设的接口与Avalon交换架构的时钟同步,不需要复杂的握手/应答机制,简化了Avalon接口的时序行为,便于集成高速外设,2023/7/5,8,Avalon总线简介,Avalon总线的特点(续)7)支持动态地址对齐:Avalon总线可以处理具有不同数据宽度的外设间的数据传输,其自动地址对齐功能将自动解决数据宽度不匹配的问题。8)开放性:Avalon总线规范是一个开放的标准,用户可以在未经授权的情况下使用Avalon总线接口自定义外设。,2023/7/5,9,Avalon总线简介,Avalon总线架构 VS 传统总线架构,传统总线架构:总线仲裁控制总线主机
5、与总线从机之间通信,某一时刻只有一个主机使用总线,导致带宽瓶颈问题,Avalon总线架构:采用交换式架构,各个主机均有独立的总线,总线主机只需抢占共享从机,而不是抢占总线,某一时刻可以多个主机与多个从机交换数据,2023/7/5,10,Avalon总线简介,Avalon总线架构 VS 传统总线架构Avalon交换架构支持多种系统体系结构:单主机/多主机系统Avalon交换架构支持用户设计的片外处理器和外设Avalon交换架构支持数据总线复用、等待周期产生、外设地址对齐以及高级交换式总线传输,2023/7/5,11,Avalon总线简介,Avalon总线的应用Avalon总线在SOPC Buil
6、der中添加外设后会自动生成,并且会随着外设的添加和删减而自动调整,最终的Avalon总线结构是针对外设配置而生成的一个最佳结构对于只使用已经定制好的符合Avalon总线规范的外设构建系统的用户,不需要了解Avalon总线规范的细节;对于设计外设的用户,开发的外设必须符合Avalon总线规范,否则设计的外设无法集成到系统中。,2023/7/5,12,Avalon总线简介,Avalon总线的应用AlTERA公司提供了Avalon的接口规范,供设计者开发自己的外设和更好地使用外设。Avalon接口规范给出了主从外设间的端口连接关系,通信时序关系,所支持的传输方式。应用Avalon总线,设计者不需要
7、了解Avalon交换结构的实现细节,只需要掌握Avalon同外设相连接的接口规范。,2023/7/5,13,Avalon总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,14,Avalon总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,15,Avalon总线相关基本概念,Avalon外设Avalon外设是Avalon存储器映射外设的简称Avalon外设包括存储器、处理器、UART、PIO、定时器和总线桥、用户自定义Avalon外设等。,用户自定义Avalon外设:必须具有连接到Avalon
8、交换架构的Avalon信号,2023/7/5,16,Avalon总线相关基本概念,Avalon外设主外设:从外设:,能够在Avalon总线上发起总线传输的Avalon外设,至少拥有一个Avalon主端口,可以拥有从端口,只能响应Avalon总线传输,不能发起总线传输,至少拥有一个Avalon从端口,只能拥有Avalon从端口,2023/7/5,17,Avalon总线相关基本概念,Avalon外设Avalon外设通过Avalon交换架构进行数据传输,2023/7/5,18,Avalon总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,19,Av
9、alon总线相关基本概念,Avalon信号Avalon接口定义了一组信号类型:片选、读使能、写使能、地址、数据等。Avalon信号用于描述主、从外设基于地址的读写接口。,2023/7/5,20,Avalon总线相关基本概念,Avalon信号Avalon信号的可配置特性是Avalon接口与传统总线接口的主要区别之一:Avalon外设只使用与其内核逻辑接口所必需的信号,而省去其他信号以避免不必要的开销。如:ROM接口只需要地址、数据和片选信号,而高速的存储控制器则需要更多的信号支持流水线的突发传输,2023/7/5,21,Avalon总线相关基本概念,Avalon信号Avalon的信号类型为其它总
10、线接口提供了一个超集:使大多数标准芯片的引脚都能映射成Avalon信号类型,从而使Avalon系统直接与这些芯片相连接。如:大多数分离的SRAM、ROM和Flash芯片上的引脚都能映射成Avalon信号类型,2023/7/5,22,Avalon总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,23,Avalon总线相关基本概念,主端口和从端口Avalon端口:完成通信传输的接口所包含的一组Avalon信号。Avalon端口分为主端口和从端口:主端口可以在Avalon总线上发起数据传输,目标从端口在Avalon总线上响应主端口发起的数据传输,2
11、023/7/5,24,Avalon总线相关基本概念,主端口和从端口Avalon主端口和从端口之间没有直接的连接,主、从端口都连接到Avalon交换架构上,由交换架构来完成信号的传递。信号传输过程中,主端口和交换架构之间传递的信号与交换架构和从端口之间传递的信号可能有很大的不同。在讨论Avalon传输时,必须区分主从端口。,2023/7/5,25,Avalon总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,26,Avalon总线相关基本概念,传输传输是指在Avalon端口和Avalon交换架构之间的数据单元的读/写操作一次传输的数据可以高达1
12、024位;一次传输需要一个或多个时钟周期;一次传输完成后,在下一个时钟周期即可进行下一次传输。,2023/7/5,27,Avalon总线相关基本概念,传输主传输:从传输:,Avalon主端口发起对交换架构的主传输,主端口只能执行主传输,Avalon从端口响应来自交换架构的从传输,从端口只能执行从传输,2023/7/5,28,Avalon总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,29,Avalon总线相关基本概念,主从端口对主从端口对:在数据传输过程中,通过Avalon交换架构连接起来的主端口和从端口。,2023/7/5,30,Aval
13、on总线相关基本概念,Avalon外设Avalon信号主端口和从端口传输主从端口对周期,2023/7/5,31,Avalon总线相关基本概念,周期周期是时钟的基本单位,定义为特定端口的时钟信号的一个上升沿到下一个上升沿之间的时间。完成一次传输至少需要一个时钟周期。,2023/7/5,32,Avalon信号的详细介绍,Avalon信号概述Avalon接口规范定义了Avalon外设的信号类型,根据外设逻辑接口的需求,Avalon外设可以使用任何类型的Avalon信号;根据端口的属性,可将Avalon信号类型分为主信号或者从信号,有些信号在主端口和从端口的接口上都存在,但是信号行为是不同的。Aval
14、on外设可以包括与Avalon接口无关的用户自定义的面向应用的信号,2023/7/5,33,Avalon信号的详细介绍,Avalon信号概述,只使用了写传输的信号,而没有读传输的信号,用户自定义、面向应用接口,2023/7/5,34,Avalon信号的详细介绍,Avalon信号的完整列表Avalon信号的描述属性:信号类型信号可能的宽度信号方向(从外设角度看)信号在端口上的必需性信号的功能及使用描述,2023/7/5,35,Avalon从端口信号类型,Avalon信号的详细介绍,2023/7/5,36,Avalon从端口信号类型,Avalon信号的详细介绍,2023/7/5,37,Avalon
15、主端口信号类型,Avalon信号的详细介绍,2023/7/5,38,Avalon主端口信号类型,Avalon主端口信号类型,Avalon信号的详细介绍,2023/7/5,39,Avalon信号的详细介绍,Avalon信号的完整列表总结:Avalon从端口没有任何信号是必须的Avalon主端口必须有三个信号:clk、address、waitrequest,2023/7/5,40,Avalon信号的详细介绍,Avalon信号的极性前面所述的Avalon信号类型都是高电平有效的Avalon接口规范也提供低电平有效的信号类型,在相应的信号类型名后添加”_n”表示。,2023/7/5,41,Avalon
16、信号的详细介绍,Avalon信号的命名规则Avalon接口规范没有对Avalon外设的信号指定命名规则Avalon外设的信号的名字可以与信号类型名相同,也可以遵循系统级的命名规则,2023/7/5,42,Avalon信号的详细介绍,Avalon信号的时序说明Avalon接口是一个同步的协议:1)Avalon主端口和从端口都与Avalon交换架构提供的时钟CLK同步;2)所有的传输都与Avalon交换架构的时钟CLK同步,并在时钟CLK上升沿启动。,同步不意味所有的信号都是时序信号,Avalon外设只对CLK的边沿敏感,对其他信号的边沿不敏感,Avalon接口没有固定的或最高的性能。接口是同步的
17、,可以被交换架构提供的任意频率的时钟驱动。最高性能取决于外设的设计和系统的实现。不同于传统的共享总线实现的规范,Avalon接口没有指定任何的物理和电气特性。,2023/7/5,43,Avalon信号的详细介绍,Avalon信号的传输属性不同的Avalon端口具有不同的传输能力,Avalon接口规范定义了Avalon端口支持的一套传输属性:等待周期:固定(只对从端口)或可变建立和保持时间:只对从端口流水线:固定或可变的延迟突发三态,2023/7/5,44,Avalon信号的详细介绍,Avalon信号的传输属性1)一个特定的Avalon端口可以支持一个或多个传输属性,取决于外设的设计2)使用一个
18、特定的端口属性产生的影响:改变特定信号的行为、需要一个或多个的信号类型来实现该属性3)主从端口对的主端口和从端口可以有不同的传输属性。Avalon交换架构同主/从端口通信使用相应端口指定的属性:Avalon外设可以独立于系统中其它外设进行设计,2023/7/5,45,Avalon从端口传输,Avalon从端口信号从端口读传输从端口写传输,基本读传输,具有固定可变等待周期的读传输,具有建立时间和固定等待周期的读传输,基本写传输,具有固定可变等待周期的写传输,具有建立时间和保持时间的写传输,2023/7/5,46,Avalon从端口传输,Avalon从端口信号从端口传输常用的信号:1)addres
19、s信号 2)readdata、writedata信号 3)chipselect、read、write信号4)byteenable、writebyteenable信号 5)begintransfer信号6)irq、reset、clk、waitrequest信号,2023/7/5,47,32位的从端口byteenable信号,Avalon从端口传输,Byteenable的每一位对应writedata的一个字节段,2023/7/5,48,Avalon从端口传输,从端口读传输,基本读传输,具有固定可变等待周期的读传输,具有建立时间和固定等待周期的读传输,2023/7/5,49,Avalon从端口传输,
20、从端口基本读传输从端口基本读传输由Avalon交换架构发起,从Avalon从端口传输一个数据单元到Avalon交换架构。传输在一个时钟周期内完成。,2023/7/5,50,从端口基本读传输只适用于异步从外设,如异步存储器,只要外设被选中和/或地址发生了变化,外设就必须立刻返回数据。readdata信号线必须在下一个时钟上升沿之前保持稳定。,2023/7/5,51,Avalon从端口传输,从端口读传输,基本读传输,具有固定可变等待周期的读传输,具有建立时间和固定等待周期的读传输,2023/7/5,52,Avalon从端口传输,具有固定/可变等待周期的从端口读传输等待周期延长读传输的时间,允许从端
21、口使用一个或多个时钟周期来捕获地址和/或返回有效的readdata,但是等待周期会影响从端口的吞吐量。,2023/7/5,53,具有一个等待周期的从端口读传输时序图,具有一个等待周期的从端口读传输通常用于片内同步外设具有多个等待周期的从端口读传输与一个等待周期的情况类似,2023/7/5,54,(A)第一个周期在clk的上升沿开始。(B)Avalon交换架构发出地址和read信号。(C)Avalon交换架构对地址进行译码,然后驱动chipselect信号。(D)从端口在下一个clk的上升沿前置waitrequest信号有效。(E)Avalon交换架构在clk的上升沿采样waitrequest,
22、waitrequest是有效的,所以在此时钟沿 readdata没被捕获。(F)waitrequest可能会持续一个不确定数目的周期。(G)从端口提供有效的readdata。(H)从端口置waitrequest无效。(I)Avalon交换架构在下一个clk的上升沿捕获readdata,读传输就此结束。下一个周期在此开始,另一次传输也可由此开始。,具有可变等待周期的从端口读传输时序图,可变等待周期采用waitrequest信号实现,2023/7/5,55,Avalon从端口传输,从端口读传输,基本读传输,具有固定可变等待周期的读传输,具有建立时间和固定等待周期的读传输,2023/7/5,56,A
23、valon从端口传输,具有建立时间和固定等待周期的从端口读传输一些片外异步外设,在发出read信号之前,需要地址和chipselect信号先稳定一段时间,具有建立时间的Avalon读传输可以满足建立时间的要求。,2023/7/5,57,具有建立时间和固定等待周期的从端口读传输,(A)传输在clk的上升沿开始,第一个(也是唯一的)建立时间的周期在此开始。(B)Avalon交换架构发出有效的address和byteenable,但保持read无效。(C)Avalon交换架构对地址译码,并发出chipselect信号。(D)建立时间的周期在 clk的上升沿结束,等待周期开始。(E)Avalon交换架
24、构置read有效。(F)clk的上升沿标志等待周期的结束。(G)从端口提供有效的readdata。(H)Avalon交换架构在clk的上升沿捕获readdata,传输就此结束。下一个周期开始,另一次传输也可以开始。,端口读传输和写传输的建立时间必须相同建立时间和可变等待周期不能同时采用,2023/7/5,58,Avalon从端口传输,从端口写传输,基本写传输,具有固定可变等待周期的写传输,具有建立时间和保持时间的写传输,2023/7/5,59,Avalon从端口传输,从端口基本写传输从端口基本写传输由Avalon交换架构发起,传输需要一个时钟周期。若writedata的宽度大于一个字节,使用b
25、yteenable来实现对writedata的特定字节进行写操作。如果从端口没有使用byteenable,则所有的字节段在传输期间都是使能的。,2023/7/5,60,(A)第一个周期在clk的上升沿开始。(B)Avalon交换架构发出有效的writedata、address、byteenable和write信号。(C)Avalon交换架构对地址译码,并且发送chipselect给从端口。(D)从端口在clk的上升沿捕获writedata、address、write、byteenable和chipselect。写传输结束。下一个周期开始,另一次传输也可以开始。,从端口基本写传输,从端口基本写传
26、输适用于片内同步外设,2023/7/5,61,Avalon从端口传输,从端口写传输,基本写传输,具有固定可变等待周期的写传输,具有建立时间和保持时间的写传输,2023/7/5,62,Avalon从端口传输,具有固定/可变等待周期的从端口写传输等待周期延长写传输的时间,允许从端口使用一个或多个时钟周期来捕获地址和writedata,但是等待周期会影响从端口写传输的吞吐量。,2023/7/5,63,具有固定等待周期的从端口写传输,(A)第一个周期在clk的上升沿开始。(B)来自Avalon交换架构的writedata、address、byteenable和write有效。.(C)Avalon交换架
27、构对地址译码,发出chipselect。(D)第一个等待周期在clk的上升沿结束,所有来自Avalon交换架构的信号保持不变。(E)从端口在clk的上升沿或上升沿之前捕获writedata、address、byteenable、write和chipselect,写传输结束。下一个周期开始,另一次传输也可开始。,2023/7/5,64,具有可变等待周期的从端口写传输,(A)第一个周期在clk的上升沿开始。(B)来自Avalon交换架构的address、writedata、byteenable和write 信号有效。(C)Avalon交换架构对地址译码,然后发出chipselect。(D)外设在下
28、一个clk的上升沿之前置waitrequest有效。(E)Avalon交换架构在clk的上升沿采样waitrequest,如果waitrequest有效,周期成为等待周期,address、writedata、byteenable、write和chipselect保持不变。(F)waitrequest可能保持任意多个周期有效。(G)从端口捕获数据。(H)从端口置waitrequest无效。(I)写传输在下一个clk的上升沿结束。下一个周期可进行另一次的传输。,可变等待周期采用waitrequest信号实现waitrequest信号从端口发出,2023/7/5,65,Avalon从端口传输,从端口
29、写传输,基本写传输,具有固定可变等待周期的写传输,具有建立时间和保持时间的写传输,2023/7/5,66,Avalon从端口传输,具有建立时间和保持时间的从端口写传输建立时间和保持时间用于:需要address、byteenable、writedata和chipselect信号在write脉冲之前和/或之后保持几个周期稳定的片外外设,2023/7/5,67,具有建立和保持时间的从端口写传输,(A)第一个周期在clk的上升沿开始。(B)Avalon交换架构发出address、byteenable和writedata信号,但保持write信号无效。(C)Avalon交换架构对地址译码,然后发出chipselect信号。(D)clk的上升沿标志建立时间的周期结束。(E)Avalon交换架构置write有效。(F)Avalon交换架构在下一个clk的上升沿之后置write无效,保持周期开始,address、byteenable、writedata和chipselect保持不变。(G)Avalon交换架构在下一个clk的上升沿置address、byteenable、writedata和chipselect无效,写传输结束。,建立时间,保持时间,
链接地址:https://www.31ppt.com/p-5416220.html