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

目录
相关文章
【笔记】PCIe LTSSM 状态转移
【笔记】PCIe LTSSM 状态转移
3796 0
【笔记】PCIe LTSSM 状态转移
|
机器学习/深度学习 人工智能 PyTorch
从像素到洞见:图像分类技术的全方位解读
从像素到洞见:图像分类技术的全方位解读
484 0
|
8月前
|
存储 运维 监控
内网实时监控中的Node.js滑动窗口语言算法及实践
本文系统阐述滑动窗口算法在内网实时监控中的应用,结合Node.js实现流量统计与异常检测,具备高效、低耗、易集成等优势,为网络安全与资源优化提供技术支撑。
230 4
|
9月前
|
编解码 人工智能 语音技术
📢 我们发布了新一代端到端语音交互模型 Fun-Audio-Chat!
通义百聆开源Fun-Audio-Chat(8B),支持端到端语音交互,具备情感感知与任务执行能力。在多榜单同尺寸模型中排名第一,支持高精度语音理解、情感识别与Function Call,高效低延迟,已全面开放代码与权重,欢迎体验!
2915 10
|
NoSQL Ubuntu 安全
在Ubuntu 18.04上安装和保护Redis的方法
在Ubuntu 18.04上安装和保护Redis的方法
556 0
|
XML 存储 数据安全/隐私保护
使用virsh migrate进行虚拟机迁移
使用virsh migrate进行虚拟机迁移
906 0
|
机器学习/深度学习 数据采集 人工智能
《人工智能如何加速药物研发进程:从新药发现到临床试验的突破》
在医药领域,药物研发复杂且成本高昂,新药推出面临诸多挑战。人工智能(AI)通过分析海量生物数据,加速靶点识别、药物分子设计及临床试验设计与数据分析,显著提升研发效率和质量。AI利用机器学习算法和大数据分析,优化试验方案,预测药物疗效与安全性,助力智能化药物研发平台的建设。尽管存在数据质量和隐私等挑战,AI仍为药物研发带来巨大潜力与创新机遇。
886 10
|
索引
【UVM源码学习】uvm_packer
【UVM源码学习】uvm_packer
1769 0
|
异构计算 SoC 内存技术
深入理解AMBA总线(九)AHB2SRAM设计
深入理解AMBA总线(九)AHB2SRAM设计
2120 0
|
存储 安全
深入理解AMBA总线(四)AHB-lite总线
深入理解AMBA总线(四)AHB-lite总线
2752 0