一个SDSoC设计开发流程需要哪些步骤呢?

时间:2025-08-03  作者:Diven  阅读:0

在上SDSoC系列文章的上一篇中,我们已经介绍了如何在SDSoC中构建硬件和软件平台,并使用SDSPFM工具生成客户应用开发平台(参见《SDSoC开发起步:构建硬件和软件平台》)。如果你已经完成了上述工作,恭喜你——现在你可以正式“起步”开始基于SDSoC在Zynq SoC上开发自己的应用了!

一个SDSoC设计开发流程需要哪些步骤呢?

一个典型的SDSoC设计开发流程,包括以下几个步骤:

用户定义开发应用所需的目标平台。

用户基于C/C++设计和验证算法。

用户根据系统特征描述确定性能瓶颈,然后进行软硬件分区。

SDSoC将自动执行那些通过PL(可编程逻辑)加速的功能,其功能保留在PS(处理器系统)中。

SDSoC也将自动生成软/硬件之间的连接和DataMover逻辑以连接PL和PS中的功能。

如果最终的结果未达到设计要求,开发者可以重新进行软硬件功能分区,探索最优的系统架构。

图1,SDSoC典型开发流程(图片来源:赛灵思)

没错,使用SDSoC进行应用开发说起来就是这么简单的几步。我们这篇文章的内容完全可以在这里划上句号。

不过,我们还是希望将现在“简单”的设计流程,和传统上可编程逻辑“不简单”的设计流程进行一个对比,让大家深刻认识到SDSoC到底帮你做了些什么?

所谓“没有对比就没有伤害”,传统的Zynq SoC开发流程是复杂成这个样子的——首先由系统架构工程师对软硬件进行分区,即确定哪些功能放入PL(可编程逻辑)中进行硬件加速,哪些功能在PS(处理器系统)中用软件实现;

接下来,硬件工程师基于Vivado生成要在PL中加速的IP并搭建硬件平台,还要完成软/硬件之间的连接,配置PS与PL之间的接口工作等;然后将硬件平台的数据导入SDK,由软件工程师完成配套的的驱动和应用程序的开发。可见,传统的设计流程,需要很多团队和资源的介入,不简单。

而如果完成了上述设计工作之后,发现系统架构还需要优化,这就悲催了——设计不得不重新调整软硬件分区,上述整个开发流程又要重新进行一遍,而且很多情况下需要多次迭代才能找到那个令人满意的系统架构和方案。由此耗费的时间和资源,是巨大的,甚至是不可控的。

图2,传统的FPGA SoC应用开发流程(图片来源:赛灵思)

而使用SDSoC之后,很多工作是由工具自动完成的:省去了诸如软件驱动和硬件连接等繁复的手动工作,同时使用C/C++终端应用可以像函数调用一样输入调用用户算法IP;只需要单次点击,就可以完成分区设置以确定需要在可编程逻辑中运行的功能。

图3,使用SDSoC简化后的FPGA SoC应用开发流程(图片来源:赛灵思)

做一个不是十分准确的比喻:SDSoC与传统工具和开发流程的差别,就像是自动挡与手动挡汽车的不同,让复杂的工作对用户变得“透明”,让用户实际的“操作”变得更简单,而用户由此被解放出来的精力,则可以用到思考“要去哪儿、如何走”等更高级的问题,而不是和“油离配合”较劲儿。

类比到FPGA SoC的应用开发中,用户最关注的部分往往是算法的最终实现和算法模块的优化——包括IP或是软件功能块——SDSoC的设计理念正是让用户能够更加专注于这些核心问题,其问题SDSoC帮你搞掂。从这个意义上看,SDSoC在“简单”的背后确实不简单。

猜您喜欢

对于一个开发人员,可能听说过 FPGA,甚至在大学课程设计中,可能拿 FPGA 做过计算机体系架构相关的验证,但是对于它的第一印象可能觉得这是硬件工程师干的事儿...
2020-07-16 17:58:00

现代工业和消费市场中,配件的作用愈发重要。尤其是“Accessories_7.5X8.2MM_TM”这一特定型号的配件,以其独特的规格和功能,成为了许多产品的必...
2025-03-06 08:05:02

贴片电阻上的5100标识代表其阻值为51Ω。 这是一种简洁的编码方式,方便工程师和爱好者快速识别元件参数。具体来说,5100遵循三位数或四位数的编码规则。前两位...
2024-11-29 10:26:26

在选择切割机、云石机或修边机时,规格和尺寸是非常重要的因素。这些工具的规格通常包括功率、切割深度、切割宽度和转速等。切割机的功率范围从750瓦到3000瓦不等,...
2018-03-18 00:00:00

光敏电阻作为重要的光电传感元件,得到了的应用。丰晶(Gausstek)作为国内知名的光敏电阻品牌,优异的性能和稳定的品质在市场中占据了一席之地。本文将详细介绍丰...
2014-09-13 16:42:26

现代生活中,配件的选择不仅仅是为了美观,更是为了提升使用体验和功能性。Accessories_12.5X6MM_SM作为一种新型配件,因其独特的尺寸和设计,受到...
2025-03-05 06:54:27


二极管是电子电路中最基本的元件,应用于整流、信号调制、开关等多种场合。了解二极管的正负极判断是使用和设计电路的基础。本文将详细介绍如何判断二极管的正负极符号,以...
2025-03-30 02:01:39

网口变压器在网络设备中是重要配件,但不同类型的网口变压器之间存在一些显著区别。网口变压器的类型主要分为隔离型和非隔离型。隔离型变压器能够有效防止电流回流,保护设...
2013-12-24 00:00:00

开孔器套装是多功能的工具,应用于多个领域。在建筑和装修行业,开孔器用于精准打孔,以便安装电线、管道或其设备,确保工程的顺利进行。在家具制造和木工行业,开孔器能够...
2014-01-09 00:00:00