Avalon总线主要用于片内处理器与外设,常用于高速数据传输流、读写寄存器和存储器、控制片外器等。
Avalon 总共有七种接口:
- Avalon Clock Interface, Avalon时钟接口 -- 驱动或接收时钟信号的接口
- Avalon Reset Interface, Avalon复位接口 -- 驱动或接收复位信号的接口
- Avalon Memory Mapped Interface(Avalon-MM), Avalon存储器映射接口 --基于地址的读/写接口,是主-从连接的典型接口。
- Avalon Streaming Interface(Avalon-ST), Avalon Streaming接口 --支持单向数据流的接口,包括多数据流、数据包和DSP数据的传输。
- Avalon Conduit Interface, Avalon Conduit接口 --适用于不适合其他Avalon类型的单个/多个信号。使用该信号可以将信号导出到顶层SOPC系统,这样就可以将它连接到设计的其他模块。
- Avalon Tri-State Conduit Interface(Avalon-TC), Avalon三态Conduit接口 -- 与片外设备的接口。
- Avalon Intterrupt Interface, Avalon中断接口 --允许组件向其他组件发送信号的接口。
每种接口都有自身的信号,其中有一些信号是必须的,而有一些信号则是可选的。
Avalon接口通过属性描述它们的行为,每种接口类型的规范定义了所有接口的属性和默认值。
1.Avalon时钟接口
Avalon时钟接口定义了组件使用的时钟,分为两个信号:Clock Sink信号和Clock Source信号
Clock Sink信号为其他接口和内部逻辑提供时钟和时序参考,有clockRate属性:
名称 | 默认值 | 值范围 | 说明 |
clockRate | 0 | 表示Clock Sink接口的频率(Hz)。 |
Clock Source信号为从一个组件中输出一个时钟信号,具有三个属性:
名称 | 默认值 | 值范围 | 说明 |
associateDirectClock | N/A | 输入时钟名 | 直接驱动该时钟的时钟名称 |
clockRate | 0 | 表示驱动时钟输出的频率(Hz) | |
clockRateKnown | false | true,false | 指示时钟频率是否已知 |
2.Avalon复位接口
Avalon时钟复位接口分为Reset Sink信号和Reset Source信号。
Reset Sink信号包含两个信号reset/reset_n和reset_req。其中reset/reset_n为必需的输入,能够将接口或组件的内部逻辑复位成用户定义的状态,复位的同步属性由synchronousEdges参数定义。reset_req是一个可选信号,复位信号的早期指示,用来禁止时钟使能或屏蔽片上存储器的地址总线,在异步复位输入置位时防止地址转变。其属性为:
名称 | 默认值 | 值范围 | 说明 |
associatedClock | N/A | 时钟名称 | 与此接口同步的时钟的名称。如果synchronousEdges的值为DEASSERT或者BOTH,那么需要使用此属性。 |
synchronousEdges | DEASSERT | NONE DEASSERT BOTH | 表明复位输入所需要的同步类型。 NONE --不需要同步 DEASSERT --复位是异步的,取消复位是同步的 BOTH --复位和取消复位是异步的 |
Reset Source信号包含reset/reset_n和reset_req,作用与上信号相同,但属性不同。
名称 | 默认值 | 值范围 | 说明 |
associatedClock | N/A | 时钟名称 | 与此接口同步的时钟的名称。如果synchronousEdges的值为DEASSERT或者BOTH,那么需要使用此属性。 |
associatedDirectReset | N/A | 复位名称 | 复位输入的名称,此复为输入通过one-to-one链路直接驱动此复位源。 |
associatedResetSinks | N/A | 复位名称 | 指定复位输入,使复位源对复位进行复位。 |
synchronousEdges | DEASSERT | NONE DEASSERT BOTH | 表明复位输入所需要的同步类型。 NONE --不需要同步 DEASSERT --复位是异步的,取消复位是同步的 BOTH --复位和取消复位是异步的 |
3.Avalon存储器映射接口
Avalon存储器映射接口(Avalon-MM)主要用于实现主-从(Master-Slave)组件的读写接口,微处理器、存储器、UART、DMA、定时器是常用的包含Avalon存储器映射接口的组件。
Avalon MM master通过内部互联Interconnect连接Avalon MM slave,就是主连接从,
至于其他设备,如uart,一端连接到桥上,另一端连接到真实的串口。
两个基本概念:
传输(Transfer) -- 传输是对一个字或一个或多个数据符号的读或写操作。传输发生在Avalon-MM接口和互连(interconnect)之间。传输需要一个或多个时钟周期才能完成。master和slave都是传输的一部分,Avalon-MM master启动传输,Avalon-MM slave做出相应。
Master-slave pair --指传输中涉及的master接口和slave接口。在传输过程中,主接口控制和数据信号通过互连结构并与从接口交互。
一些时序说明:Avalon 总线 时序 介绍
一些信号和属性:avalon总线MM主设备、avalon总线MM从设备
发现别人已经写的很好了,一下子就想偷懒不想写了,主要内容太多了嘿嘿 0.0