本文主要是介绍ZYNQ MicroBlaze AXI总线连接注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、AMBA总线协议概述
1.ASB
2.AHB
3.APB
4.AXI
(1)AXI4
(2)AXI4-Lite
(3)AXI4-Stream
二、ZYNQ MicroBlaze连接AXI总线注意事项
三、解决方法
一、AMBA总线协议概述
AMBA是指先进的微控制器总线体系结构,主要由系统总线和外围总线两部分组成,它的演进如下:
根据 AMBA标准定义了多种不同的总线,下面列出了四种核心的总线作以简介:
高级系统总线 [Advanced System Bus](ASB);
高级高性能总线 [Advanced High-performance Bus](AHB);
高级外设总线 [Advanced Peripheral Bus](APB);
高级扩展接口 [Advanced eXtensible Interface](AXI)。
1.ASB
ASB是第一代AMBA系统总线,同AHB相比,它数据宽度要小一些,它支持的典型数据宽度为8位、16位、32位。
2.AHB
AHB应用于高性能、高时钟频率的系统模块,它构成了高性能的系统骨干总线( back-bone bus )。
3.APB
APB是本地二级总线(local secondary bus ),通过桥和AHB/ASB相连。它主要是为了满足不需要高性能流水线接口或不需要高带宽接口的设备的互连,主要用来实现操作片上低速外设。
4.AXI
AXI是在AMBA3.0总线中提出来的,为AXI3.0版本,AMBA 4是最新增添到 AMBA 系列中的规范,增加了三个新接口协议:AXI4 有助于最大化性能和能效;AXI4-Lite 和 AXI4-Stream 是 FPGA 中实现的理想选择。
(1)AXI4
AXI4 协议是对 AXI3 的更新,在用于多个主接口时,可提高互连的性能和利用率。它包括以下增强功能:
1)对于突发长度,最多支持 256 位
2)支持多区域接口
(2)AXI4-Lite
AXI4-Lite 是 AXI4 协议的子协议,适用于与组件中更简单且更小的控件寄存器式的接口通信。AXI4-Lite 接口的主要功能如下:
1)所有事务的突发长度均为 1
2)所有数据存取的大小均与数据总线的宽度相同
3)不支持独占访问
(3)AXI4-Stream
AXI4-Stream 协议可用于从主接口到辅助接口的单向数据传输,可显著降低信号路由速率。该协议的主要功能如下:
1)使用同一组共享线支持单数据流和多数据流
2)在同一互连内支持多个数据宽度
3)FPGA 中实现的理想选择
二、ZYNQ MicroBlaze连接AXI总线注意事项
外设必须接到外设总线上,否则处理器会访问不到(不接让处理器怎么访问),很多人会问为什么会不接,请看下面的原理图,这张图是Vivado帮我们自动连接的:
我们在来看看地址分配图,其实Vivado自动生成的电路图吧EMC接到了IC上和DC总线上,Vivado会以为用户会接内存,来运行程序用的:
Vivado总的分配图:
三、解决方法
在自动生成原理图的时候,需要核对AXI类型IP核是需要接到哪个总线上,外设需要接到外设总线上,内存是需要接到内存总线上,如下图修改,选种点击OK即可:
这篇关于ZYNQ MicroBlaze AXI总线连接注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!