接口/总线/驱动
无论你是IC设计工程师、验证工程师、FPGA工程师、还是微电子相关专业的学生,对于AMBA总线一定不陌生。
随着技术迭代的发展、基于各种复用IP的SoC芯片场景被高度使用,越来越多的人开始和总线互联打交道。
你肯定听说过AMBA、AHB、APB、AXI、ACE
一、AMBA总线及其版本
AMBA的全称为Advanced Microcontroller Bus Architecture。AMBA总线协议是一套由ARM提供的互连规范,该规范标准化了各种IP之间的芯片通信机制。这些设计通常有一个或多个微处理器以及集成其他一些组件——内部存储器或外部存储器桥、DSP、DMA、加速器和各种其他外围设备,如USB、UART、PCIE、I2C等。AMBA协议的主要动机是用一种标准和高效的方法来重用这些跨多个设计的IP。ACE、CHI这些熟悉而又让人头疼的字眼。
AMBA系列历时更新五代,目前我们广泛使用和接触的就是AMBA5,在第五代协议中,CHI协议成为“最终boss”登场,难道无数工程师。
二、掌握AMBA总线的三个阶段
尽管ARM已经开源了所有的AMBA协议,所有的规范都可以从ARM的网站上免费下载。但是AMBA协议官方文档的晦涩难懂,汉化资料往往又不全,其中模块级lab也没有人提供标注解读,学习之路依旧痛苦。
一般来说,AMBA总线的学习难度分为三个阶段:
● 第一个阶段是 APB和AHB的基础阶段
● 第二个阶段是 AXI阶段
● 第三个阶段是 ACE&CHI阶段
大部分人目前对于APB和AHB的掌握程度都已然OK,对于传统的AHB2APB bridge之类的模块都能理解运用,插入一些uart接口也可以处理。
而AXI协议的理解和实战,甚至是进阶到ACE&CHI这个阶段,大部分工程师都是基于官方文档和网络上不一定靠谱的资料心得,摸着石头过河。
三、我们要学会哪些东西?
● 总线访问控制协议(ABA):ABA协议用于控制AMBA总线的访问权限,包括读、写、中断等操作。
● 地址协议(AP):AP协议定义了AMBA总线上的地址格式和寻址方式,包括全局地址、局部地址、直接寻址等。
● 数据传输协议(DP):DP协议定义了AMBA总线上的数据传输方式,包括同步传输和异步传输。
● 时序控制协议(SC):SC协议用于控制AMBA总线上的操作时序,包括时钟源、时钟分频、时序同步等。
● 使能控制协议(EC):EC协议用于控制AMBA总线的使能状态,包括总线使能、中断使能等。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !