跳至主要內容

接口协议

DarentTheYang...大约 3 分钟数字电路接口

尽管这只是一个杂项,但我仍然认为它非常重要,重要程度与数字验证、后端验证这些一样高。数字电路验证时需要与DUT直接打交道的。如果不能对系统级的DUT进行验证,那么验证是不完全的。数字电路被封装成系统后,往往都需要以某种通信协议去验证。所以,这里列出了一些常见的接口,以及它们的接口协议。注意,一定要区分接口界面和接口协议,这是不同的两个概念。

接口协议

AMBA(Advanced Microcontroller Bus Architecture )

AHB(Advanced High-Performance Bus)

特性:

  1. 高速总线,高性能
  2. 2级流水操作
  3. 可支持多个总线主设备(16个master,一般不会太多)
  4. 支持burst传输(速度快、效率高的传输手段)
  5. 总线带宽可以是:8、16、32、64、128bits
  6. 上升沿触发操作
  7. 对于一个新设计,建议使用AHB。

AHB组成部分

  1. AHB主设备(master)

    初始化(发起)一次读操作或者写操作

    某一时刻只允许一个主设备使用总线

    一般,主设备是:CPU、DMA、DSP、LCDC(LCD Controller)等

  2. AHB从设备(slave)

    响应一次读操作或者写操作

    通过地址来选择使用哪一个从设备

    外部存储器控制器EMI、APB Bridge

  3. AHB仲裁器(arbiter)

    仲裁器能允许某一个主设备控制总线,防止上升沿到来时,多个设备同时发起使用总线请求出现冲突。

    AMBA协议中没有定义仲裁算法,可以用各种仲裁算法。比如排序仲裁算法(轮询仲裁),将刚使用过总线的设备的优先级调至最低;比如优先仲裁方法,让某个设备的优先级一直处于最高,然后让其他设备使用其他仲裁算法。

  4. AHB译码器(decoder)

    当主设备传来地址信息时,需要通过地址译码器来确定主设备选择的是哪一个从设备。每个从设备都有一个或者一段地址(地址空间),称为AHB地址映射(MAP)。地址映射要由AHB译码器提前设定。

    当译码器确定主设备选择的从设备后,把这个从设备的HSEL信号拉高。

APB(Advanced Peripheral Bus)

  1. 低速总线,低功耗
  2. 接口简单
  3. 在Bridge中所存地址信号和控制信号
  4. 适用于多种外设
  5. 上升沿触发

APB的组成部分

  1. AHB2APB bridge

    用来所存所有的地址、数据和控制信号

    进行二级译码来产生APB从设备选择信号

  2. APB从设备

    除了AHB2APB Bridge,APB上所有其他模块都是从设备

AMBA协议的其他相关问题

AMBA协议与工艺无关

没有定义电气特性

仅在时钟周期级定义时序

ASB(Advanced System Bus)

AXI(Advanced eXtensible Interface)

IIC(I2C)

CAN

VGA

PCIe

这个栏目立项比较早,还没来得及继续更新。

参考文献

[1] 【AMBA总线介绍1】 https://www.bilibili.com/video/BV1Jt4y1n7B5/?share_source=copy_web&vd_source=0c5dcfa65d9ec7c6bc2287ecf5b003a0open in new window

[2]

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5