第一章:赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)入门综述

第一章:赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)入门综述

引言

本专栏对赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC,Multi-Processor System on Chip)器件进行介绍。它是一个集成片上系统器件,其前身正是Zynq-7000。
Zynq多处理器片上系统MPSoC由多个不同的处理器元件组成,每个处理器原件针对特定的目的进行了优化。比如,MPSoC通常包含一组应用处理器、实时处理器、图形处理器以及现场可编程门阵列(Field Programmable Gate Array, FPGA)的可编程逻辑。
除了Zynq MPSoC架构之外,设计方法和软件工具也非常重要。适当的设计方法使得我们能够利用Zynq MPSoC设备来解决实际设计问题。与以前的设备相比,通过一系列扩展的处理单元,设计人员可充分利用Zynq MPSoC的功能,以达到在系统性能、可靠性、成本、功耗、安全性、上市时间等方面上的预期结果。出于这个原因,本专栏也重点概述了系统开发设置,包括可以部署在处理核心上的设计工具和操作系统。在Xilinx SDx工具中包含了一个特定功能,它允许用户完全使用软件代码来描述系统,然后在各种可用的处理单元之间进行分区。SDx中的SD表示软件定义(Software Defined, SD
Zynq MPSoC器件的应用多种多样,在Zynq-7000研发经验和MPSoC扩展设备的基础上,我们可以开展一些前沿领域研究。比如,先进自动驾驶系统(ADAS,Advanced Driver Assistance Systems)、计算机视觉(CV,Computer Vision)、软件无线电(SDR,Software Defined Radio)、工业物联网(IIoT,Industrial Internet of Things)。

Zynq的多处理器片上系统(MPSoC)简介

近年来,系统集成已成为一个热门领域。对于像Zynq和Zynq MPSoC这样的片上系统(SoC,System-on-Chip),它们包括可编程逻辑,微处理器和存储器——一个嵌入式系统通常需要的主要部件。实际上,这些设备还包括一些模拟电路,以及支持数字信号处理(DSP,Digital Signal Processing)应用的算术引擎,类似于DSP处理器器提供的功能。如图1所示,Zynq MPSoC器件的基本构成包括处理系统(PS,Processing System)与FPGA可编程逻辑(FPGA Programmable Logic)。这两个部分通过许多高级可扩展接口(AXI,Advanced eXtensible Interface)连接。这种高级结构与Zynq-7000芯片非常相似。
在这里插入图片描述

图1 Zynq MPSoC架构的简化图
与Zynq相比,Zynq MPSoC的主要区别在于更进一步的集成化,后者通过扩展处理系统中处理器的选择和数量,并扩展了FPGA的可编程逻辑部分的大小,以及增加了PS和PL之间AXI连接的数量和带宽。另外,后续还会进一步介绍更过的增强项。 在快速发展的应用领域,为了实现快速上市的目的驱使了对片上系统(SoC)的需求;另外,为了减少系统中集成组件开发所需要的工程量、最小化物理尺寸以及降低功耗,也驱使了对SoC的需求。由于软件设计工具和方法的发展,这些相对复杂的SoC器件必须易于进行系统设计,并且易于不断地升级。Xilinx和合作伙伴支持多种设计输入方法和语言,并继续引入新功能以实现快速开发,包括快速评估不同实现选项地功能。

Xilinx 片上系统(SoCs)发展简介

Xilinx传统上是一家可编程逻辑公司,专注于FPGA技术和复杂编程逻辑器件(CPLDs,Complex Programmable Logic Devices)。自2011年推出Zynq-7000以来,随着它向SoC地转变,其他构建模块也开始集成进来,因此Xilinx现在生产的设备不仅由可编程逻辑组成,而且还包括与处理器、内存、接口等相结合的可编程逻辑。
自从三十多年前Xilinx发明了FPGA以来,尤其是最近,人们对基于FPGA的灵活嵌入式系统产生了兴趣。这是因为“软”处理器的可用性,它可以借由FPGA的通用可编程逻辑进行搭建(而不是使用专用处理芯片)。以上述方式实现嵌入式系统仍然有效,并且具有相当大的灵活性,相反的,基于处理器的嵌入式开发则受到一定的局限性。
在某些应用场景,应用程序需要将单独的处理器芯片整合到系统中,并于FPGA建立适当的接口。这促使了Zynq-7000芯片在2010年初的出现,该芯片将FPGA的可编程逻辑于内置芯片中的专用“硬”处理器相结合,并在两个部件之间提供快速互联。Zynq-7000系列芯片的结构示意图如图2所示。本例中的处理器是双核Arm Cortex-A(“A” 表示应用处理器),与只能收集中的处理器类型相同。与之前采用的“软”处理器方法相比,该设备具有增强处理器能力的优势,这意味着一个完整的系统可以在单个芯片上实现。

在这里插入图片描述

图2 Zynq-7000芯片结构示意图
现在,Zynq MPSoC通过扩展处理系统中的处理器类型与功能,进一步拓展了SoC的概念。这里以Zynq Ultrascale + MPSoC处理系统为例(如图3所示),其与双核应用处理器(Zynq-7000系列)不同,现在可以选择32位或64位的双核或四核(而A9则是32位的双核处理器)。Zynq Ultrascale + MPSoC处理系统还包括基于两个Arm Cortex-R5内核的实时处理系统、一个图形处理单元(Graphics Processing Unit,GPU)等单元。添加这些额外类型处理单元的理由是,通过使用针对特定任务进行优化的处理器,可以获得更高的性能。

在这里插入图片描述

图3 Zynq Ultrascale + MPSoC处理系统示意图

设计方法

下面我们简介一个非常重要的问题!当我们具有了这些复杂的片上系统芯片后,我们如何利用它开发想要的智能系统?也就是我们的设计方法是什么?
简单来说,赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)的设计方法包括:(1)硬件设计、(2)软件设计。硬件设计主要负责SoC设备上可用物理资源的映射,而软件则运行在一个或者多个部署在芯片上的处理器。因此如图4所示,考虑到硬件设计与软件设计的根本性不同,在设计中分别使用不同的专用工具设计硬件和软件系统。

