当前位置:网站首页>【数字IC验证快速入门】26、SystemVerilog项目实践之AHB-SRAMC(6)(APB协议基本要点)
【数字IC验证快速入门】26、SystemVerilog项目实践之AHB-SRAMC(6)(APB协议基本要点)
2022-07-07 13:22:00 【luoganttcc】
导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。
一、内容概述
- APB信号介绍
- APB传输时序
- AHB与APB的区别与时序转换
- 不同IP之间的互联
二、APB 总线概述
2.1、APB与AHB对比
AHB主要用在高速高性能的外设中,而APB则主要用来挂载低速外设。
在APB上挂载的外设大都是Slave,没有Master,即被动接收数据的外设。
理解好了AHB总线之后,学习APB自然不在话下。好了,废话不多说,速速进入正文。
2.2、APB信号介绍
| 信号名称 | 信号描述 |
|---|---|
| PCLK | APB总线时钟 |
| PRESETn | APB复位 |
| PADDR[31:0] | APB地址总线 |
| PSELx | APB Slave选择信号 |
| PENABLE | APB 使能信号 |
| PWRITE | APB总线传输方向 |
| PRDATA | APB读数据总线 |
| PWDATA | APB写数据总线 |
注:APB信号可结合AHB信号理解记忆。
2.3、APB信号释义
- PADDR[31:0]
- 地址总线,由设备总线的bridge单元驱动
- PSELx
- 从译码器来的信号,到某一个总线从设备x
- PENABLE
- 用于在设备总线上把所有访问按时间阶段进行
- PWRITE
- 高电平:写
- 低电平:读
- PRDATA和PWDATA
- 最多32位宽
2.4、APB Slave 地址译码

- AHB-APB Bridge 我们可以将其理解成AHB Slave
- 上图中黑色部分是Default Slave
- 地址译码是一级一级的
2.5、APB 互联示意图

- Bridge 作用是 AHB 到 APB 的时序转换
2.6、APB 时序(重要)
2.6.1、写传输

APB 相对 AHB 来讲没有流水,每个命令固定至少 2 个时钟周期完成!
- APB分为两个阶段,第一个阶段是
SETUP阶段,只有一个时钟周期。此时PSEL信号为高,PENABLE信号为低。可类比 AHB 中的地址传输阶段! - 第二个阶段是
ENBALE阶段。此时PSEL信号为高,PENABLE信号为高。读/写数据信号有效,可类比 AHB 中的数据传输阶段!
- APB分为两个阶段,第一个阶段是
上述时序仅仅是AMBA 1.0/2.0的时序,固定只有两拍。升级到AMBA 3.0后可以利用HREADY扩展
ENABLE阶段,而SETUP还是一个时钟周期。
2.6.2、读传输

- 读跟写的最大差异在于
PWRITE信号,此时该信号为低。 - 上述时序仅仅是AMBA 1.0/2.0的时序,固定只有两拍。升级到AMBA 3.0后可以利用HREADY扩展
ENABLE阶段,而SETUP还是一个时钟周期。
2.7、APB Bridge

- AHB 是流水的,对于Bridge来讲,主要作用是将流水打断,即把AHB的时序转成APB,如果AHB是流水的话,就会通过这个Bridge来打断!
- 主要通过
HREADY信号来将流水打成两拍。
- 主要通过
- APB Bridge 还有个功能是用来做一个二级译码
2.8、APB Bridge FSM(状态机)

2.9、APB Slave 框图(接口信号,需要会画)

- Control 信号较AHB要少很多哦!
- ABMA 3.0 支持
PReady信号哦~!
2.10、APB 到 AHB 的时序转换 - 读

- 上图是 AHB 读取 APB Slave 的时序操作,可以看到通过
HReady信号将流水操作进行了打断T1-T2之间HREADY为高,通过HADDR传送地址信号,通过HWRITE为低,传送读控制信号。T2-T3之间HREADY为低,打断AHB流水的读操作。同时,APB的PSEL为高,PENABLE为低,APB进入SETUP阶段,读取地址和读控制信号。T3-T4之间,APB的PSEL为高,PENABLE为高,APB进入ENABLE阶段,通过PRDATA读取APB Slave的数据。同时HREADY为高,将读取到的APB Slave数据,返回到HRDATA。- 至此一个读操作完成。
PRDATA是可以直接送给HRDATA(在同一拍),如果想要HRDATA打一拍的话,可以在APBENABLE阶段也将HREADY拉低,这样HRDATA就会晚于PRADTA一拍了。
三、不同 IP 之间的互联
3.1、通信方式
- CPU (Master) < – > IP (Slave)
- IP(Master) < – > IP (Slave)
3.2、Memory Mapped IO
- 每一个从设备都占用系统中的一段地址空间
- 所有的从设备都是可寻址的
- 寄存器/存储器都是内存映射方式访问
- CPU/IP 读写其他IP的数据类似于读写存储器
3.3、IP 间的通信互联
- 主设备被 arbiter grant 之后,可以访问总线上的所有从设备

3.4、 一个IP可以可以同时拥有主设备接口和从设备接口

- Master 去外读写数据
- Slave 作为寄存器配置
3.5、CPU 与 IP 之间的通信

- CPU总是作为主设备
- IP总是作为从设备
- IP可以发出一个中断请求
- 只有 Slave 接口的IP,要想主动通知CPU就可以通过中断的方式
- 中断里面的信息不能太多
- CPU进入中断模式,由interrupt service routine(ISR)来处理中断
四、AMBA Review
- AMBA 简介
- AMBA2.0:AHB、ASB、APB
4.1、AHB
AHB的组成部分
- AHB Master、AHB Slave、AHB Aribiter、AHB Decoder
AHB 信号
- HCLK、HRESETn、HADDR、HTRANS、HWRITE、HSIZE、HBURST、HWDATA、HSELx、HRDATA、HREADY、HRESP
AHB 传输的两个阶段
- 地址周期、数据周期
当前传输的状态 HTRANS
- IDLE、BUST、NOSEQ、SEQ
猝发传输类型HBURST(了解)
- SINGLE、INCR(如何开始一次新的INCR传输?)
- Burst 传输不可跨越1K边界
HSEL:由AHB Decoder通过地址映射给出
AHB Slave 响应信号
- HREADY 传输完成、HRESP传输响应(OK、ERROR、RETRY)
- AHB Slave短时间无法响应(HREADY)?长时间无法响应(HRESP)【实际使用无法界定什么叫短时间,什么叫长时间,故用的不多!】
32位大小端数据总线的有效字节
AHB仲裁信号(了解)
- HBUSREQ、HGRANT、HMASTER
- 主设备x可控制总线的条件
AHB Master、AHB Slave、AHB Arbiter、AHB Decoder的接口信号
AHB-Lite
4.2、APB
APB的组成部分
- AHB2APB Bridge、APB Slave
APB 信号
- PCLK、PRESETn、PADDR、PSEL、PENABLE、PWRITE、PRDATA、PWDATA
APB Slave 的地址映射
APB 传输(AMBA 1.0/2.0)
- Always two cycle transfer:Setup cycle、Enable Cycle
- No wait cycle and response signal(AMBA 3.0是有的)
APB Bridge 和 APB Slave的接口信号
五、总结
至此 AMBA 协议中的APB总线理论知识便介绍完了,APB较AHB最大特点就是没有流水操作,且APB在AMBA 2.0中,命令的执行固定两个时钟周期。通过本文的介绍我们也不难发现,APB和AHB之间很多信号都类似,且APB较AHB少了许多控制信号,所以只要理解了AHB,APB自然不在话下。后面我们将通过AHB-SRAMC实战项目,继续深入理解AHB和APB。
后记:因本人水平有限,不足之处在所难免,敬请各位读者朋友批评指正。关于博主的《数字IC验证快速入门》系列文章,目前在CSDN连载更新中,欢迎订阅!
边栏推荐
- 8大模块、40个思维模型,打破思维桎梏,满足你工作不同阶段、场景的思维需求,赶紧收藏慢慢学
- MongoDB数据库基础知识整理
- CTFshow,信息搜集:web9
- Used by Jetson AgX Orin canfd
- 什么是数据泄露
- 如何在opensea批量发布NFT(Rinkeby测试网)
- 用于增强压缩视频质量的可变形卷积密集网络
- Ascend 910 realizes tensorflow1.15 to realize the Minist handwritten digit recognition of lenet network
- Cocoscreator operates spine for animation fusion
- [understanding of opportunity -40]: direction, rules, choice, effort, fairness, cognition, ability, action, read the five layers of perception of 3GPP 6G white paper
猜你喜欢
随机推荐
[deep learning] semantic segmentation experiment: UNET network /msrc2 dataset
Stm32cubemx, 68 sets of components, following 10 open source protocols
什麼是數據泄露
连接ftp服务器教程
Qu'est - ce qu'une violation de données
【搞船日记】【Shapr3D的STL格式转Gcode】
【數據挖掘】視覺模式挖掘:Hog特征+餘弦相似度/k-means聚類
Niuke real problem programming - Day9
摘抄的只言片语
Ctfshow, information collection: web6
Stm32f103c8t6 PWM drive steering gear (sg90)
Wechat applet 01
How does the database perform dynamic custom sorting?
Ctfshow, information collection: web1
CTFshow,信息搜集:web7
Connecting FTP server tutorial
Bits and Information & integer notes
数学建模——什么是数学建模
buffer overflow protection
What is data leakage









