0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个典型的Zynq SoC开发流程

安富利 来源:未知 作者:李倩 2018-05-01 16:53 次阅读

之前我们已经向大家介绍了全可编程的Zynq SoC平台应用开发所需的一系列“神器”,如Vivado、Xilinx SDK、PetaLinux等。那么这是否意味着在Zynq开发的过程中就会是“一马平川”呢?

让我们先来看看一个典型的Zynq SoC开发流程(如图1):开发者首先需要对软硬件进行分区,即确定系统哪些部分放入PL(可编程逻辑)中进行硬件加速,哪些部分在PS(处理器系统)中用软件实现;接下来,要完成软/硬件之间的连接,包括使用怎样的DataMover、PS与PL之间的接口如何配置等;之后要完成配套的软件驱动和应用程序的开发。

整个流程通常需要一个完整团队的通力合作,并不简单。而且,开发工作本身就是一个探索性的过程,很多情况下上述所有设计工作完成之后人们才发现,系统在吞吐量、延迟或面积等方面还需要进一步的优化,这就意味着“软硬件区分——硬件架构搭建——驱动和应用软件开发”整个流程要重新来过。如此经过多次迭代,才能获得一个令人满意的设计方案。而因此却可能造成开发周期的不可控,严重拖延Time-To-Market。这无疑是一个很大的挑战。

图1,传统的Zynq SoC开发流程

那么Zynq开发流程,有没有捷径可走呢?Xilinx给出的答案是:有!这个捷径就是SDSoC。

SDSoC是Xilinx推出的一个基于简便易用的Eclipse集成设计环境(IDE)的工具套件,它支持Zynq-7000全可编程SoC和Zynq UltraScale+ MPSoC,以及MicroBlaze处理器,可以为开发者提供类似嵌入式 C/C++/OpenCL 应用的开发体验。

如果感觉上面的描述比较抽象,那就让我们来看看使用SDSoC对Zynq开发流程的影响和改变(如图2)。应用SDSoC之后,工具可以自动搭建软硬件之间的通讯部分,包括DataMover、软件驱动程序和硬件连接接口,还可以将整个开发过程抽象到C/C++的应用层面,让开发者以C/C++为起点来进行算法开发。

在进行系统软件/硬件划分时,用户仅需在图形化界面中用鼠标单击指定那些需要进行硬件加速的模块即可。 而在将设计应用到Zynq系统上之后,如果发现性能不达标,可以使用SDSoC快速选择不同的用于硬件加速的功能块,探索不同的硬件/软件分区方案,或是通过pragma等手段来指导工具产生不同的系统配置等方法来进一步优化设计,实现快速的迭代优化。而整个开发过程都是在SDSoC这个统一的IDE中完成的,流程大为简化。有分析认为使用SDSoC进行Zynq系统开发,可以将整体开发时间从数周缩短至数日,甚至数个小时。

图2,采用SDSoC后Zynq SoC开发流程发生的改变

之所以能够达到这样的“境界”,与SDSoC的4个关键特性不无关系:

类似嵌入式开发的体验:SDSoC提供了一个大大简化的C / C++编程体验,用户可以在嵌入式开发人员所熟悉的基于Eclipse的IDE上完成整个Zynq SoC的开发。

系统级的特性描述:几分钟内快速完成性能估算与面积估算,自动监测高速缓存、存储器以及总线利用率,方便探索和实现最佳的总体系统架构。

全系统优化编译器:可将C/C++/OpenCL应用编译成全功能Zynq SoC与MPSoC系统,自动将软件代码放入可编程逻辑中加速,自动产生系统连接,以及相关的库以加速开发。

面向平台开发人员的专家级使用模型:为用户和第三方平台开发者提供了流程支持,通过提供平台描述文件的的手段,可以使他们自己设计的包含有Zynq SoC的开发板在SDSoC开发环境中使用。

图3,SDSoC开发环境的特点及流程

因此对于一个Zynq开发者来说,熟悉和掌握SDSoC也是一门必修课。在日前由安富利举办的MiniZed Speedway培训活动中,安富利的专家讲师就为学员设置了这样一个有关SDSoC的培训单元,帮助大家理解Xilinx SDSoC工具的概念,并通过实验环节,让学员为一个提供的平台创建一个设计,同时为安富利MiniZed创建一个客户SDSoC平台。通过学习和实际操作,学员可以直观地体验到如何利用SDSoC加速一个算法,这种经验对于开发者未来开发包含定制化算法的客户SDSoC平台并通过SDSoC加速,大有裨益。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • soc
    soc
    +关注

    关注

    38

    文章

    3743

    浏览量

    215659
  • 可编程
    +关注

    关注

    2

    文章

    759

    浏览量

    39111

