




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章Avalon总线规范 4 1Avalon总线简介总线的定义 1 总线最初是指计算机系统中各种信号线的集合 是计算机各部件之间传送数据 地址和控制信息的公共通路 例如PCI总线 2 随着电子计算机技术和通信技术的发展 总线的概念也被更广泛的使用 现在总线一词不仅用于表示计算机系统中的信号线的集合 也用于表示各种通信系统 例如现场总线 USB总线 485总线 3 简而言之 可以这样认为 总线就是一种通信规范以及规范的实现方法 不论是计算机系统还是通信领域 计算机总线的分类 1 按相对于CPU或其它芯片的位置可分为 片内总线 片外总线 2 按总线的功能可分为 地址总线 数据总线 控制总线 3 按总线的层次结构可分为 CPU总线 存储总线 系统总线 外部总线 Avalon总线Avalon总线由ALTERA公司提出 用于在基于FPGA的片上系统中连接片内处理器和片内外设的总线结构 连接到Avalon总线的设备分为主从设备 并各有其工作模式 Avalon总线本身是一个数字逻辑系统 它在实现 信号线汇接 这一传统总线功能的同时 增加了许多内部功能模块 引用了很多新的方法 比如从端仲裁模式 多主端工作方式 延时数据传输 这些功能使得在可编程逻辑器件中可以灵活的实现系统增减和IP复用 Avalon总线是一个设计用于在基于FPGA的片上系统中连接片内处理器和片内外设的总线结构 设计这样一个系统总线结构 主要考虑了一下三个目标 1 简化片上系统的互联规则 提供一种易用的接口 2 为总线逻辑优化节省系统资源 3 同步工作模式 Avalon总线是用于处理器与片内 外外设互连的技术 这就决定了Avalon总线具有以下的一些特点 简单性 易于理解 易于使用 占用资源少 减少对FPGA片内资源的占用 高性能 Avalon总线可以在每一个总线时钟周期完成一次数据传输 专用的地址总线 数据总线和控制总线 这样Avalon总线模块和片上逻辑之间的接口的得以简化 Avalon外设不需要识别数据和地址周期 tobecontinued continue支持高达1024位的数据宽度 支持不是2的偶数幂的数据宽度 支持同步操作 所有Avalon外设的接口与Avalon交换架构的时钟同步 不需要复杂的握手 应答机制 简化了Avalon接口的时序行为 而且便于集成高速外设 支持动态地址对齐 可以处理具有不同数据宽度的外设间的数据传输 Avalon总线的自动地址对齐功能将自动解决数据宽度不匹配的问题 不需要设计者的干预 Avalon总线规范是一个开放的标准 用户可以在未经授权的情况下使用Avalon总线接口来自定义外设 Avalon总线结构采用交换式的总线结构 与传统的总线结构有着显著的优点 采用Avalon交换架构 每个总线主机均有自己的专用互联 总线主机只需抢占共享从机 而不是总线本身 每当系统加入模块或者外设接入优先权改变时 SOPCBuilder利用最少的FPGA资源 产生新的最佳Avalon交换架构 Avalon交换架构支持多种系统体系结构 如单主机 多主机系统 可实现数据在外设与性能最佳数据通道之间的无缝传输 Avalon交换架构同样支持用户所设计的片外处理器和外设 Avalon交换式总线结构支持数据总线的复用 等待周期的产生 外设的地址对齐以及高级的交换式总线传输 Avalon总线在SOPCBuilder中添加外设之后会自动生成 并且会随着外设的添加和删减而自动调整 最终的Avalon总线结构是针对外设配置而生成的一个最佳结构 所以对于用户来说 如果只是使用已经定制好的符合Avalon总线规范的外设来构建系统 不需要了解Avalon总线规范的细节 但是对于要自己设计外设的用户来说 开发的外设必须要符合相应的Avalon总线的规范 否则设计的外设也无法集成到系统中去 Altera提供了Avalon的接口规范 供设计者开发自己的外设和更好地使用外设 该规范向读者描述了诸如微处理器 存储器 UART等主从外设的基于地址的读 写接口的基本知识 Avalon接口规范给出了主从外设间的端口连接关系 通信的时序关系 支持的多种传输方式 设计者可以不去了解Avalon交换结构的实现细节 只要掌握其同外设相连接的接口 4 2Avalon总线基本概念 4 2 1Avalon外设和交换架构一个基于Avalon接口的系统会包含很多功能模块 这些功能模块就是Avalon存储器映射外设 通常简称Avalon外设 所谓存储器映射外设是指外设和存储器使用相同的总线来寻址 并且CPU使用访问存储器的指令也用来访问I O设备 为了能够使用I O设备 CPU的地址空间必须为I O设备保留地址 Avalon外设包括存储器 处理器 UART PIO 定时器和总线桥等 还可以有用户自定义的Avalon外设 用户自定义的外设能称之为Avalon外设 要有连接到Avalon结构的Avalon信号 Avalon外设分为主外设和从外设 能够在Avalon总线上发起总线传输的外设是主外设 从外设只能响应Avalon总线传输 而不能发起总线传输 主外设至少拥有一个连接在Avalon交换架构上的主端口 主外设也可以拥有从端口 使得该外设也可以响应总线上其它主外设发起的总线传输 将Avalon外设连接起来 构成一个大的系统的片上互连逻辑就是Avalon交换架构 Avalon交换架构是一种可自动调整的结构 随着设计者不同设计而做出最优的调整 可以看到外设和存储器可以拥有不同的数据宽度 并且这些外设可以工作在不同的时钟频率 Avalon交换架构支持多个主外设 允许多个主外设同时在不同的从外设进行通信 增加了系统的带宽 这些功能的实现都是靠Avalon交换架构中的地址译码 信号复用 仲裁 地址对齐等逻辑实现的 本章重点讨论Avalon外设和Avalon交换架构之间的互连 主要研究接口级的行为 不关注其内部实现 4 2Avalon总线基本概念 4 2 2Avalon信号Avalon接口定义了一组信号类型 片选 读使能 写使能 地址 数据等 用于描述主 从外设上基于地址的读写接口 Avalon外设只使用和其内核逻辑进行接口的必需的信号 而省去其他会增加不必要的开销的信号 4 2 2Avalon信号 Avalon信号的可配置特性是Avalon接口与传统总线接口的主要区别之一 Avalon外设可以使用一小组信号来实现简单的数据传输 或者使用更多的信号来实现复杂的传输类型 例如ROM接口只需要地址 数据和和片信号就可以了 而高速的存储控制器可能需要更多的信号来支持流水线的突发传输 Avalon的信号类型为其它的总线接口提供了一个超集 例如大多数分离的SRAM ROM和Flash芯片上的引脚都能映射成Avalon信号类型 样就能使Avalon系统直接与这些芯片相连接 类似地 大多数Wishbone的接口信号也可以映射为Avalon信号类型 使得在Avalon系统中集成Wishbone的内核非常简单 4 2 3主端口和从端口 Avalon端口就是完成通信传输的接口所包含的一组Avalon信号 Avalon端口分为主端口和从端口 主端口可以在Avalon总线上发起数据传输 目标从端口在Avalon总线上响应主端口发起的数据传输 一个Avalon外设可能有一个或多个主端口 一个或多个从端口 也可能既有多个主端口 又有多个从端口 Avalon的主端口和从端口之间没有直接的连接 主 从端口都连接到Avalon交换架构上 由交换架构来完成信号的传递 在传输过程中 主端口和交换架构之间传递的信号与交换架构和从端口之间传递的信号可能有很大的不同 所以 在讨论Avalon传输的时候 必须区分主从端口 4 2 4传输 传输是指在Avalon端口和Avalon交换架构之间的数据单元的读 写操作 Avalon传输一次可以传输高达1024位的数据 需要一个或多个时钟周期来完成 在一次传输完成之后 Avalon端口在下一个时钟周期可以进行下一次的传输 Avalon的传输分成两个基本的类别 主传输和从传输 Avalon主端口发起对交换架构的主传输 Avalon从端口响应来自交换架构的传输请求 传输是和端口相关的 主端口只能执行主传输 从端口只能执行从传输 4 2 5主从端口对 主从端口对是指在数据传输过程中 通过Avalon交换架构相连接起来的主端口和从端口 在传输过程中 主端口的控制和数据信号通过Avalon交换架构和从端口相交互 4 2 6周期 周期是时钟的基本单位 定义为特定端口的时钟信号的一个上升沿到下一个上升沿之间的时间 完成一次传输最少要一个时钟周期 4 3Avalon信号 Avalon接口规范定义了Avalon外设使用的信号类型 如地址 数据 片选信号等等 根据外设逻辑接口的需求 Avalon外设可以使用任何类型的Avalon信号 Avalon接口规范还定义了每种信号类型的行为 Avalon端口上的信号和信号类型是一一对应的 Avalon主 从端口的每一个信号必定属于某类的Avalon信号类型 一个Avalon端口每一种信号类型只能有一个信号实例 根据端口的属性 可以将Avalon信号类型分为主信号或者从信号 有些信号在主端口和从端口的接口上都存在 但是信号的行为是不相同的 下图给出了一个16位的通用I O输出外设 这个简单的Avalon外设只需响应接收数据的传输请求 因此该外设只使用了写传输的信号 而没有读传输的信号 4 3 1信号类型的完整列表 构成从端口和主端口的接口的信号类型每一类型的信号的说明包括 信号类型 信号可能的宽度 信号的方向 从外设的角度看 该信号在端口上是否必不可少 必需性 各种类型的信号的功能和特殊的使用要求的简单描述 Avalon从端口信号类型 Avalon从端口信号类型 Avalon主端口信号类型 Avalon主端口信号类型 4 3 2信号极性 表中的信号类型都是高电平有效 Avalon接口也提供每个信号类型的低电平有效的版本 在信号类型名后添加 n来表示 例如irq n read n等 这对和那些低电平有效的片外逻辑相接口时非常有用 4 3 3 信号命名规则 Avalon接口规范没有对Avalon外设上的信号指定命名的规则 Avalon外设上的信号的名字可以与信号类型名相同 或者也遵循系统级的命名规则 在本章中 讨论Avalon传输的时候 信号名和信号类型名是相同的 4 3 4Avalon信号时序说明 Avalon接口是一个同步的协议 每个Avalon端口都与Avalon交换架构提供的时钟同步 所有的传输都与Avalon交换架构的时钟同步发生 并在时钟上升沿启动 一个同步的接口并不意味着所有的信号都是时序的信号 Avalon的信号可以是基于同步于系统交换结时钟的寄存器的输出的组合逻辑 所以除了clk信号之外 Avalon外设对其它的Avalon信号边沿不敏感 对任何的同步设计来说 Avalon外设必须只响应在时钟上升沿达到稳定状态的信号 并且在时钟上升沿产生稳定的输出 也能够将片外的异步外设 比如片外存储设备 同系统交换架构相接口 但需要一些设计上的考虑 由于Avalon交换架构的同步操作 Avalon信号只在Avalon接口时钟的时间间隔发生翻转 而且 如果异步的信号直接同Avalon交换架构的输入相连 设计者要确保信号在时钟的上升沿是稳定的 Avalon接口没有固定的或者最高的性能 接口是同步的 并且可以被交换架构提供的任意频率的时钟驱动 最高性能取决于外设的设计和系统的实现 不同于传统的共享总线实现的规范 Avalon接口没有指定任何的物理和电气特性 4 3 5传输属性 不是所有的Avalon主 从端口都使用相同的信号类型 因此不同的Avalon端口具有不同的传输能力 Avalon接口规范定义了一套传输属性 一个特定的Avalon主 从端口可以支持一个或多个传输属性 这取决于外设的设计 外设支持的传输属性在设计时确定 在传输过程中不会改变 Avalon接口规范定义了Avalon端口支持的如下的传输属性 等待周期 固定或可变 只对从端口 流水线 固定或可变的延迟 建立和保持时间 只对从端口 突发 三态 基本传输提供了一个参照点 来描述每一个属性对端口和信号行为的影响 使用一个特定的端口属性会产生下面的影响 改变特定信号的行为 需要一个或多个的信号类型来实现该属性 Avalon端口可以同时支持多个属性 例如 一个Avalon从端口可能支持具有可变等待周期的流水线传输 一些属性不能和其它属性共同使用 这些限制在传输属性的讨论中会说明 一个主从端口对中的主端口和从端口可以有不同的传输属性 Avalon交换架构同主 从端口通信时 使用该端口指定的属性 并且必要时要进行从主端口到从端口的属性转换 这样 Avalon外设可以独立于系统中其它的外设属性进行设计 4 4从端口传输 4 4 1从端口信号详述所有从端口传输都很重要的信号1 address信号2 readdata和writedata信号3 chipselect read和write信号4 byteenable和writebyteenable5 begintransfer信号 32位的从端口使能信号 4 4 2从端口读传输 4 4 2 1从端口基本读传输基本的读传输是其它的Avalon读传输的参考 基本的读传输没有传输规范中的任何的传输属性 从端口基本读传输由Avalon交换架构发起 从Avalon从端口传输一个数据单元 外设的数据端口全宽度 到Avalon交换架构 传输在一个时钟周期内完成 从端口基本读传输 从端口基本读传输只适用于异步从外设 如异步存储器 只要外设被选中和 或地址发生了变化 外设就必须立刻返回数据 readdata信号线必须在下一个时钟上升沿之前保持稳定 同步外设要锁存它们的输入和输出信号 必须要用到等待周期和 或流水线属性 片上的Avalon外设通常使用同步的 锁存的接口 该接口至少需要一个周期用来捕获地址 4 4 2 2等待周期等待周期延长读传输的时间 允许从端口使用一个或多个的时钟周期来捕获地址和 或返回有效的readdata 但是等待周期会影响从端口的吞吐量 例如 一个持续的序列采用0等待周期的传输 可以达到最大的吞吐量 一个周期一次传输 如果传输采用具有一个等待周期的传输 最大的吞吐量为每两个周期一次传输 从端口读传输有两种类型的等待周期 固定的和可变的 具有一个等待周期的从端口读传输时序图 具有固定等待周期的从端口读传输 具有可变等待周期的从端口读传输 A 第一个周期在clk的上升沿开始 B Avalon交换架构发出地址和read信号 C Avalon交换架构对地址进行译码 然后驱动chipselect信号 D 从端口在下一个clk的上升沿置waitrequest信号有效 E Avalon交换架构在clk的上升沿采样waitrequest waitrequest是有效的 所以在此时钟沿readdata没被捕获 F waitrequest可能会持续一个不确定数目的周期 G 从端口提供有效的readdata H 从端口置waitrequest无效 I Avalon交换架构在下一个clk的上升沿捕获readdata 读传输就此结束 下一个周期在此开始 另一次传输也可由此开始 4 4 2 3建立时间一些外设 如大多数常用的片外异步外设 在发出read信号之前 需要地址和chipselect信号先稳定一段时间 具有建立时间的Avalon传输可以满足上述的建立时间的要求 具有建立时间的读传输所使用的信号和基本读传输使用的信号相同 不同点只是在信号的时序 具有建立时间和固定等待周期的从端口读传输 A 传输在clk的上升沿开始 第一个 也是唯一的 建立时间的周期在此开始 B Avalon交换架构发出有效的address和byteenable 但保持read无效 C Avalon交换架构对地址译码 并发出chipselect信号 D 建立时间的周期在clk的上升沿结束 等待周期开始 E Avalon交换架构置read有效 F clk的上升沿标志等待周期的结束 G 从端口提供有效的readdata H Avalon交换架构在clk的上升沿捕获readdata 传输就此结束 下一个周期开始 另一次传输也可以开始 4 4 3从端口写传输4 4 3 1从端口基本写传输从端口基本写传输是其它从端口写传输的基础 它不含Avalon接口规范允许的任何传输属性 从端口基本写传输由Avalon交换架构发起 并由Avalon交换架构到从端口传输一个数据单元 传输需要一个时钟周期 如果writedata的宽度大于一个字节 使用byteenable来实现对writedata内的特定字节进行写操作 如果从端口没有使用byteenable 则所有的字节段在传输期间都是使能的 从端口基本写传输 A 第一个周期在clk的上升沿开始 B Avalon交换架构发出有效的writedata address byteenable和write信号 C Avalon交换架构对地址译码 并且发送chipselect给从端口 D 从端口在clk的上升沿捕获writedata address write byteenable和chipselect 写传输结束 下一个周期开始 另一次传输也可以开始 从端口基本写传输 4 4 3 2等待周期从端口使用等待周期来延长传输 从端口使用一个或多个时钟周期来捕获address和writedata 从端口写传输使用等待周期会影响从端口写传输的吞吐量 具有固定等待周期的从端口写传输 A 第一个周期在clk的上升沿开始 B 来自Avalon交换架构的writedata address byteenable和write有效 C Avalon交换架构对地址译码 发出chipselect D 第一个等待周期在clk的上升沿结束 所有来自Avalon交换架构的信号保持不变 E 从端口在clk的上升沿或上升沿之前捕获writedata address byteenable write和chipselect 写传输结束 下一个周期开始 另一次传输也可开始 具有可变等周期的从端口写传输 具有可变等待周期的从端口写传输 A 第一个周期在clk的上升沿开始 B 来自Avalon交换架构的address writedata byteenable和write信号有效 C Avalon交换架构对地址译码 然后发出chipselect D 外设在下一个clk的上升沿之前置waitrequest有效 E Avalon交换架构在clk的上升沿采样waitrequest 如果waitrequest有效 周期成为等待周期 address writedata byteenable write和chipselect保持不变 F waitrequest可能保持任意多个周期有效 G 从端口捕获数据 H 从端口置waitrequest无效 I 写传输在下一个clk的上升沿结束 下一个周期可进行另一次的传输 4 4 3 3具有建立时间和保持时间的写传输建立和保持时间用于需要address byteenable writedata 和chipselect信号在write脉冲之前和 或之后保持几个周期稳定的片外外设 具有建立和保持时间的写传输所使用的信号与基本写传输的信号相同 不同点只是信号的时序 具有建立和保持时间的从端口写传输 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无效 写传输结束 4 5主端口传输所有主端口传输都很重要的信号waitrequest信号address信号readdata和writedata信号read和write信号byteenable信号 4 5 2主端口基本读传输主端口基本读传输是所有带传输属性Avalon主端口读传输的参考 基本读传输不具有Avalon接口规范允许的任何传输属性 基本读传输由主外设发起 从Avalon交换架构传输一个单位的数据到主端口 在最快的情况下 可以在一个周期内完成 如果readdata没准备好 Avalon交换架构发送waitrequest 暂停主端口 直到它可以发送数据 当Avalon交换架构使waitrequest失效 主端口捕获数据之后 传输结束 主端口基本读传输 A 第一个周期在clk的上升沿开始 B 主端口发出有效的address byteenable和read信号 C 在第一个周期内从Avalon交换架构返回有效的readdata D 主端口在下一个clk的上升沿捕获readdata 并且置它的所有输出无效 主端口的读传输结束 另一次传输可在下一个周期开始 A 第一个周期在clk的上升沿开始 B 主端口发出有效的address byteenable和read信号 C Avalon交换架构在下一个clk的上升沿置waitrequest有效 D 主端口在clk的上升沿接受waitrequest 这个周期称为等待周期 E 只要waitrequest有效 主端口保持其所有输出不变 F Avalon交换架构返回有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025新天际租赁合同范本
- 细菌性食物中毒说课稿-2025-2026学年中职专业课-烹饪营养与安全-中餐烹饪-旅游大类
- 3.3DNA复制方式的推测和实验证据教学设计-2023-2024学年高一下学期生物人教版(2019)必修2
- 快递加盟经营合同
- 1.13 近似数说课稿-2025-2026学年初中数学华东师大版2024七年级上册-华东师大版2024
- 6.2 多彩的职业(说课稿)九年级道德与法治下册同步高效课堂(统编版)
- 关于国庆节周记范文锦集7篇
- 中医学试题及答案
- 商业街区商铺产权交易及社区配套服务合同
- 智能家居体验店租赁及产品销售合同
- 肇庆端州正西社区评估报告
- 朝天椒栽培技术课件
- 科研伦理与学术规范-课后作业答案
- -首次执行衔接问题-行政
- 斯蒂芬金英语介绍
- 秋天的雨 省赛获奖
- JJF 1015-2014计量器具型式评价通用规范
- GB/T 8332-2008泡沫塑料燃烧性能试验方法水平燃烧法
- GB/T 38597-2020低挥发性有机化合物含量涂料产品技术要求
- GB/T 21073-2007环氧涂层七丝预应力钢绞线
- 胸痛的诊断和鉴别诊断课件整理
评论
0/150
提交评论