axi3 和 axi4 总线的区别

发布时间:2026/7/4 21:55:15
axi3 和 axi4 总线的区别 axi3 和 axi4 总线的区别1. burst_length 的变化axi3 burst_length 为4bit, 支持最大AxLEN为16axi4 burst_length 扩展为8bit支持最大AxLEN为256只有INCR传输支持超过16长度的burst,wrap和fixed最大burst还是16exclusive access的burst length长度小于162. axi4 增加了2个4bit的 qos命令信号qos 简单介绍awqosarqos信号范围从0x0-0xf,值越大表示优先级越高qos默认值为0x0,表示未参与任何qos方案应用场景访问冲突多个设备同时请求访问qos可以确保高优先级的事务先处理延迟优势优先通过高优先级事务减少关键数据流的延迟带宽管理可以为不同的事务分配不同的带宽优势提高系统响应速度优化资源分配提高系统灵活性3. axi4新增Multiple region interfaces可选信号默认为0标识逻辑区域支持多从设备共享接口和动态地址映射核心功能通过 REGION 信号 动态标识目标区域允许 重叠的地址空间 被区分ARADDR 0x1000, ARREGION 1 → 访问 区域1 的 0x1000ARADDR 0x1000, ARREGION 2 → 访问 区域2 的 0x1000实际物理地址可能不同动态地址重映射虚拟化同一逻辑地址映射到不同物理地址安全域隔离不同 REGION 对应不同的安全权限4. write interleavingaxi4 去掉了WID信号不再支持write interleaving为什么写交织增加了设计的复杂性尤其处理多个事务需要额外的缓存逻辑来管理不同事务的顺序去掉写交织可以减少缓存需求降低了硬件的成本和功耗实际的应用比较少大多数情况下主设备可以通过缓存数据并以连续的Burst发送写交织在axi3中引入了许多约束导致死锁问题尽管axi4 不支持写交织但任然支持乱序响应这意味着写地址和数据是顺序的但是响应可以乱序返回在简化设计的同时保留了一定的灵活性5. writer responseaxi4对 write response 的产生做了更加严格的限制axi3 必须等到wvalid和wready后才能把bvalid置高axi4 规定必须等到awvalid,awready,wvalid,wready,wlast都为高slave才可以拉高bvalid响应6. user signalsaxi4 新增了user 信号该信号为用户自定义信号7. locked transactionsaxi4去掉了对locked transaction的支持axlock从2bit 减少到1bit,仅支持exclusive访问变化原因lock access效率比较低exclusive提供了更加灵活的访问机制exclusive access介绍用于实现原子操作允许在特定内存位置上执行一系列操作而这些操作不会被其它master干扰它可以确保数据操作的原子性同时也不会影响总线性过程exclusive readMaster发送一个读exclusive操作Slvae需要记住该操作的ARID 和ADDR如果slave可以支持该访问则响应EXOKY,表示独占成功Exclusive write在随后的时间该master对该地址进行exclusive 写操作AWID和RID必须一致期间是否有其它设备访问过该地址成功返回EXOKY否则返回OKAY表示独占写失败优势更高的效率更好的性能更加灵活应用场景在多核系统独占访问可以确保对共享资源的原子操作原子更新操作在对内存中的某个变量进行修改读取确保这些操作不会被其它设备干扰axi3 和 axi4的连接axi4没有wid信号直接floatingaxi4 slave的 axlock[0] axlock[0]axi4 slave的 axlen[7:4] 4’h0qos/user/region信号需要额外处理axi4 master必须不支持write interleavingaxi3 和 axi4信号区别总结signalaxi3axi4备注arlen/awlen4bit8bitaxi4支持256bit的burstarqos/awqosNA4bit服务质量用于优先级控制arregion/awregionNA可选区域信号用于访问控制aruser/awuserNA可选用户定义arlock/awlock2bit1bitaxi4去掉了locked access,仅保留Exclusive acesswid4bitNAaxi4去掉了wid不支持乱序写数据