《Zynq SoC的特性及其设计实现.docx》由会员分享,可在线阅读,更多相关《Zynq SoC的特性及其设计实现.docx(3页珍藏版)》请在第一文库网上搜索。
1、ZynqSoC的特性及其设计实现赛灵思Zynq-7000A11Programmab1eSoC系列代表了嵌入式设计的新局面,为嵌入式系统工程设计群体带来前所未有的高性能和灵活性。这些产品在单个器件上集成了特性丰富的双核ARMCorte-A9MPCOre处理系统和赛灵思可编程逻辑。3,000多个互联点将片上处理系统(PS)与片上可编程逻辑(P1)相连,使两个片上系统之间的性能达到了任何双芯片处理器FPGA都无法匹敌的高度。赛灵思在2011年发布这款ZynqSoC器件时,便立即得到了很多精通硬件设计语言和方法以及嵌入式软件开发的嵌入式系统工程师和架构师的追捧。如今,首款ZynqSoC已被用于无线基础
2、设施、皙能工厂和智能视频/视觉等多种嵌入式应用领域,并且快速成为高级驾驶员辅助系统约定俗成的标准平台0为了让这款性能卓越的器件能够被具有很强软件背景但没有HD1经验的嵌入式工程师所用,赛灵思在今年年初推出了基于Ec1ipse的2SoC集成开发环境,使软件工程师能够对ZynqSoC中的可编程逻辑和ARM处理系统进行编程。我们仔细了解一下ZynqSoC1的特性以及软件工程师如何利用SDSoC环境来创建用任何其他“处理器+FPGA”系统均无法实现的系统设计。为进行研究,我们将使用包含一个ZynqZ-7020-1器件的赛灵思ZC702评估板2作为硬件平台。如图1所示,ZynqSoC包含两大功能模块:P
3、S(包含应用处理器单元、存储器接口、外设和互联)和P1(传统的FPGA架构)。1-Zynq高级架构简介PS和P1通过与ARMAMBAAXI4接口兼容的互联链路紧密耦迨:在一起。四个高性能(HP)AXI4接口端口将P1连接到PS中的异步FIFO接口(AFI)模块,从而在P1和PS存储器系统(。蛆和片上存储器)之间提供一条高吞吐量的数据路径。AXI4加速器一致性端口(”P)允许直接从P1主设备对11和12高速缓存进行低时延的一致性访问。通用(GP)端口包含可从PS和P1访问的低性能通用端口。在传统的以硬件设计为核心的流程中,通过使用赛灵思的ViVMoDesignSuite在ZynqSoC上设计嵌入
4、式系统大致需要四个步骤:1 .系统架构师确定硬件-软件分区方案。计算密集型算法最适合硬件。特性分析结果是鉴别性能瓶颈以及在数据移动成本与加速优势之间进行权衡研究的基础。2 .硬件工程师处理被分到硬件中的功能,并将它们转换或设计成IP核,例如,用Vivado取代VHD1或例ri1og;用Vivado高层次综合(H1S)实现C/C+高层次综合3,或者用VivadoSystemGeneratorforDSP实现模型化丽4o3 .然后,工程师使用VivadoIPIntegrator5创建整个嵌入式系统的模块化设计。整个系统的开发需要用到不同的数据移动工具(AX1-如、AXIMemoryMasterAX
5、I-FIFO等),以及连接P1IP与PS的AX1接口(GP、HP和ACP)0一旦IPIntegrator中所有设计规则检查都通过,就可将项目导出至赛灵思软件开发套件(SDK)6o4 .软件工程师使用赛灵思SDK开发针对PS中ARM处理器的驱动程序和应用。最近几年,赛灵思对VivadoDesignSuite的简便易用性实现了显著提高,该套件能够让工程师缩短IP开发时间以及IP模块连接步骤(上述步骤2以及步骤3的部分内容)。就IP开发而言,采用这些最新设计技术(例如在ViVadOH1S工具中实现C/C+高层次综合;用ViVadoSystemGeneratorforDSP实现模型化设计)可以显著缩短
6、开发和验证时间,同时让设计团队能够使用高层次抽象探索更大的架构范围。对于使用VHD1或Veri1og需要数周才能完成的设计,利用新型工具只需数天就能完成。SDSoC环境会自动安排所有必要的赛灵思工具,以生成针对ZynqSoC的完整软硬件系统,而且所需的用户介入程度很小。赛灵思通过VivadoIPIntegrator可进一步强化流程。VivadoDesignSuite的这个功能使设计人员只需要在图形用户界面(GU1)中连接IP模块,就可以设计复杂的硬件系统(嵌入式或非嵌入式),从而实现快速的硬件系统集成。新的VivadoDesignSuite功能可帮助设计与开发团队简化ZynqSoC的使用。但对于以硬件为中心的优化流程而言,要缩短探索不同数据移动工具和PS-P1接口(步骤3的一部分)以及写入和调试驱动程序与应用(步骤4)所需的开发时间,办法并不多。如果整个系统不能满足吞吐量、时延或占位面积等方面的设计要求,那么设计团队不得不修改步骤3中的系统连接,以重构硬件架构。这些修改会不可避免地导致步骤4中的软件应用发生变化。有些情况下,加速不足或者硬件利用率过高会迫使开发团队重新考虑最初的软硬件分区。多个硬件和软件团队将不得不再次反复设计系统,以探索可能满足最终要求的其他架构。