原文标题:告诉你一条Zynq应用开发的捷径!对,就是SDSoC!

文章出处:【微信号:AvnetAsia,微信公众号:安富利】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Zynq7000 SoC开发套件:开创全新的产品设计领域

    `Zynq7000 SoC开发套件:开创全新的产品设计领域 Zynq-7000 SoC简介(来自Xilinx网站)
    发表于 01-28 14:36

    Vivado HLS视频库加速Zynq-7000 All Programmable SoC OpenCV应用

    SoC器件上快速地加速和集成您的计算机视觉应用。本次研讨会将通过对具体案例的流程进行“逐层拆解(Step-by-Step)
    发表于 12-30 16:09

    Zynq Book来袭!!!!!!

    ) 的英国学者所著,为您详细介绍 Xilinx® Zynq®-7000 All Programmable SoC。本书包含了 Zynq-7000 SoC
    发表于 09-04 11:37

    Zynq-7000 SoC提供 FPGA 资源

    ArduZynq 和 TE0726-03M ZynqBerry SBC 中的 Zynq Z-7010 SoC 的 FPGA 容量存在显著差异。虽然所有 Zynq-7000 SoC
    发表于 08-31 14:43

    RTOS怎么添加到ZYNQ SoC设计中?

    在寻求获得来自处理系统内的赛灵思Zynq®-7000全可编程SoC的最大利益,操作系统将让你更不是简单的裸机解决方案。任何开发
    发表于 10-23 07:44

    典型ZYNQ SoC结构图/系统框架

    硬件加速,最典型的架构就是将需要加速的大运算量逻辑部署到FPGA上,而将流程控制的逻辑部署到arm上。典型ZYNQ SoC结构如图1。  
    发表于 01-15 17:09

    ZYNQ芯片开发流程的简介

    PS和PL互联技术ZYNQ芯片开发流程的简介
    发表于 01-26 07:12

    基于Zynq的嵌入式开发流程

    基于Zynq的嵌入式开发流程Xilinx Zynq SoC 是集成了FPGA和硬核处理器的特殊SoC
    发表于 08-23 08:15

    ZYNQ嵌入式系统的开发流程

    部分的始发点。通过本次实验我们将了解 ZYNQ 嵌入式系统的开发流程,熟悉 ZYNQ 嵌入式最小系统的搭建。本章包括以下几个部分:1.1 简介1.2 实验任务1.3 硬件设计1.4
    发表于 10-27 07:50

    Xilinx Zynq-7000SOC的相关资料推荐

    是广州创龙基于Xilinx Zynq-7000 SoC设计的高速数据采集处理开发板,采用核心板+底板的设计方式,尺寸为180mm*130mm晶振核心板的PS端晶振Y3为33.3...
    发表于 01-03 07:50

    低成本 MiniZed Zynq SoC 开发

    MiniZed Zynq SoC 开发板基于全新 Xilinx Zynq Z-7007S 器件,现可通过安富利订购,仅需 89 美元。该开发
    的头像 发表于 09-22 18:02 7082次阅读

    Zynq开发流程的捷径SDSoC

    让我们先来看看一个典型Zynq SoC开发流程(如图1):开发者首先需要对软硬件进行分区,即确
    发表于 07-02 08:17 1875次阅读

    Zynq-7000 All Programmable SoC开发工具概述

    了解可用于Zynq-7000 All Programmable SoC的各种开发工具。 从愿景到部署Xilinx开发工具解决端到端开发问题
    的头像 发表于 11-26 06:38 3073次阅读

    典型ZYNQ开发流程

    Zynq UltraScale+ MPSoC系列是Xilinx第二代Zynq平台。其亮点在于FPGA里包含了完整的ARM处理子系统(PS),包含了四核Cortex-A53处理器
    的头像 发表于 02-08 14:39 6542次阅读
    <b class='flag-5'>典型</b>的<b class='flag-5'>ZYNQ</b><b class='flag-5'>开发</b><b class='flag-5'>流程</b>

    ZYNQ7020的PS端的基本开发流程

    这篇文章记录ZYNQ7020的PS端的基本开发流程,关于PL端的开发流程,参考之前文章,这里放个超链接。
    的头像 发表于 07-24 18:12 6124次阅读