码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【数字IC】深入浅出理解AXI协议


    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球
    四社区联合力荐!近500篇数字IC精品文章收录!
    【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍

    在这里插入图片描述

    深入浅出理解AXI协议

      • 一、写在前面
      • 二、深入浅出理解AXI协议
        • 2.1 全局信号
        • 2.2 写地址通路
        • 2.3 写数据通路
        • 2.4 写回复通路
        • 2.5 读地址通路
        • 2.6 读数据通路
        • 2.7 低功耗接口信号
        • 2.8 必选信号与可选信号区分
          • 2.8.1 主设备
            • 2.8.1.1 读操作相关信号表
            • 2.8.1.2 写操作相关信号表
          • 2.8.2 从设备
            • 2.8.2.1 读操作相关信号表
            • 2.8.2.2 写操作相关信号表
        • 2.9 总结
      • 三、其他数字IC基础协议解读
        • 3.1 UART协议
        • 3.2 SPI协议
        • 3.3 I2C协议
        • 3.4 AXI协议

    一、写在前面

    终于写到这篇文章了! 完整阅读前述文章的读者到了本篇,基本上可以当作一个复习小资料来看了,里面零零散散的信号95%都在前文中讨论过。本篇文章落地,再讨论一波AXI-lite,一个完整的AXI协议的相关内容就完整的展现在了读者的面前了,当然,AXI-lite支持的特性,AXI都支持,因此,二者之间的比较和联系也不甚困难。

    AXI协议相较于UART,SPI,I2C来说,无论是内容还是难度都上了一个层级,放在一篇文章中进行解读未免篇幅过长,因此,有关AXI一些共性的、通用的问题,作者单独以前缀为【AXI】的标题进行小范围的串联,最终再汇总为深入浅出解读AXI协议,与从零开始的Verilog AXI协议设计,此为作者所思所考的推进顺序,单看【AXI】的每一篇,可能很多读者未免感到有些管中窥豹的疑惑,但若等作者更完此专栏再行观看,从头到尾进行阅读,应该就会有有茅塞顿开的收获与领悟。

    二、深入浅出理解AXI协议

    AXI协议有很多特性,比如说“高带宽”和“低延迟”,比如说向前兼容AHB与APB,比如说非三态实现数据传输等等等等,但是最核心最核心的内容无非是AXI协议的信号,和对于这些信号的理解,单独拿出一个信号来,我们先要明白的是,它是什么的输出又是什么的输入,“比如AWID是主设备产生的,通过总线互联连接到从设备“,其次,我们要清楚它所处哪个数据通路,写地址通路”“写数据通路”“写回复通路”“读地址通路”“读数据通路是最核心的五个数据通路,此外,AXI协议还有全局信号和低功耗数据接口,再往后,针对于一个信号,他是AXI协议的必选项还是可选项?比如握手信号是AXI协议所必须要有的信号,是必选项,而低功耗接口的信号就是AXI协议的可选项;最后,我们要知道每一个信号的含义,这部分寻找AXI协议解读的前文就可以找到。每一个信号都通过上面的四个问题进行梳理,AXI协议的全貌就得到了一个充分的认识了。

    2.1 全局信号

    信号来源解释
    ACLK时钟源
    ARESETn复位源低电平复位

    2.2 写地址通路

    信号来源解释
    AWID主设备见解读AXI协议乱序机制
    AWADDR主设备见解读AXI协议中的burst突发传输机制
    AWLEN主设备见解读AXI协议中的burst突发传输机制
    AWSIZE主设备见解读AXI协议中的burst突发传输机制
    AWBURST主设备见解读AXI协议中的burst突发传输机制
    AWLOCK主设备见解读AXI协议原子化访问
    AWCACHE主设备见解读AXI协议事务属性
    AWPORT主设备
    AWQOS主设备见解读AXI协议的额外信号
    AWREGION主设备见解读AXI协议的额外信号
    AWUSER主设备见解读AXI协议的额外信号
    AWVALID主设备常规握手信号
    AWREADY从设备常规握手信号

    2.3 写数据通路

    信号来源解释
    WID主设备见解读AXI协议乱序机制
    WDATA主设备见解读AXI协议中的burst突发传输机制
    WSTRB主设备见解读AXI协议中的burst突发传输机制
    WLAST主设备burst的最后一拍的信号
    WUSER主设备见解读AXI协议的额外信号
    WVALID主设备常规握手信号
    WREADY从设备常规握手信号

    2.4 写回复通路

    信号来源解释
    BID从设备见解读AXI协议乱序机制
    BRESP从设备见解读AXI协议原子化访问
    BUSER从设备见解读AXI协议的额外信号
    BVALID从设备常规握手信号
    BREADY主设备常规握手信号

    2.5 读地址通路

    信号来源解释
    ARID主设备见解读AXI协议乱序机制
    ARADDR主设备见解读AXI协议中的burst突发传输机制
    ARLEN主设备见解读AXI协议中的burst突发传输机制
    ARRSIZE主设备见解读AXI协议中的burst突发传输机制
    ARBURST主设备见解读AXI协议中的burst突发传输机制
    ARLOCK主设备见解读AXI协议原子化访问
    ARCACHE主设备见解读AXI协议事务属性
    ARPORT主设备
    ARQOS主设备见解读AXI协议的额外信号
    ARREGION主设备见解读AXI协议的额外信号
    ARUSER主设备见解读AXI协议的额外信号
    ARVALID主设备常规握手信号
    ARREADY主设备常规握手信号

    2.6 读数据通路

    信号来源解释
    RID从设备见解读AXI协议乱序机制
    RDATA从设备见解读AXI协议中的burst突发传输机制
    RRESP从设备见解读AXI协议原子化访问
    RLAST从设备burst的最后一拍的信号
    RUSER从设备见解读AXI协议的额外信号
    RVALID从设备常规握手信号
    RREADY主设备常规握手信号

    2.7 低功耗接口信号

    信号来源解释
    CSYSERQ时钟控制器见解读AXI协议的低功耗设计
    CSYSACK外围设备见解读AXI协议的低功耗设计
    CACTIVE外围设备见解读AXI协议的低功耗设计

    2.8 必选信号与可选信号区分

    2.8.1 主设备

    2.8.1.1 读操作相关信号表

    在这里插入图片描述

    2.8.1.2 写操作相关信号表

    在这里插入图片描述

    2.8.2 从设备

    2.8.2.1 读操作相关信号表

    在这里插入图片描述

    2.8.2.2 写操作相关信号表

    在这里插入图片描述

    2.9 总结

    笼统来讲:一个基本的AXI协议,需要有时钟信号,复位信号,握手信号,burst相关信号,AxID信号。
    Cache相关信号,原子化操作相关信号,Qos User等额外信号和低功耗相关信号是可选项。
    关于不同信号的默认值/复位值,上文2.8节的表格中也给出了要求值。至此,有关AXI协议的相关内容就告一段落了,AXI协议虽然快,但是面积也大,很多情况下,我们其实不需要AXI协议的全部特性,因此AMBA4中还规定了AXI-lite供人使用,参见深入浅出理解AXI-lite即可

    三、其他数字IC基础协议解读

    3.1 UART协议

    • 【数字IC】深入浅出理解UART
    • 【数字IC】从零开始的Verilog UART设计

    3.2 SPI协议

    • 【数字IC】深入浅出理解SPI协议
    • 【数字IC】从零开始的Verilog SPI设计

    3.3 I2C协议

    • 【数字IC】深入浅出理解I2C协议

    3.4 AXI协议

    • 【AXI】解读AXI协议双向握手机制的原理
    • 【AXI】解读AXI协议中的burst突发传输机制
    • 【AXI】解读AXI协议事务属性(Transaction Attributes)
    • 【AXI】解读AXI协议乱序机制
    • 【AXI】解读AXI协议原子化访问
    • 【AXI】解读AXI协议的额外信号
    • 【AXI】解读AXI协议的低功耗设计
    • 【数字IC】深入浅出理解AXI协议
  • 相关阅读:
    windows http-server 因为在此系统上禁止运行脚本
    mirai Bot初始化配置
    一文拿下HTTP
    DAY02 c++对c的扩展
    从原理总结chatGPT的Prompt的方法
    基于SpringMVC+Hibernate开发企业库存管理系统的设计与实现+任务书+PPT 毕业设计
    STM32F429主控TB6612驱动直流电机----解决PWM波形未输出bug
    oracle sys无法远程访问问题解决
    Sovit3D数字孪生智慧海上风电场3D可视化管理平台
    GO 集合 map 使用总结
  • 原文地址:https://blog.csdn.net/weixin_43698385/article/details/125895057
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号