首页 > 技术 > 内容

Zynq开发流程的捷径SDSoC

时间:2025-11-29  作者:Diven  阅读:0

之前我们已经向大家介绍了全可编程的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加速,大有裨益。

MiniZed Speedway培训活动中SDSoC课程要点包括:

什么是SDSoC?

SDSoC的设计流程

SDSoC平台的概念

使用SDSPFM创建客户SDSoC平台

HLS概览

通过实验环节,学员可掌握的技能包括:

SDSoC的基础设计流程

创建一个客户SDSoC平台

当然,所谓“师傅领进门,修行在个人”,SDSoC在设计实战中所能够释放出的强大能量,还需要大家不断地和摸索, Zynq平台高效灵活的优势也才能够随之呈现在用户面前。

猜您喜欢


传感器模块是将传感器与其电子元件结合在一起的集成组件,旨在实现对特定物理量的检测和转换。通常由传感器、信号调理电路和接口电路组成,能够将感测到的物理量(如温度、...
2009-01-06 00:00:00
喉箍是应用于各个领域的重要组件,其主要功能是固定和连接管道或其设备。在建筑行业,喉箍常用于水管、气管的连接,确保系统的密封性和稳定性。在汽车制造中,喉箍用于固定...
2014-09-03 00:00:00
电脑是能够接收、处理、存储和输出信息的电子设备。通过执行预先设定的程序指令来完成各种计算和数据处理任务。现代电脑通常由硬件和软件两部分组成。硬件包括中央处理器(...
2025-05-01 00:00:00
独石电容是电子元件中常见的,回收价也是大家关心的。如今,电子废弃物的处理越来越重要,回收独石电容可以带来一定的经济收益。本文将介绍独石电容回收价的相关信息。独石...
2025-03-26 06:30:34
你是否曾经想过,你的手机是如何在电池电压有限的情况下,驱动需要更高电压的组件,例如闪光灯或显示屏背光?这其中的奥秘就在于一个名为电荷泵的小巧而强大的电路。简单来...
2024-03-09 00:00:00
V/F和F/V转换芯片应用于多个领域,主要用于信号处理和数据转换。在工业自动化中,这些芯片用于将模拟信号转换为数字信号,便于监控和控制系统的实时性能。例如,在温...
2012-06-12 00:00:00
对于经常接触电子元件的人来说,贴片电阻的E96代码就像乘法口诀一样,用多了自然就记住了。但是,对于初学者或者偶尔用到的人来说,死记硬背E96代码表既费时费力,也...
2025-04-14 15:03:44
墨水屏作为新兴的显示技术,因其独特的优势而受到关注。墨水屏的分辨率通常较高,一般在300 PPI以上,能够呈现细腻的文字和图像,给用户带来高品质的阅读体验。墨水...
2010-08-19 00:00:00