Zynq开发流程的捷径SDSoC

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

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

Zynq开发流程的捷径SDSoC

让我们先来看看一个典型的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平台高效灵活的优势也才能够随之呈现在用户面前。

猜您喜欢

“No PP,No WAY”这是个眼见为实的世界,这是个视觉构成的信息洪流的世界。大脑处理视觉内容的速度比文字内容快6万倍,而随着智能手机的普及,图片、视频的产...
2018-12-19 16:42:00


棉签是我们日常生活中常见的小工具,虽然看似简单,但其参数却影响着使用效果。棉签的长度一般在6厘米到20厘米之间,选择合适的长度可以更好地满足不同场景的需求。棉签...
2017-11-28 00:00:00

栅极驱动光耦是用于电路中信号隔离和传输的电子元件。主要由发光二极管(LED)和光电接收器组成,能够将输入信号通过光的方式传递到输出端,从而实现电气隔离。栅极驱动...
2012-03-01 00:00:00

D-Sub/VGA连接器是应用于视频信号传输的接口,主要用于连接计算机与显示器、投影仪等设备。主要作用是将计算机内部生成的图像信号通过连接线传输到外部显示设备,...
2016-02-11 00:00:00

灯支架在现代生活中是重要配件,不仅是照明设备的支撑结构,更是家居装饰的一部分。灯支架能够提供稳定的支撑,确保灯具在使用过程中的安全性,避免因倾倒或掉落而造成的损...
2020-02-27 00:00:00


安全带是用于车辆内的安全防护装置,旨在保护乘员在发生碰撞或急刹车时,减少受伤的风险。通常由强韧的织物材料制成,通过锁扣系统固定在车内。安全带的基本功能是将乘客稳...
2016-04-24 00:00:00

贴片电阻的封装尺寸通常使用四位数字代码表示,例如0402、0603、0805、1206等。这些数字代表电阻的长和宽,单位是英寸的百分之一。例如,0402表示电阻...
2025-04-14 15:02:22

现代科技飞速发展的时代,配件的选择直接影响到设备的性能和使用体验。本文将重点介绍“Accessories_5.9X9.5MM_TM”这一配件,不仅在尺寸上具有独...
2025-04-19 23:31:14