在这里插入图片描述

图4 基于Zynq MPSoC的简化设计流程(左:传统的“硬件/软件”设计流程; 右:“软件定义”设计工具,使用SDx)

在这个设计流程中,硬件和软件开发基本上可以独立进行,然后是集成阶段,而不是一个依赖于另一个的完成。设计人员使用他们选择的工具生成硬件系统的单元,使用Xilinx Vivado开发环境进行系统集成,并在目标设备上实现。软件开发人员可以使用Xilinx软件开发工具包(SDK,Software Development Kit)。最近,出现了向面向软件、硬件/软件协同设计的重大转变。简单地说,这些工具允许使用软件代码或基于块的设计方法,以高抽象级别描述整个系统的功能。然后在设计人员的指导下,考虑可用资源的能力,在SoC的硬件和软件组件之间划分功能。

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本书是使用Zynq MPSoC的开发人员的实用指南,同样也是希望熟悉器件及其相关设计方法的技术人员的有效参考。 Zynq MPSoC(多处理器片上系统)是Xilinx公司推出的第二代SoC系列产品,集成了复杂的处理系统,包括ARM Cortex-A53应用程序处理器和ARM Cortex-R5实时处理器,以及FPGA可编程逻辑。 来自苏格兰斯特拉斯克莱德大学(University of Strathclyde)的Louise Crockett团队基于这一平台的软件和硬件结构,撰写了Exploring Zynq MPSoC: With PYNQ and Machine Learning Applications,综合且全面地介绍了软件堆栈、多处理器处理系统以及可编程硬件阵列等问题。 程序员可以学会如何使用简单的软件界面和框架来快速实现他们的机器学习算法,系统设计师可以利用它来获取系统的最高性能。 内容导读 器件的架构 与Zynq7000相比,Zynq MPSoC 进一步整合了处理器系统中可选择的处理器数量和性能,最多可配备四个ARM Cortex-A53处理器内核和两个ARM Cortex-R5实时处理器内核。此外,该架构进一步拓展了可编程逻辑门阵列中的DSP切片和分布式存储器的规模。在开发当今新兴的AI应用程序时,全新的MPSoC架构将实现繁琐的算术计算和数据移动的过程变得十分轻松有趣。 设计工具和方法 SoC系统将包括硬件设计和软件设计两个方面。硬件设计会映射到SoC设备上的FPGA逻辑资源,而软件则运行在一个或多个系统内部署的处理器上。在此设计流程中,硬件和软件开发可以在很大程度上独立进行,然后整合。工程师使用他们选择的工具生成硬件系统的元素,并使用Xilinx Vivado开发环境实现系统集成和实现目标设备。软件开发人员可以使用Xilinx软件开发工具包(SDK)进行开发。这是传统的软硬件协同设计方法。 Xilinx的SDx开发环境则是一种更高级的开发方式。在Xilinx SDx工具中可以完全使用软件代码对整个系统进行描述,然后对各种计算进行资源分配(在用户指导下)。这使得面向软件的软硬件协同设计已经发生了相当大的转变。本书的第4章中更详细地讨论了关于SDx设计方法。 更先进的应用实现 本书还讨论了Zynq上许多应用程序的实现,包括FINN-R开源框架的有效性神经网络的实现、基于Python的Zynq设备框架和机器学习应用程序。我们可以预见到一些基于Zynq的更为优秀的产品,包括高级驾驶员辅助系统(ADAS),计算机视觉,“大数据”分析等。
### 回答1: Xilinx Zynq是一款集成了处理器和可编程逻辑的可扩展系统级芯片。它采用FPGA和ARM处理器的结合,提供了强大的处理和可编程性,适用于各种应用。为了更深入了解Xilinx Zynq芯片的架构、特性和使用方法,我们可以查阅Xilinx官方的Zynq技术文档。 Xilinx Zynq技术文档通常以PDF格式提供。这些文档包含了关于Xilinx Zynq芯片的全面介绍,包括其内部架构、处理器系统、可编程逻辑资源等方面的详细信息。通过阅读这些文档,我们可以了解到Zynq的硬件资源配置、编程模型以及各种外设和接口的使用方法。 在Zynq技术文档中,我们可以找到有关Zynq的产品规格、数据手册、应用手册、开发指南等。产品规格提供了关于芯片功能、性能指标以及电气特性的概要信息。数据手册则更加详细地描述了芯片的各项特性和功能,包括寄存器、接口、时序等方面的详细规格。 应用手册提供了使用Zynq芯片的实际应用案例和设计指导。它包含了关于系统设计、软件开发工具、外设集成等方面的详细说明和示例代码。开发指南则提供了关于Zynq开发板、工具链、软件开发环境等方面的详细指导,帮助开发人员快速上手并利用Zynq的强大功能开发应用程序。 总之,Xilinx Zynq PDF文档是学习和开发Zynq芯片的重要参考资料。通过仔细阅读和理解这些文档,我们能够更好地了解Zynq的架构和特性,并充分发挥其在各种应用中的优势。 ### 回答2: Xilinx ZynqXilinx推出的一款全新系列可编程逻辑器件。与传统的FPGA器件不同,Zynq结合了硬核处理器和可编程逻辑的功能,将ARM Cortex-A9处理器与FPGA技术紧密结合在一个芯片中,实现了处理器和可编程逻辑的高度集成。 Zynq的PDF是指Xilinx Zynq系列的产品手册或资料文档,用于介绍Zynq芯片的架构、功能特性、规格参数等详细信息。Zynq PDF通常包括以下内容: 1. 架构概述:介绍Zynq芯片的整体架构,包括处理器和可编程逻辑的互连方式以及相互之间的通信机制。 2. 处理器系统:介绍Zynq芯片中的ARM Cortex-A9处理器系统,包括处理器的特性、性能参数和应用场景等。 3. 可编程逻辑:介绍Zynq芯片中的可编程逻辑资源,包括FPGA的逻辑单元(LUT)、寄存器、DSP切片和BRAM等资源的数量和特性。 4. 高级外设接口:介绍Zynq芯片支持的外设接口,包括GPIO、UART、I2C、SPI等常用接口,以及高速接口如PCIe和Ethernet等。 5. 软件开发工具:介绍Zynq芯片的开发环境和工具链,包括SDK软件开发套件、Vivado设计套件以及其他辅助工具等。 6. 应用示例和案例:介绍Zynq芯片的应用示例和成功案例,展示其在各个领域的应用和效果。 通过阅读Zynq的PDF文档,用户可以全面了解Zynq芯片的特性和功能,为使用Zynq进行系统设计和开发提供了详尽的参考和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值