【SystemVerilog项目实践】2.AHB-SRAMC(AHB总线协议)

本文详细介绍了AMBA2.0中的AHB(Advanced High-performance Bus)总线协议,包括其系统构成、总线互联、操作流程、信号类型、传输方式以及仲裁和响应机制。重点阐述了AHB如何通过仲裁器、译码器协调多个主设备和从设备之间的通信,支持突发传输和地址译码,以及数据总线的工作原理。此外,还讨论了地址译码、错误处理和数据传输的细节,如双周期响应和突发操作。

1、典型的AMBA 2.0系统

 2、总线互联

AMBA AHB总线协议设计使用一个中央多路选择器来选择互联,使用这个方案的所有总线主机设备按照输出地址和控制信号在输出的同时仲裁连通到哪个从机。在此基础上需要一个译码器来控制读取数据和响应多路选择器。图中显示了多路选择器互联:

三种信号分别是地址、读数据、写数据,图中有多个master和读个slave,但是总线每时每刻只能有一个mater访问一个slave,所以需要arbiter进行仲裁。具体过程就是master传输信号,包含HADDR和HWDATA,方向是从master传向slave,图中的mux通过arbiter的仲裁选择某一个master上的信号传输到相应的slave,因为每个slave的地址是唯一的所以能进行对应;HRDATA信号的传输方向是由slave到master,通过Decoder来选择某个slave的HRDATA,Decoder会做译码,返回到相应的master中。

3、AMBA AHB操作概括

前提:AMBA AHB传输开始之前master必须被授予访问总线,这个过程开始于master向仲裁器断言一个请求信号,仲裁器指示master何时能够被授予使用总线。

master:授权之后,通过驱动地址和控制信号发起AMBA AHB传输,信号包含内容为:地址、方向、传输宽度、传输类型。

slave:将数据从slave传输到master中,包含内容:地址、控制周期、数据周期,地址不长期有效,所以slave必须在传输地址时采样地址,可以通过HREADY信号延长采样数据的周期,为时候,允许从机有额外的时间进行采样。从机有以下四种响应信号表示状态

OKAY 传输正常
ERROR 发生传输错误,传输失败
RETRY 传输没有完成,重新尝试
SPLIT 传输没有完成,重新分段传输

4、AHB组成部分 

AHB 主设备(master)  :发起一次读/写操作 某一时刻只允许一个主设备使用总线

AHB从设备(slave)      :响应一次读/写操作 通过地址映射来选择使用哪一个从设备

AHB仲裁器(arbiter)    :允许某一个主设备控制总线 在AMBA协议中没有定义仲裁算法

AHB译码器(decoder) :通过地址译码来决定选择哪一个从设备

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值