首页 > 其他分享 >AXI4+DDR学习

AXI4+DDR学习

时间:2024-05-30 15:22:00浏览次数:24  
标签:DDR 信息 学习 地址 数据通道 AXI4 数据 Channel 通道

我用的小梅哥的7010的开发板,这个板子无法直接在PL这边使用DDR存储,必须通过AXI4总线。

High Performamce PORTS就是HP接口,为AXI接口,通常用于大量数据的高速传输。

AXI总线介绍

  AXI是基于burst的传输,burst传输是一种适用于AMBA协议的规则形式,通过这种规则,我们可以控制AMBA进行具体的数据传输活动,在这种规则下,主设备发送控制信息和首地址信息从设备根据这些信号计算接下来的地址信息

换言之,在这种规则下,主设备只需要发送一拍信息,就可以通过计算,决定未来数拍,写入或读出的地址。下图中的读操作就生动形象的描述了这种Burst传输,一拍的地址和控制信号,操控了四拍的读出数据。通过这种形式,控制信号的效率大大提升

  下面这就是主设备发了一拍信息,决定了后面的读数据的任务。

五个独立的传输通道:

读地址通道(Read Address Channel,AR)

读数据通道(Read Data Channel,R)

写地址通道(Write Address Channel,AW)

写数据通道(Write Data Channel,W)

写响应通道(Write Response Channel,B)

  地址通道内传递的数据是地址信息和控制信息,这些都是表示R或者W(数据通道)内的真实数据的一些特性。

  写数据行为发生,写相应通道B告诉主设备,写行为完成。(读数据没有单独的读相应通道)

 

1、这五个通道都包含一个双路的valid、ready握手机制。信息源通过valid信号来指示通道中的数据和控制信息什么时候有效。目的源用ready信号来表示什么时候准备好接收数据。传输地址信息和数据都是在这俩信号同时为高时生效。

2、读写数据通道都包括一个last信号,用来标志最后一个数据。

3、读、写事务都有自己的地址通道,地址通道携带着传输事务所必须得地址和控制信息。

4、读数据通道传送者从设备到主机的读数据和读相应信息(没有读相应通道,所以在这)。

5、写数据通路传送着主机向从设备的写数据。写响应通道提供了设备响应写事务的一种方式。每一次突发式写会产生一个完成信号。


这是设计结构框图,说实话,这一章因为视频讲的一般,所以啃的很难,基本上是对着源代码和文档一点点自己弄的。

读写FIFO+AXI4接口转换模块。写FIFO数据读出放DDR,读DDR数据放读侧FIFO缓存。

 

fifo2axi4接口转换模块设计

  一次完整的写事务流程:

1.主机向写地址通道写入地址和控制信息。

2.写数据通道突发写入数据

3.收到设备的写数据相应

  一次完整的读事务流程

1.主机向读地址通道写入地址和控制信息

2.收到设备的读数据相应和读的数据。

IDLE是上电初始状态,先是复位就为上电初始状态。

我直接在代码中注释学习。

fifo2axi4.v
111

 

标签:DDR,信息,学习,地址,数据通道,AXI4,数据,Channel,通道
From: https://www.cnblogs.com/cjl520/p/18220651

相关文章

  • 锁相环学习---CD4046
    介绍​ cd4046主要用于调频(FM)信号的调制与解调,频率的合成,各种音频产生的领域。本博文主要介绍一下CD4046的一些基础配置还有基础用法,用2023年电赛H题为例子搭建(其实我也只会这个了QAQ),第一次学这个东西,如果有讲不到的东西,请见谅......
  • AnyCAD中的Editor示例代码学习1
    AnyCADRapidSDK(ARS)是一个包含三维几何造型、图形显示、数据管理等模块综合三维图形平台,支持Windows、Linux、MacOS多操作系统,支持.NET、Python、Java多开发语言,可以用于开发CAD/CAE/CAM/SIM应用程序,用于机械、建筑、电力、教育、机器人、科学计算等领域。目前计划基于Anyc......
  • Java学习笔记(三)
    Java学习笔记(三)对象和类对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类是一个模板,它描述一类对象的行为和状态。下图中汽车为类(class),而具体的每辆车为该汽车类的对象(object),对象包含了......
  • Notes: Understanding the linux kernel Chapter 9 Process Address Space
    ProcessAddressSpaceWhenaUserModeprocessasksfordynamicmemory,itdoesn’tgetadditionalpageframes;instead,itgetstherighttouseanewrangeoflinearaddresses,whichbecomepartofitsaddressspace.Thisintervaliscalleda“memoryre......
  • ARP(Address Resolution Protocol)地址解析协议详解
    ARP地址解析解析ARP地址解析协议提供了一种在IPv4地址和硬件地址之间的动态映射。动态是因为它会自动执行和随时间变化,不需要系统管理员重新配置。若一台主机改变了网络接口卡,从而改变了它的硬件地址,ARP可以在一定延时后继续正常运作。举个例子:当我们使用Internet服务......
  • 数据结构学习笔记-冒泡排序
    冒泡排序的算法设计与分析问题描述:设计并分析冒泡排序算法【算法设计思想】遍历数组,从第一个元素到倒数第二个元素(因为最后一个元素不需要再比较,它已经是最大的了)。在每次遍历过程中,再次遍历未排序部分的元素(从第一个到当前未排序部分的末尾),比较相邻的两个元素,如果顺序不正确......
  • 深度学习之AlexNet、VGG-19、VGG-16、LeNet-5、ResNet模型的训练
    一.AlexNet1.1.导入资源包importcv2importmatplotlib.pyplotaspltimportnumpyasnpimportosimportrandom注:cv2:这是OpenCV模块,用于处理图像和视频,包括摄像头捕捉、图像处理、特征检测等。matplotlib.pyplotasplt:这是Matplotlib模块的一部分,用于创建和......
  • 机器学习_参数调优
    参数调优(HyperparameterTuning)是机器学习模型优化过程的重要部分,通过调整模型的超参数来提升其性能。以下详细讲解如何进行参数调优,并提供相应的代码实例。1.什么是超参数?超参数是在训练之前设置的参数,不同于模型训练过程中学到的参数(如权重)。决策树和随机森林的超参数......
  • 机器学习_正则化方法
    正则化是机器学习中用于防止过拟合的一种技术。它通过在损失函数中加入一个惩罚项,限制模型的复杂度,从而提高模型的泛化能力。常见的正则化方法包括L1正则化(Lasso)和L2正则化(Ridge),还有结合了两者优点的ElasticNet。以下是对这些正则化方法的详细说明,包括原理、用法、使用场景......
  • 机器学习_特征工程
    特征工程是机器学习中一个非常重要的步骤,它直接影响模型的性能和准确性。特征工程的目标是从原始数据中提取、转换和选择适当的特征,使得机器学习算法可以更好地学习和做出预测。以下是特征工程的原理、方法和用法的详细讲解。特征工程的原理特征工程的原理在于将原始数据......