APB总线总结和VIP使用

本文详细介绍了AMBA Advanced Peripheral Bus (APB) 的工作原理,包括其非流水线结构、传输状态、写读传输过程、错误响应以及APB VIP的安装和使用方法。APB主要应用于低带宽和低功耗的外围设备,具有简单的信号接口和清晰的传输流程。在错误响应部分,PSLVERR信号用于指示传输失败。APBVIP的安装步骤和使用流程对于系统验证非常关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、简介

APB(Advanced Peripheral Bus),外围总线。APB属于AMBA总线的一部分,它提供了一个低功耗的接口,并降低了接口的复杂性。主要用于低宽带和不需要高性能的外围设备上。APB的特点:

  • APB非流水线结构,所有信号仅与时钟上升沿相关;
  • 每个传输至少耗用两个周期;
  • 总线的架构不像AHB支持多个主模块,在APB里面唯一的主模块是APB桥;

二、APB信号

信号来源描述
PCLK时钟源时钟
PRESETn系统总线复位。APB复位信号低电平有效。该信号可以直接跟系统总线连接
PADDRAPB bridge地址。最大可以是32位,由外围总线桥驱动
PPROTAPB bridge保护类型。分为normal、privileged、secure protecteion
PSELxAPB bridge选择信号
PENABLEAPB bridge使能信号
PWRITEAPB bridge读写信号。1写0读
PWDATAAPB bridge写入的数据。最高可以是32位
PSTRBAPB bridge写选通信号。只是那个字节为有效数据。PSTRB[n]对应PWDATA[(8n+7):(8n)]。读传输期间写选通信信号不能被激活。
PREADYSlave interface准备好信号。Slave设备可以用该信号来扩展APB传输
PRDATASlave interface读取的数据。最高可以是32位
PSLVERRSlave interface该信号表明传输失败。

三、APB传输

3.1 传输状态图

在这里插入图片描述

(1) 系统初始化为IDLE状态,此时没有任何的传输操作;
(2) 当有传输要进行的时候,PSELx=1,PENABLE=0,系统进入SETUP状态,同时在SETUP状态停留一个周期。等待PCLK的下一个上升沿时,进入下一个ENABLE状态;
(3)当系统进入ENABLE状态时,维持在之前SETUP状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。同时传输也只会在ENABLE状态维持一个周期,在经过SETUP和ENABLE状态之后完成传输。如果后面没有传输进行,就会进入等待状态;如果有连续的传输,则进入SETUP状态。

3.2 写传输

写传输包含两种传输类型:无等待状态和有等待状态

3.2.1 无等待状态

在这里插入图片描述

T1:PADDR、PWDATA、PWRITE和PSELx在时钟上升沿开始改变,该时钟周期称为Setup phase;
T2:PENABLE和PREADY在上升沿使能;
PENABLE表明Access phase传输开始。

3.2.2 等待状态

在这里插入图片描述

在Access phase传输期间,当PENABLE为高的时候,传输可以通过将PREADY拉低来扩展传输,在此期间,PADDR、PWRITE、PSEL、PENABLE和PWDATA、PSTRB和PPROT信号保不变。
当PENABLE为低时,PREADY可以是任意值。
注:
建议在传输后不要立即更改地址和写信号,而是保持稳定,知道发生另一次访问。这可以降低功耗。

3.2.3 写数据字节选择

PSTRB[n]对应PWDATA[(8n+7):(8n)],如下图所示:
在这里插入图片描述

PSTRB[3:0]每bit对应写数据8bit,高有效;
注意:
在读操作的时候,PSTRB必须全部为0。

3.3 读传输

读传输类型包含两种传输类型:无等待状态和等待状态

3.3.1 无等待状态

在这里插入图片描述

3.3.2 等待状态

在这里插入图片描述

当PREADY为低的时候,以下信号保持不变:
PADDR、PWRITE、PSEL、PENABLE、PWDATA、PSTRB和PPROT

3.4 错误响应

在APB传输过程中PSLVERR信号表示错误响应。该错误响应可以发生写和读传输。
当PSEL、PENABLE和PREADY全部为高的时候,在APB传输的最后一个周期,PSLVERR信号才会被人误有效。
建议在不需要驱动的情况下,将PSLVERR信号拉低,即在PSEL、PENABLE、PREADY任何一个信号为低的时候,将PSLVERR信号拉低,但是这并不强制。
传输发生错误时,可能改变也可能不改变周围设备的状态。

3.4.1 写传输

在这里插入图片描述

3.4.2 读传输

在这里插入图片描述

四、APB VIP 安装和使用

4.1 APB VIP安装

Synopsys家APB VIP 安装流程如下:
% cd
% mkdir design_dir
% $DESIGNWATE_HOME/bin/dw_vip_setup -path ./design_dir -e amba_svt/tb_apb_st_uvm_basic_sys -svtb
安装完成之后,文件列表如下:
在这里插入图片描述

4.2 VIP的使用

vip安装完成之后,直接可以按照以下流程使用:
例如,run ts.directed_test.sv
gmake USE_SIMULATOR=vcsvlog directed_test WAVES=1
vip中的自带的makefile有点复杂,根据自己的习惯,重新写一个makefile:
在这里插入图片描述

运行random_wr_rd_test testcase之后,verdi打开该波形文件如下:
在这里插入图片描述

参考文档:AMBA APB Protocal 和 AMBA APB UVM User Guide

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值