码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【总线】AXI4第三课时:握手机制


              大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣,那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者,AXI4以其高性能和高度可扩展性,成为了现代电子系统中不可或缺的通信桥梁。

            上一课时我们了解到AXI的基础事务,对他们有了初步的认识,这一课时我们来聊一聊AXI4总线中的“社交礼仪”——握手机制。就像我们在交朋友之前要握手一样,AXI4总线在数据传输前也要进行一套复杂的“礼仪”来确保数据能够顺利、准确地传输。

            这里会有一系列的课程,和大家分享AMBA总线家族,欢迎大家一起学习,收藏点赞。

     系列文章

    【总线】AMBA总线架构的发展历程-CSDN博客

    【总线】设计fpga系统时,为什么要使用总线?-CSDN博客

    【总线】AXI总线:FPGA设计中的通信骨干-CSDN博客

    【总线】AMBA总线家族的明星成员:AXI协议简介-CSDN博客

    【总线】AXI4第一课时:揭秘AXI4总线的五大独立通道-CSDN博客

    【总线】AXI4第二课时:深入AXI4总线的基础事务-CSDN博客

    【总线】AXI4第三课时:握手机制-CSDN博客


    目录

    AXI4握手机制的优点

    如何实现双向流控的

    VALID/READY的三种情况

    1.双方都准备好了

    2.发送方准备好了,接收方还没准备好

    3.接收方准备好了,发送方还没准备好

    总结

    结语


    AXI4握手机制的优点

    在AXI4总线的世界里,握手不仅仅是礼貌,更是效率和可靠性的保证。以下是握手机制的几个优点:

    1. 确保数据完整性:通过握手,我们可以确保数据在传输过程中不会被损坏。
    2. 提高传输效率:握手机制允许发送方和接收方同步它们的操作,避免了数据拥堵。
    3. 增强通信灵活性:AXI4的握手机制支持灵活的数据传输,可以根据需要调整传输速度和大小。

    如何实现双向流控的

    AXI4总线的双向流控就像是一场精心编排的舞蹈。以下是实现双向流控的关键步骤:

    1. VALID信号:发送方通过VALID信号告诉接收方,“嘿,我这里有数据要给你!”
    2. READY信号:接收方通过READY信号回复发送方,“好的,我准备好接收了。”
    3. 数据交换:当VALID和READY信号都为高电平时,数据就可以在双方之间流动了。

    VALID/READY的三种情况

    在AXI4的握手过程中,VALID和READY信号有三种可能的情况,我们可以把它们想象成三种不同的对话场景:

    1.双方都准备好了

    :VALID和READY都为高,数据传输开始。

    图:VALID和READY握手成功

    2.发送方准备好了,接收方还没准备好

    VALID为高,READY为低,发送方需要等待接收方准备好。

    图:发送方等待接收方

    3.接收方准备好了,发送方还没准备好

    VALID为低,READY为高,这种情况比较少见,意味着接收方在说,“我准备好了,但你的数据呢?”

    图:接收方等待发送方

    总结

    今天我们一起学习了AXI4总线的握手机制,这就像是在数据的高速公路上设置了一套交通规则,确保了数据传输的顺畅和安全。通过VALID和READY信号的互动,我们可以实现高效的双向流控。希望大家能够理解这些概念,并在设计自己的电子系统时运用它们。

    这里给大家留一个小任务:思考一下,如果VALID和READY信号出现了“我准备好了,但你的数据呢?”这种情况,我们应该如何优化设计来避免这种尴尬的局面呢?答案评论区见~

    结语

    感谢大家的参与,希望你们在AXI4的世界里越来越得心应手。下课!

  • 相关阅读:
    7.canvas图形颜色设置
    Java Hash 碰撞
    报错:与目标 VM 断开连接, 地址为: ‘‘127.0.0.1:56529‘,传输: ‘套接字‘‘
    53. 最大子序列和Maximum Subarray
    Strimzi Kafka Bridge(桥接)实战之二:生产和发送消息
    【Android Studio】简单的QQ登录界面
    数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索
    P6775 [NOI2020] 制作菜品
    three分裂格子shader可模拟骨骼动画粒子
    日志技术-Logback
  • 原文地址:https://blog.csdn.net/sqqwm/article/details/139837620
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号