AHB-lite basic transfer

简介: AHB-lite basic transfer

AHB-Lite是AHB的简化版本,针对单个Master设计的总线协议。这样可以简化interconnection的设计,不需要做仲裁。

image.png

AHB-Lite基本传输:AHB每个Transfer分为一个地址阶段,一个数据阶段。

  • Address: 除非被前一次传输延长,否则持续一个HCLK时钟周期。
  • Data:可能需要几个HCLK时钟周期。使用HREADY信号来控制完成传输所需的时钟周期数。

HWRITE信号控制数据的传输方向:

  • 当HWRITE信号为高的时候,表示为写传输。Master在写传输总线上传输数据,HWDATA[31:0]
  • 当HWRITE信号为低的时候,表示为读传输,Slave在读传输总线上传输数据,HRDATA[31:0]

最简单的情况是没有wait states,此时transfer由一个address cycle和一个data cycle组成。

写时序:

我们可以看到,在写操作当中。HWRITE为1,我们把地址发出去。在第二个阶段,我们把要写的数据发出去。

image.png

读时序:

和写操作类似,不同的是,在读操作当中。HWRITE为0,我们把地址发出去。在第二个阶段,我们把数据读回来。

image.png

在没有等待的简单传输当中:

  • Master在HCLK的上升沿过后将地址和控制信号驱动到总线上。
  • Slave在HCLK的下一个上升沿采样地址和控制信息。
  • 在Slave已经采样了地址和控制信息以后,它可以开始驱动适合的HREADY响应。这一响应由Master在HCLK的第三个上升沿进行采样。

这个简单的例子演示了在不同的时钟周期中,地址阶段和数据阶段是如何变化的。任何传输的地址阶段都发生在前一次传输的数据阶段。这种地址和数据的重叠是总线的流水线性质的基础,使得可以进行高性能操作,同时仍然为Slave提供足够的时间来提供对传输的响应。

Slave可以在任何传输当中插入wait states,使得它由足够的时间完成传输任务。如下图所示:

读时序with wait states:

我们可以看到,区别就在于HREADY为低,代表A不能够及时响应,提供数据。因此直到第四个Cycle,Slave才返回A的读数据,此时B的地址和数据都会被延伸。

image.png

写时序with wait states:

image.png

NOTE:对于写操作而言,Master在扩展的周期内需要保持数据稳定,而对于读操作而言,直到传输快要结束,Slave才需要提供HRDATA。

读写在AHB协议中是可以pipeline的,对多个transfer中,如下图:有A,B,C三个transfer。

在第一CYCLE我们可以看到首先是给A地址进行写操作

到第二个CYCLE,在对A操作的数据阶段的时候,我们又同时发出了B的地址,B的控制。所以A,B两个TRANSFER是可以重叠的。可以认为是pipeline的。C和B也是这样。

我们可以看到C这个阶段,HREADY为低。此时为B的数据阶段,代表B不能及时响应。直到在T3这个CYCLE,SLAVE才返回B的读数据。此时C的地址和数据都会被延伸。

image.png

目录
相关文章
|
NoSQL Ubuntu 安全
在Ubuntu 18.04上安装和保护Redis的方法
在Ubuntu 18.04上安装和保护Redis的方法
529 0
|
XML 存储 数据安全/隐私保护
使用virsh migrate进行虚拟机迁移
使用virsh migrate进行虚拟机迁移
865 0
|
机器学习/深度学习 数据采集 人工智能
《人工智能如何加速药物研发进程:从新药发现到临床试验的突破》
在医药领域,药物研发复杂且成本高昂,新药推出面临诸多挑战。人工智能(AI)通过分析海量生物数据,加速靶点识别、药物分子设计及临床试验设计与数据分析,显著提升研发效率和质量。AI利用机器学习算法和大数据分析,优化试验方案,预测药物疗效与安全性,助力智能化药物研发平台的建设。尽管存在数据质量和隐私等挑战,AI仍为药物研发带来巨大潜力与创新机遇。
855 10
|
网络协议 Ubuntu Devops
【DevOps】Docker 最佳实践指南(绝对干货)
如果需要通过网络远程访问 Docker 守护进程,应开启 TLS 并确保只接受来自可信客户端的连接。
|
存储 边缘计算 物联网
阿里云物联网平台:推动万物互联的智能化解决方案
随着物联网技术的快速发展,阿里云物联网平台为企业提供了一体化的解决方案,包括设备接入、数据管理和智能应用等核心功能。平台支持海量设备接入、实时数据采集与存储、边缘计算,并具备大规模设备管理、高安全性和开放生态等优势。广泛应用于智能制造、智慧城市和智能家居等领域,助力企业实现数字化转型。
1882 5
|
监控 安全 Linux
在Linux中,如何设置定时任务(cron job)?
在Linux中,如何设置定时任务(cron job)?
|
异构计算 SoC 内存技术
深入理解AMBA总线(九)AHB2SRAM设计
深入理解AMBA总线(九)AHB2SRAM设计
2071 0
|
安全 Linux 数据安全/隐私保护
【SPI协议】了解ARM平台上的SPI的基本应用
【SPI协议】了解ARM平台上的SPI的基本应用
1714 0
|
存储 安全
深入理解AMBA总线(四)AHB-lite总线
深入理解AMBA总线(四)AHB-lite总线
2680 0
|
SoC
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
1496 0
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言