萌新的FPGA学习之初识ZYNQ
进入 21 世纪,FPGA 的发展进入了累积阶段。人们发现,FPGA 的发展此时遭遇了瓶颈,因此单纯的
提升 FPGA 的容量已经不能满足各类应用的需求。由于更多客户开始追求更高的性价比,FPGA 不得不从
单纯的可编程门阵列,逐步转变为拥有复杂功能的可编程片上系统。
Zynq-7000系列就是一片带有可编程片上系统的芯片,它是由Xilinx公司于2010年4月推出的的行业第一
个可扩展处理平台,旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理
能力与计算性能。这款基于ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力等要
求。
Zynq 的全称是 Zynq-7000 All Programmable SoC,是它由一个双核 ARM Cortex-A9 处理器和一个传统
的现场可编程门阵列(FPGA)逻辑部件组成的。由于该新型器件的可编程逻辑部分基于赛灵思 28nm 工艺
的 7 系列 FPGA,因此该系列产品的名称中添加了“7000”,以保持与 7 系列 FPGA 的一致性,同时也方
便日后本系列新产品的命名。
Zynq 是由两个主要部分组成的:一个是由双核 ARM Cortex-A9 为核心构成的处理系统(PS,Processing System),和一个等价于一片 FPGA 的可编程逻辑(PL,Programmable Logic)部分组成。
Zynq 架构实现了工业标准的 AXI 接口,在芯片的两个部分之间实
现了高带宽、低延迟的连接。这意味着处理器和逻辑部分各自都可以发挥最佳的用途,而不会产生在两个
分立器件之间的接口开销。与此同时,又能获得系统被简化为单一芯片所带来的好处,包括物理尺寸和整
体成本的降低。
开始了解FPGA
FPGA(Field Programmable Gate Array,简称 FPGA),中文名:现场可编程门阵列,一种主要以数字
电路为主的集成芯片,于 1985 年由 Xilinx 创始人之一 Ross Freeman 发明,属于可编程逻辑器件 PLD
(Programmable Logic Device)的一种。
FPGA 基本结构一般由六部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、底层嵌入功
能单元、布线资源、嵌入式块 RAM 和内嵌专用硬核
Zynq 实际上是一个以处理器为核心的系统,PL 部分可以看作是它的一个外设。我们可以通过使用
AXI(Advanced eXtensible Interface)接口的方式调用 IP 核,系统通过 AXI 接口将 IP 与处理器连接,也就
是实现 PL 与 PS 互联。
Xilinx 从 Spartan-6 和 Virtex-6 系列开始使用 AXI 协议来连接 IP 核,在 7 系列和 Zynq-7000 AP SoC 器
件中,Xilinx 在 IP 核中继续使用 AXI 协议。AXI 的英文全称是 Advanced eXtensible Interface,即高级可扩
展接口,它是 ARM 公司所提出的 AMBA(Advanced Microcontroller Bus Architecture)协议的一部分。
AXI 协议是一种高性能、高带宽、低延迟的片内总线,具有如下特点:
1、总线的地址/控制和数据通道是分离的;
2、支持不对齐的数据传输;
3、支持突发传输,突发传输过程中只需要首地址;
4、具有分离的读/写数据通道;
5、支持显著传输访问和乱序访问;
6、更加容易进行时序收敛。
在数字电路中只能传输二进制数 0 和 1,因此可能需要一组信号才能高效地传输信息,这一组信号就
组成了接口。AXI4 协议支持以下三种类型的接口:
1、AXI4:高性能存储映射接口。
2、AXI4-Lite:简化版的 AXI4 接口,用于较少数据量的存储映射通信。
3、AXI4-Stream:用于高速数据流传输,非存储映射接口。