赛灵思Zynq-7000 可扩展处理平台(EPP)将双 ARM Cortex-A9 MPCore 处理器系统与可编程逻辑和硬 IP 外设紧密集成在一起,提供了灵活性、可配置性和性能的完美组合。围绕其刚刚推出的可扩展处理平台(EPP), 赛灵思在今年3月发布了基于Zynq -7000新系列的首批器件。
采用 28 nm制造工艺, Zynq-7000嵌入式处理平台系列的每款产品均采用带有NEON及双精度浮点引擎的双核 ARM Cortex-A9 MPCore 处理系统,该系统通过硬连线完成了包括L1,L2 缓存、存储器控制器以及常用外设在内的全面集成。(图 1)。尽管 FPGA 厂商此前已推出过带硬核或软核处理器的器件,但 Zynq-7000 EPP 的独特之处在于它由ARM处理器系统而非可编程逻辑元件来进行控制。也就是说,处理系统能够在开机时引导(在 FPGA 逻辑之前)并运行各个独立于可编程逻辑之外的操作系统。这样设计人员就可对处理系统进行编程,根据需要来配置可编程逻辑。
利用这种方法,软件编程模式将与全功能标准 ARM 处理器片上系统(SoC)毫无二致。过去设计师需要对 FPGA 逻辑进行编程以运行片上处理器。那就意味着如果想要使用器件,必须得是 FPGA 设计师。但现在使用 Zynq-7000 EPP,则完全不必担心这一问题。
图 1 —— 不同于以往在 FPGA 架构中嵌入 MPU ,赛灵思全新 Zynq-7000 EPP 系列使用 ARM 处理器而非可编程逻辑来进行控制。
图1中文字:
2xUART |
2xUART |
GPIO |
GPIO |
2x SDIO with DMA |
2 个带有 DMA 的 SDIO |
2x USB with DMA |
2 条带有 DMA 的通用串行总线。 |
2x GigE with DMA |
2 个带有 DMA 的千兆位以太网 |
Static Memory Controller Quad-SPI, NAND, NOR |
静态内存控制器Quad-SPI、NAND、NOR |
Dynamic Memory ControllerDDR2, DDR3, LPDDR2 |
动态内存控制器DDR2、DDR3、 LPDDR2 |
AMBA Switches |
AMBA 交换机 |
AMBA Switches |
AMBA 交换机 |
ARM CoreSight Multi-core and Trace Debug |
ARM CoreSight Multi-core and Trace Debug |
NEON/FPU Engine |
NEON/FPU 引擎 |
NEON/FPU Engine |
NEON/FPU 引擎 |
Cortex-A9 MPCore32/32/KB I/O Caches |
Cortex-A9 MPCore32/32/KB I/O 高速缓存 |
Cortex-A9 MPCore32/32/KB I/O Caches |
Cortex-A9 MPCore32/32/KB I/O 高速缓存 |
512 KB L2 Cache |
512 KB 二级高速缓存 |
Snoop Control Unit (SCU) |
Snoop 控制单元(SCU) |
Timer Counters |
计时器 |
256 KB On-Chip Memory |
256 KB 片上内存 |
General Interrupt Controller |
通用中断控制器 |
DMA |
DMA |
Configuration |
配置 |
AMBA Switches |
AMBA 交换机 |
ACP |
ACP |
Programmable Logic: System GatesDSP, RAM |
可编程逻辑 系统 GatesDSP、RAM |
Multi Standards I/Os (3.3V & High Speed 1.8V) |
多个标准 I/O (3.3V 和高速 1.8V) |
XADC |
XADC |
PCIe |
PCIe |
Multi Standards IOs (3.3V & High Speed 1.8V) |
多个标准 I/O (3.3V 和高速 1.8V) |
Multi Gigabit Transceivers |
多个千兆位收发器 |
新产品系列消除了延迟和从头设计芯片的风险,这意味着系统设计团队可以利用其先进的高级软硬件编程多功能性简便快速创建创新型片上系统,而这是其他任何半导体器件都无法实现的。这样,Zynq -7000 EPP 能够为广大的创新者带来无法比拟的益处,无论是专业的硬件、软件、系统设计师或仅是单纯的“制造商”,他们都可以探讨处理能力与编程逻辑结合的可能性,进而创建出从未想象过的创新应用。
赛灵思处理平台副总裁 Larry Getman 表示:“从最根本的层次来说,Zynq-7000 EPP 应该算是一类全新的半导体产品。它既不是单纯的处理器,也不是单纯的 FPGA。我们的产品是两者的完美结合,正因如此我们才能够帮助您消除现有解决方案的局限性,尤其针对双芯片解决方案和 ASIC。
Getman 称当前大多数电子系统都是将一个FPGA和一个独立处理器或者一个带有片上处理器的ASIC在同一个PCB上配合使用。赛灵思的最新产品可支持使用这类双芯片解决方案的公司利用一个Zynq-7000 芯片来构建下一代系统,节省了物料成本和 PCB 空间,并且降低了总体功耗预算。由于处理器和FPGA 在相同的架构上,因此性能也得到了大幅提升。
Getman 表示 Zynq-7000 EPP 将会加快从 ASIC向 FPGA 的市场迁移。采用最新制造工艺实施 ASIC 过于昂贵并且对大多数应用来说风险太大。因此,越来越多的公司青睐于 FPGA。许多尝试坚守旧 ASIC 方法的公司采用旧的制造工艺来实施他们的设计,分析师称之为“价值认知型片上系统 ASIC”。然而 ASIC 依旧需要较长的设计周期并且存在重新设计(respin)的风险,这样一来费用将会非常昂贵并且可能还会延迟产品的上市时间。Getman 说:“与旧技术相比,借助采用 28 nm技术的 Zynq-7000 EPP,器件的可编程逻辑部分并不存在尺寸或性能损耗的问题,您还可在处理子系统中获得硬化 28 nm片上系统的附加优势。凭借不到 15 美元的起始售价,我们使设计那些产量并非很大的 ASIC 在成本和风险上都不再划算。您可以即刻让您的软硬件团队开工,而那些死守ASIC 的设计团队就很难做到这一点。”
Getman 表示自从赛灵思去年推出这款架构以来,市场对Zynq-7000 EPP的兴趣和需求非常强烈。经选择出的一部分早期试用客户(alpha customer)已开始对将使用 Zynq-7000 器件的系统进行原型设计。该技术非常令人兴奋。”
智能架构决策
在赛灵思处理解决方案副总裁 Vidya Rajagopalan 的领导下,Zynq-7000 EPP 设计团队专门针对这类新器件而推出了一款设计精良的架构。除了选择应用广泛且倍受欢迎的 ARM 处理器系统以外,设计团队的一个重要架构决策是在处理系统和可编程逻辑之间广泛使用高带宽 AMBA® 高级扩展接口(AXI)互联。这样一来便能够以较低的功耗支持 ARM 双核 Cortex-A9 MPCore 处理子系统和可编程逻辑之间的多千兆位数据传输,进而消除了控制、数据、I/O 和内存所面临的性能瓶颈。
实际上,赛灵思一直与 ARM 保持紧密合作,力求让 ARM 架构更加适合于 FPGA 应用。Rajagopalan 称:“AXI4 拥有存储器访问版本和流数据访问版本。赛灵思推动着 ARM 的流定义,因为人们针对应用而开发的许多 IP (例如高带宽视频)均为流 IP。ARM 的产品没有这种流接口,因此他们选择与我们合作。”
Getman 称这款架构的另一个主要方面是赛灵思将一组有益的标准接口 IP 硬化到 Zynq-7000 EPP 芯片中。他说:“我们尽量选择应用更广泛的外设,例如 USB、以太网、SDIO、UART、SPI、I2C 和 GPIO 都是标准配置。但有一个例外,那就是我们还向该器件添加了 CAN。CAN 属于稍专业化的硬化核心之一,但它在以下两个主要目标市场中应用广泛:工业和汽车业。将其硬化在器件中只是 Zynq-7000 EPP 的又一个卖点。
在内存方面,Zynq-7000 器件提供了多达 512 KB 的二级缓存,由两个处理器共享。Getman 说:“Zynq-7000 EPP 器件具有 256 KB 的高速暂存区,这是处理器和 FPGA 都可以访问的共享内存。”
一个单独的多标准 DDR 控制器可支持三种类型的双倍数据速率内存。 Rajagopalan 表示:“大多数 ASSP 的目标是特定细分市场,而我们的目标是 LP DDR2、DDR2 和 DDR3,因此用户可以根据自身需求在功率和性能之间做出权衡。这是一种多标准 DDR 控制器,而我们是最早提供类似控制器的公司之一。”
Zynq-7000 EPP 不仅是一种新器件,也是赛灵思的最新设计平台, 它与开发板、软件、IP 和文档一起提供,可以帮助客户迅速上手和运行。
以处理器为中心的开发流程
Zynq-7000 EPP 依赖于一种常见的工具流,嵌入式软件和硬件工程师可利用这一工具流来执行开发、调试和实施任务。其方法与现在非常相似,即采用通过 Xilinx® ISE® 设计套装和第三方工具提供的常见嵌入式设计方法(图 2)。Getman 注意到,软件应用工程师能使用与在之前的设计中采用的相同开发工具。赛灵思为嵌入式软件应用项目提供了软件开发工具包(SDK,一种基于 Eclipse 的工具套装)。工程师还可以使用第三方开发环境,例如 ARM Development Studio 5 (DS-5)、ARM RealView Development Suite (RVDS) 或任何其它来自 ARM 体系的开发工具。
Linux 应用开发人员可以充分利用 Zynq-7000 器件中的两个 Cortex-A9 CPU 内核,在对称多处理器模式下实现最高的性能。此外,他们还可以在单处理器或对称多处理器模式下运行的 Linux 系统(一种实时操作系统 (RTOS),包括 VxWorks 等)中设置 CPU 内核,也可以在二者中同时设置。为了支持快速开始软件开发,赛灵思为客户提供了开源的 Linux 驱动程序和裸机驱动程序,适用于所有外围处理设备(USB、以太网、SDIO、UART、CAN、SPI、I2C 和 GPIO)。赛灵思和 ARM 合作伙伴生态系统还提供了全面支持的 OS/RTOS 板卡支持套件,以及中间件和应用软件。
与此同时,ISE 设计套装中的硬件设计流程与嵌入式处理器设计流程相似,并为可扩展处理平台增加了一些新步骤。处理子系统是一个拥有整套通用外围设备的完整的双核系统。硬件设计师可以通过在可编程逻辑中为处理子系统连接更多软 IP 外围设备,来扩展其处理能力。硬件开发工具 Xilinx Platform Studio 实现了许多常用硬件开发步骤的自动化,还能协助设计师优化器件引脚。Getman 介绍说:“我们还为 ISE 增加了一些对硬件断点和交叉触发进行共同调试的功能。对我们来说,最重要的是要为软件开发人员和硬件设计师们提供舒适的开发环境。”
一种妥善的编程方法
在赛灵思的产品中,用户可以配置可编程逻辑,并通过 AXI “互连”模块将其连接到 ARM 内核,以扩展处理器系统的性能和功能范围。赛灵思和 ARM 合作伙伴生态系统提供了大量的软 AMBA 接口 IP 内核,供设计人员在 FPGA 可编程逻辑中使用。设计人员可以用它们来构建其目标应用所需的任何自定义功能。器件使用的是与 7 系列 FPGA 相同的常见可编程逻辑结构,所以设计人员可以加载一个或者多个配置文件,甚至采用部分可重配置技术,来支持器件按需即时对可编程逻辑功能进行重新编程。
器件两部分之间的互连操作对于设计人员在很大程度上是透明的。
图 2 - Zynq-7000 EPP 采用的是一种常见工具流,供系统架构师、软件开发人员和硬件设计师等人员使用。
工具开发流程
图中文字:
System Architect |
系统架构师 |
Software Developer |
软件开发人员 |
Programming |
编程 |
Integrate IP |
集成 IP |
Test |
测试 |
Debug |
调试 |
Custom IP |
定制 IP |
Xilinx IP |
赛灵思 IP |
Partner IP |
合作伙伴 IP |
Hardware Designer |
硬件设计师 |
Design |
设计 |
Integrate IP |
集成 IP |
Test |
测试 |
Debug |
调试 |
主、从器件之间的相互访问是根据为每个从器件分配的地址范围,通过 AXI 互连来路由的。多个主器件可以同时访问多个副器件,并且每个 AXI 互连使用一个两级 (two-level) 仲裁机制解决争用问题。
做好准备,及早参与
客户今天就可以通过参与早期试用计划,开始对 Zynq-7000 EPP 系列器件进行评测。首款芯片器件预计会在 2011 年下半年推出,工程样品将在 2012 年上半年推出。设计人员可以迅速直接使用支持 ARM 的工具和开发包来熟悉 Cortex-A9 MPCore 架构并开始移植代码。
根据容量和种类,这些器件的价格各不相同。根据之前的批量生产定价,Zynq-7000 EPP 系列高容量产品的起始价格将低于 15 美元。有兴趣的客户可以联系当地的赛灵思代表。