第一章:赛灵思(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架构的简化图
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芯片结构示意图
图3 Zynq Ultrascale + MPSoC处理系统示意图
设计方法
下面我们简介一个非常重要的问题!当我们具有了这些复杂的片上系统芯片后,我们如何利用它开发想要的智能系统?也就是我们的设计方法是什么?
简单来说,赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)的设计方法包括:(1)硬件设计、(2)软件设计。硬件设计主要负责SoC设备上可用物理资源的映射,而软件则运行在一个或者多个部署在芯片上的处理器。因此如图4所示,考虑到硬件设计与软件设计的根本性不同,在设计中分别使用不同的专用工具设计硬件和软件系统。
图4 基于Zynq MPSoC的简化设计流程(左:传统的“硬件/软件”设计流程; 右:“软件定义”设计工具,使用SDx)
在这个设计流程中,硬件和软件开发基本上可以独立进行,然后是集成阶段,而不是一个依赖于另一个的完成。设计人员使用他们选择的工具生成硬件系统的单元,使用Xilinx Vivado开发环境进行系统集成,并在目标设备上实现。软件开发人员可以使用Xilinx软件开发工具包(SDK,Software Development Kit)。最近,出现了向面向软件、硬件/软件协同设计的重大转变。简单地说,这些工具允许使用软件代码或基于块的设计方法,以高抽象级别描述整个系统的功能。然后在设计人员的指导下,考虑可用资源的能力,在SoC的硬件和软件组件之间划分功能。
今天的文章第一章:赛灵思(Xilinx)的Zynq的多处理器片上系统(MPSoC)入门综述「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85848.html