接口协议
...大约 3 分钟
尽管这只是一个杂项,但我仍然认为它非常重要,重要程度与数字验证、后端验证这些一样高。数字电路验证时需要与DUT直接打交道的。如果不能对系统级的DUT进行验证,那么验证是不完全的。数字电路被封装成系统后,往往都需要以某种通信协议去验证。所以,这里列出了一些常见的接口,以及它们的接口协议。注意,一定要区分接口界面和接口协议,这是不同的两个概念。
接口协议
AMBA(Advanced Microcontroller Bus Architecture )
AHB(Advanced High-Performance Bus)
特性:
- 高速总线,高性能
- 2级流水操作
- 可支持多个总线主设备(16个master,一般不会太多)
- 支持burst传输(速度快、效率高的传输手段)
- 总线带宽可以是:8、16、32、64、128bits
- 上升沿触发操作
- 对于一个新设计,建议使用AHB。
AHB组成部分
AHB主设备(master)
初始化(发起)一次读操作或者写操作
某一时刻只允许一个主设备使用总线
一般,主设备是:CPU、DMA、DSP、LCDC(LCD Controller)等
AHB从设备(slave)
响应一次读操作或者写操作
通过地址来选择使用哪一个从设备
外部存储器控制器EMI、APB Bridge
AHB仲裁器(arbiter)
仲裁器能允许某一个主设备控制总线,防止上升沿到来时,多个设备同时发起使用总线请求出现冲突。
AMBA协议中没有定义仲裁算法,可以用各种仲裁算法。比如排序仲裁算法(轮询仲裁),将刚使用过总线的设备的优先级调至最低;比如优先仲裁方法,让某个设备的优先级一直处于最高,然后让其他设备使用其他仲裁算法。
AHB译码器(decoder)
当主设备传来地址信息时,需要通过地址译码器来确定主设备选择的是哪一个从设备。每个从设备都有一个或者一段地址(地址空间),称为AHB地址映射(MAP)。地址映射要由AHB译码器提前设定。
当译码器确定主设备选择的从设备后,把这个从设备的HSEL信号拉高。
APB(Advanced Peripheral Bus)
- 低速总线,低功耗
- 接口简单
- 在Bridge中所存地址信号和控制信号
- 适用于多种外设
- 上升沿触发
APB的组成部分
AHB2APB bridge
用来所存所有的地址、数据和控制信号
进行二级译码来产生APB从设备选择信号
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=0c5dcfa65d9ec7c6bc2287ecf5b003a0
[2]
Powered by Waline v2.15.5