FPGA概念理解之:AXI、AMBA、IP核、总线、接口、协议

  • 源起

    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

    AXIAdvanced eXtensible Interface, 百度百科)是一种(基于burst的传输)总线协议,该协议是ARM公司提出的AMBAAdvanced Microcontroller Bus Architecture3.0协议中最重要的部分,是一种面向高性能高带宽(high-bandwidth)低延迟(low-latency)的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AXIAMBA 中一个新的高性能协议。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统SoC)设计的需求。

  • 总线、接口、协议

    • 总线:是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由数据线、地址线、控制线等构成;
    • 接口:是一种连接标准,又常常被称之为物理接口;
    • 协议:就是传输数据的规则
  • ZYNQ与AXI总线

    ZYNQ中支持三种AXI总线,拥有三种AXI接口,用的都是AXI协议,三种总线分别为:

    1. AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;
    2. AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。
    3. AXI4-Stream:(For high-speed streaming data.)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。
  • AXI接口

    三种AXI接口分别是:

    1. AXI-GP接口(4个):是通用的AXI接口,包括两个32位主设备接口和两个32位从设备接口,用过改接口可以访问PS中的片内外设。
    2. AXI-HP接口(4个):是高性能/带宽的标准的接口,PL模块作为主设备连接(从下图中箭头可以看出)。主要用于PL访问PS上的存储器(DDROn-Chip RAM
    3. AXI-ACP接口(1个):是ARM多核架构下定义的一种接口,中文翻译为加速器一致性端口,用来管理DMA之类的不带缓存的AXI外设,PS端是Slave接口。
  • AXI协议

    讲到协议不可能说是撇开总线单讲协议,因为协议的制定也是要建立在总线构成之上的。虽然说AXI4AXI4-LiteAXI4-Stream都是AXI4协议,但是各自细节上还是不同的。

    总的来说,AXI总线协议的两端可以分为分为主(master)、从(slave)两端,他们之间一般需要通过一个AXI Interconnect相连接,作用是提供将一个或多个AXI主设备连接到一个或多个AXI从设备的一种交换机制。当我们添加了zynq以及带AXIIP后再进行自动连线时vivado会自动帮我们添加上这个IP

  • IP核

    经常看到IP核这个概念。XILINX的官网上有介绍。

    百度百科说,IP核就是知识产权核知识产权模块的意思,在EDA技术开发中具有十分重要的地位。

    美国著名的Dataquest咨询公司将半导体产业的IP定义为**“用于ASICFPGA中的预先设计好的电路功能模块”**。

    IP主要分为软IP固IP硬IP

    • 软IPHDL语言形式):是用Verilog/VHDL硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能;
    • 固IP网表形式):是完成了综合的功能块;
    • 硬IP版图形式):提供设计的最终阶段产品——掩膜

    IP(Intelligent Property) 核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。

    到了SOC 阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力体现。对于FPGA 开发软件,其提供的IP核越丰富,用户的设计就越方便,其市场占用率就越高。目前,IP核已经变成系统设计的基本单元,并作为独立设计成果被交换、转让和销售。

  • References

  1. 米联客:S02_CH12_ AXI_Lite 总线详解 (此作者文章质量很高)

  2. FPGA开发全攻略——IP核 (专著于FPGA的博客)

  3. jackwang(专业人士)

  4. AXI总线

  5. AXI4 & AXI4-stream 相关笔记

  6. AXI4-Stream协议总结

你可能感兴趣的:(FPGA)