源起
AXI(Advanced eXtensible Interface),是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备核从设备之间的数据传输方式。
在ZYNQ中继续使用,版本是AXI4,所以我们经常会看到AXI4.0,ZYNQ内部设备都有AXI接口。
其实AXI就是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一部分,是一种高性能、高带宽、低延迟的片内总线,也可以用来替换以前的AHB核APB总线。
第一个版本的AXI(AXI3)包含在2003年发布的AMBA3.0中,AXI的第二个版本AXI(AXI4)包含在2010年发布的AMBA4.0之中。
AXI
AXI(Advanced eXtensible Interface, 百度百科)是一种(基于burst的传输)总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽(high-bandwidth)、低延迟(low-latency)的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AXI是AMBA中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。总线、接口、协议
总线:是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由数据线、地址线、控制线等构成;接口:是一种连接标准,又常常被称之为物理接口;协议:就是传输数据的规则
ZYNQ与AXI总线
在
ZYNQ中支持三种AXI总线,拥有三种AXI接口,用的都是AXI协议,三种总线分别为:AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;AXI4-Lite:(For simple, low-throughput memory-mapped communication)是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。AXI4-Stream:(For high-speed streaming data.)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。
AXI接口
三种
AXI接口分别是:AXI-GP接口(4个):是通用的AXI接口,包括两个32位主设备接口和两个32位从设备接口,用过改接口可以访问PS中的片内外设。AXI-HP接口(4个):是高性能/带宽的标准的接口,PL模块作为主设备连接(从下图中箭头可以看出)。主要用于PL访问PS上的存储器(DDR和On-Chip RAM)AXI-ACP接口(1个):是ARM多核架构下定义的一种接口,中文翻译为加速器一致性端口,用来管理DMA之类的不带缓存的AXI外设,PS端是Slave接口。
AXI协议
讲到协议不可能说是撇开总线单讲协议,因为协议的制定也是要建立在总线构成之上的。虽然说
AXI4,AXI4-Lite,AXI4-Stream都是AXI4协议,但是各自细节上还是不同的。总的来说,
AXI总线协议的两端可以分为分为主(master)、从(slave)两端,他们之间一般需要通过一个AXI Interconnect相连接,作用是提供将一个或多个AXI主设备连接到一个或多个AXI从设备的一种交换机制。当我们添加了zynq以及带AXI的IP后再进行自动连线时vivado会自动帮我们添加上这个IPIP核
经常看到
IP核这个概念。XILINX的官网上有介绍。百度百科说,
IP核就是知识产权核或知识产权模块的意思,在EDA技术开发中具有十分重要的地位。美国著名的Dataquest咨询公司将半导体产业的
IP定义为**“用于ASIC或FPGA中的预先设计好的电路功能模块”**。IP主要分为软IP、固IP和硬IP:软IP(HDL语言形式):是用Verilog/VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能;固IP(网表形式):是完成了综合的功能块;硬IP(版图形式):提供设计的最终阶段产品——掩膜;
IP(Intelligent Property) 核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了
SOC阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力体现。对于FPGA 开发软件,其提供的IP核越丰富,用户的设计就越方便,其市场占用率就越高。目前,IP核已经变成系统设计的基本单元,并作为独立设计成果被交换、转让和销售。References
米联客:S02_CH12_ AXI_Lite 总线详解 (此作者文章质量很高)
FPGA开发全攻略——IP核 (专著于FPGA的博客)
jackwang(专业人士)