Avalon总线协议

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属性

名称默认值值范围说明
clockRate0

表示Clock Sink接口的频率(Hz)。

Clock Source信号为从一个组件中输出一个时钟信号,具有三个属性:

名称默认值值范围说明
associateDirectClockN/A输入时钟名直接驱动该时钟的时钟名称
clockRate0表示驱动时钟输出的频率(Hz)
clockRateKnownfalsetrue,false指示时钟频率是否已知

2.Avalon复位接口

   Avalon时钟复位接口分为Reset Sink信号Reset Source信号

Reset Sink信号包含两个信号reset/reset_nreset_req。其中reset/reset_n为必需的输入,能够将接口或组件的内部逻辑复位成用户定义的状态,复位的同步属性由synchronousEdges参数定义。reset_req是一个可选信号,复位信号的早期指示,用来禁止时钟使能或屏蔽片上存储器的地址总线,在异步复位输入置位时防止地址转变。其属性为:

名称默认值值范围说明
associatedClockN/A时钟名称与此接口同步的时钟的名称。如果synchronousEdges的值为DEASSERT或者BOTH,那么需要使用此属性。
synchronousEdgesDEASSERT

NONE

DEASSERT

BOTH

表明复位输入所需要的同步类型。

NONE    --不需要同步

DEASSERT  --复位是异步的,取消复位是同步的

BOTH  --复位和取消复位是异步的

Reset Source信号包含reset/reset_nreset_req,作用与上信号相同,但属性不同。

名称默认值值范围说明
associatedClockN/A时钟名称与此接口同步的时钟的名称。如果synchronousEdges的值为DEASSERT或者BOTH,那么需要使用此属性。
associatedDirectResetN/A复位名称复位输入的名称,此复为输入通过one-to-one链路直接驱动此复位源。
associatedResetSinksN/A复位名称指定复位输入,使复位源对复位进行复位。
synchronousEdgesDEASSERT

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

本文链接:https://my.lmcjl.com/post/3045.html

展开阅读全文

4 评论

留下您的评论.