AHB2APB桥接器设计——同步桥设计的介绍

Posted 摆渡沧桑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AHB2APB桥接器设计——同步桥设计的介绍相关的知识,希望对你有一定的参考价值。

🔥点击进入【硬件安全】社区,查看更多精彩内容🔥

🔥点击查看《AMBA总线》系列文章🔥

📢 声明
🥭 作者主页:【摆渡沧桑的CSDN主页】
⚠️ 未经作者允许,禁止转载。
⚠️ 本文为非盈利性质,目的为个人学习记录及知识分享。因能力受限,存在知识点分析不正确的可能。若您参考本文造成了不良后果,本人不承担相关责任。
⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
😄 欢迎大家指出文章错误,欢迎同行与我交流 ~

文章目录

一、AHB2APB同步桥的整体介绍

1.1 模块框图

模块框图:

可以分为三个部分来分析整个同步桥的设计:
主要功能将左边AHB的信号转换为APB的信号,同步桥只有一个时钟和复位,信号转换主要由一些组合逻辑来实现
1. 第一部分: 主要有HCLK,HRESETn, PCLKEN, APBACTIVE这些时钟、复位控制信号
2. 第二部分: 主要以H开头的信号,主要是AHB BUS上的信号
3. 第三部分: 主要以P开头的信号,主要是APB BSU上的信号

二、AHB2APB同步桥的信号接口

2.1 系统信号接口

信号方向位宽描述
HCLKI1同步桥AHB和APB的同步时钟
HRESETnI1同步桥AHB和AOB的同步复位
PCLKENI1PCLK的使能信号
APBACTIVEO1指示APB桥工作信号,可以应用于后级APB BUS上的CLK GATE

2.2 AHB BUS一侧的接口信号(AHB Slave接口信号)

有关AHB的详细协议介绍参考AMBA总线部分,此部分仅介绍模块已有的接口信号

信号方向位宽描述
HSELI1每个AHB从机的选通信号。每个从机有自己独立的从机选择信号,并用该信号,表示当前传输是都选中该从机,一般是地址信号的译码
HADDRI16AHB 16 bit地址总线
HTRANSI2AHB的传输类型,IDLE, BUSY, NONSEQ, SEQ四种传输类型
HSIZEI3AHB每一个transfer传输数据的大小,以字节为单位
HPROTI4AHB保护控制信号,需要slave带有保护功能,一般不作使用。主要给希望执行保护级别的模块使用
HWRITEI1AHB写信号,高为写,低为读
HWDATAI32AHB写数据
HREADYI1AHB总线从机的输入ready信号
HRDATAO32AHB读数据
HREADYOUTO1AHB桥输出的ready信号,一般与HREADY对应
HRESPO1AHB状态相应信号

2.3 APB BSU一侧的接口信号 (APB Master接口)

信号方向位宽描述
PADDRO16APB地址信号
PENABLEO1APB使能信号
PWRITEO1APB写信号,高为写,低为读
PSTRBO4APB写选通信号,表示哪个字节有效
PPROTO3APB Slave的保护类型。提供保护机制
PWDATAO32APB写数据
PSELO1APB的设备的选通有效信号
PRDATAI32APB读数据
PREADYI1APB ready信号
PSLVERRI1APB 传输错误信号

2.4 特殊型号说明

2.4.1 APBACTIVE信号:同步桥的工作状态信号

APBACTIVE = 1, 说明此时同步桥处于工作状态,有信号在AHB和APB之间传输
APBACTIVE可以用作APB子系统时钟门控信号,供外设做低功耗处理。

2.4.2 PCLKEN信号:(处理PCLK与HCLK之间的关系,需要控制PCLKEN信号)

如果PCLK = HCLK,则PCLKEN 输入1;如果PCLK = 1/2 HCLK,则PCLKEN = PCLK
如果需要HCLK = N * PCLK,那么PCLKEN 需要在PCLK的上升沿的前一拍置位
在不增加逻辑复杂度的情况下,在一定程度上,增加了总线的灵活性,降低了功耗

2.4.3 AHB中的HREADY信号:
  1. 作为AHB的从机,从机必须由一个输入ready和一个输出ready信号
  2. HREADY信号: 同步桥的输入信号,外部AHB仲裁器收集各个AHB Slave设备的HREADYout信号,然后做出判断,在送给Slace 端口。表示AHB总线是否READY
  3. HREADYout信号:同步桥的输出信号。代表同步桥是否准备好接收或者发送数据。在同步桥的数据转换中,APB读写操作至少需要两个时钟周期,设计时需要让AHB在合适的时候拉低HREADYout信号,添加合适的等待周期,从而实现AHB到APB的数据转换。
2.4.4 AMBA APB 3.0信号
  1. PREADY
    APB Slave通过PREADY信号直接来告诉master,Slave的Ready状态。如果PREADY为高,表示可以接收读写操作,如果PREADY为低,表示Master需要等待
  2. PSLVERR
    加入Slave反馈给Master Error 反馈功能
2.4.5 AMBA APB 4.0信号
  1. PSTRB[3:0]
    在写操作中,用来指示,byte lane (即多bit字节中哪一个字节是有效的)
    在读操作应该改全1,读操作不考虑
  2. PPROT[2:0]
    在新版的 APB 4.0协议中,可以采用作为外设访问权限的设置
    1. PPROT[0]:0:正常可以访问;1:私有访问,特权级别
    2. PPROT[1]:0:安全访问;1:非安全访问
    3. PPROT[2]:0:数据;1:指令

三、AHB2APB同步桥的设计参数

定义一些参数,来让代码更加灵活,便于修改

  1. ADDRWIDTH:16, 地址空间,对应64 KB的寻址空间
  2. REGISTER_WDATA: 1, (主要定义AHB到APB在数据传输是否对寄存器需要处理)
    优点:AHB2APB的同步桥PWDATA会变成寄存器输出,有利于时序优化
    缺点:会增加HWDATA到PWDATA的输出延迟
  3. REGISTER_RDATA: 1 (主要定义APB到AHB输出的读数据做寄存器处理)
    优点:AHB2APB的同步桥PRDATA会变成寄存器输出,有利于时序优化
    缺点:会增加PRDATA到HRDATA输出延迟

四、AHB2APB同步桥的时序图

4.1 burst写传输:

AHB这一侧,每个一个时钟周期会受到一个HREADY = 0的信号,等待APB将数据写入

4.2 back-back 传输(写读循环)

不经常出现一个写,接着一个读传输

🔥 精选往期 《AMBA总线》系列文章🔥

【协议篇】
AMBA总线协议(一)——一文看懂APB总线协议
AMBA总线协议(二)——一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别
AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 )
AMBA总线协议(四)—— Multi-Layer AHB System (多层AHB总线架构)
AMBA总线协议(五)—— AXI3 协议接口信号介绍1
AMBA总线协议(六)—— 一文看懂 AXI3 协议原子访问2

【实践篇】
AHB2APB桥接器设计(1)——基本原理
AHB2APB桥接器设计(2)——同步桥设计的介绍

以上是关于AHB2APB桥接器设计——同步桥设计的介绍的主要内容,如果未能解决你的问题,请参考以下文章

AHB2APB桥接器设计——同步桥设计的介绍

AHB2APB桥接器设计——同步桥设计的介绍

AHB2APB桥接器设计——基本原理

AHB2APB桥接器设计——基本原理

AHB2APB桥接器设计——基本原理

AHB2APB桥接器设计——基本原理