当前位置:网站首页>【数字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连载更新中,欢迎订阅!
边栏推荐
- 上半年晋升 P8 成功,还买了别墅!
- MySQL installation configuration 2021 in Windows Environment
- 最安全的证券交易app都有哪些
- 激光雷達lidar知識點滴
- [follow Jiangke University STM32] stm32f103c8t6_ PWM controlled DC motor_ code
- CTFshow,信息搜集:web4
- [机缘参悟-40]:方向、规则、选择、努力、公平、认知、能力、行动,读3GPP 6G白皮书的五层感悟
- Ctfshow, information collection: web9
- Niuke real problem programming - Day9
- TypeScript 发布 4.8 beta 版本
猜你喜欢

拜拜了,大厂!今天我就要去厂里

【目标检测】YOLOv5跑通VOC2007数据集

2. 堆排序『较难理解的排序』

Deformable convolutional dense network for enhancing compressed video quality

广州开发区让地理标志产品助力乡村振兴
MongoD管理数据库的方法介绍

CTFshow,信息搜集:web5

How bad can a programmer be? Nima, they are all talents

Stm32cubemx, 68 sets of components, following 10 open source protocols

【兰州大学】考研初试复试资料分享
随机推荐
防火墙基础之服务器区的防护策略
Briefly describe the working principle of kept
Stm32cubemx, 68 sets of components, following 10 open source protocols
拜拜了,大厂!今天我就要去厂里
buffer overflow protection
Novel Slot Detection: A Benchmark for Discovering Unknown Slot Types in the Dialogue System
Jetson AGX Orin CANFD 使用
With 8 modules and 40 thinking models, you can break the shackles of thinking and meet the thinking needs of different stages and scenes of your work. Collect it quickly and learn it slowly
[today in history] July 7: release of C; Chrome OS came out; "Legend of swordsman" issued
【跟着江科大学Stm32】STM32F103C8T6_PWM控制直流电机_代码
Do you know the relationship between the most important indicators of two strong wind control and the quality of the customer base
leetcode 241. Different Ways to Add Parentheses 为运算表达式设计优先级(中等)
Protection strategy of server area based on Firewall
Ctfshow, information collection: web13
A need to review all the knowledge, H5 form is blocked by the keyboard, event agent, event delegation
Classification of regression tests
8大模块、40个思维模型,打破思维桎梏,满足你工作不同阶段、场景的思维需求,赶紧收藏慢慢学
[Data Mining] Visual Pattern Mining: Hog Feature + cosinus Similarity / K - means Clustering
Ctfshow, information collection: web4
CTFshow,信息搜集:web13