赞
踩
传统的嵌入式集成电路应用级芯片常见的 DSP,ARM,PowerPC,MIPS, FPGA 等,FPGA 有灵活性好,资源丰富,可反复编程(Programmable)速度快(并行)的优势。在以往的应用中,常有场景需要使用 ARM 作为主控,通过 ARM 的外设并行 RAM 类总线外挂 FPGA ,使用 FPGA 来做高速的数据采集或者运算的架构,在通信,医疗电子等等行业,这都屡见不鲜;
传统的嵌入式 SoC 硬件系统架构如下:
XILINX 作为 FPGA (Field Programmable Gate Array)的领导者,率先将专用的中央处理器 CPU 硬核与 FPGA 集成于一颗芯片中,产生了一种全新的异构平台,称之为全可编程片上系统(All Programmable SoC);这个全新平台的诞生,对全球信
息技术的发展起到了巨大的推动作用。一方面,使得嵌入式系统的设计结构更加灵活,体积显著缩小,可靠性和系统整体性能明显提高;另一方面,使得FPGA可以进入到嵌入式系统应用领域,极大地扩展了 FPGA 的应用范围。(Altera 也有类似产品);
其中的“处理系统”为 PS,“可编程逻辑”为 PL
PS 处理系统包含 ARM 的硬核,可以上 OS 并跑一些复杂的软件应用,PL 端可以定制需要的运算或者外设,通过 AXI 总线与 PS 通信:
使用一颗 ZYNQ 来实现以前的 ARM 外挂 FPGA 的设计架构,即降低了总成本,同时可以改善性能,降低功耗,较少体积的同时,提升可靠性;
XILINX 的 ZYNQ 产品线按照不同的场景分了很多类:
从入门级的 ZYNQ-7000 SoC系列到高端的 ZYNQ UltraScale+RFSoC 系列;
不同系列包含的不同主要体现在两方面:
1、包含的 ARM 处理器核心不一样(CPU 核心数目以及 CPU 核心版本比如 Cortex-A9,Cortex-A53+Cortex-R)
2、包含的 FPGA 资源不一样(资源多少以及 XILINX 的 Artix 器件系列和 Kintex系列差别)
这里,我选择了入门款的 ZYNQ-7000 系列来玩玩,具体的型号为 XC72020,也就是 7020 这款;
具体的 ZYNQ-7000 选型列表参考:《Zynq-7000 SoC Family Product Selection Guide》
这款 ZYNQ-7000 集成了 ARM Cortex-A9 双核处理器(硬核)+ Artix 7 系列的 FPGA 特性
下面是 ZYNQ-7000 包含的资源:
可以看到7020 这款包含 Dual-Core ARM Cortex-A9 MPCore 以及丰富的外设,FPGA 方面列出了 LUTs 个数,FF 个数,BRAM,DSP Slices 的个数(没有 PCIe 的 IP);
它的内部互联结构如下:
两颗 ARM Cortex-A9 核心带 L1/L2 Cache,带 MMU,FPU & NEON 引擎,内部片上存储器 OCM(On Chip Memory),丰富的外设以及 GIC 中断控制器;下端是 FPGA 部分,使用 AXI 总线通过 Interconnect 与 CPU 硬核以及外部部分组成互联结构;
应用处理器单元 (APU)图所示是 APU 的简化框图。APU 主要是由两个 ARM 处理核组成的,每个都关联了一些可计算的单元:一个 NEONTM 媒体处理引擎(Media Processing Engine,MPE)和浮点单元 (Floating Point Unit,FPU);一个内存管理单元 (Memory Management Unit,MMU);和一个一级 cache 存储器(分为指令和数据两个部分)。APU 里还有一个二级 cache 存储器,再往下还有片上存储器(on chip memory,OCM)
大致了解 ZYNQ-7000 的情况后,还需要更加深入的了解工作原理、机制、和相关的一些资料,这样才能将其玩好;针对 ZYNQ-7000 系列的资料,最主要的有如下内容:
UG585, ZYNQ-7000 的 TRM 手册,关键的关键
由于 ZYNQ 的 FPGA 是 XINLIX 7 系列的 FPGA,所以针对 FPGA 方面需要了解的还有:
• UG471, 7 Series FPGAs SelectIO Resources User Guide
• UG472, 7 Series FPGAs Clocking Resources User Guide
• UG473, 7 Series FPGAs Memory Resources User Guide
• UG474, 7 Series FPGAs Configurable Logic Block User Guide
• UG476, 7 Series FPGAs GTX Transceiver User Guide
• UG482, 7 Series FPGAs GTP Transceiver User Guide
• PG054, 7 Series FPGAs Integrated Block for PCI Express LogiCORE IP Product Guide
• UG479, 7 Series FPGAs DSP48E1 User Guide
• UG480, 7 Series FPGAs XADC User Guide
• UG821, Zynq-7000 SoC Software Developers Guide
关于 7 系列的 FPGA 的个别部分,之前的博客有所涉及,待今后具体使用到的时候在更加深入的分析;
更多的与 ZYNQ-7000 相关的资料,参考 XILINX 官方网站部分,后续还可能还会涉及到 VIVADO 相关的一些操作说明和 ZYNQ-7000 的 Linux(PetaLinux 工具)的部分,这些 XILINX 官方也有技术手册,到时候涉及到的时候在分享;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。