当前位置:首页 > 电源 > 功率器件
[导读]得益于赛灵思的SDSoC开发环境,将您的软件算法部分卸载到Zynq SoC或Zynq UltraScale + MPSoC的PL(可编程逻辑)以满足系统性能要求是非常简单的。一旦您熟悉了SDSoC的数据传输

得益于赛灵思的SDSoC开发环境,将您的软件算法部分卸载到Zynq SoC或Zynq UltraScale + MPSoC的PL(可编程逻辑)以满足系统性能要求是非常简单的。一旦您熟悉了SDSoC的数据传输选项,可以在PS和PL之间来回移动数据,您可以选择适合您的设计的最佳选择的数据移动器。然后,SDSoC的软件估算工具会显示预期的性能结果。

然而,当在实际的硅片上进行执行的最终测试时,您的系统的性能有时不符合预期,您需要发现原因和治疗方法。由于您已将软件任务卸载到PL,所以现有的软件调试/分析方法并不完全适用,因为并不是所有的处理都发生在PS中。

您需要确定出现意想不到的性能差距的原因。也许你是数据移动者的最佳选择。也许卸载的代码不是卸载到PL的好候选人。在不了解其原因的情况下,您无法解决性能问题。

您如何调查和调试基于Zynq的异构嵌入式系统的系统性能,其中部分代码在PS中运行,部分在PL中?

如果您是PL数据处理调试的世界的新人,您可能不熟悉查看PL数据流的选项。幸运的是,如果您使用SDSoC通过将其卸载到PL来加速软件任务,则有一个简单的解决方案。SDSoC具有仿真功能,用于查看使用整个系统上下文的PL硬件的模拟操作。

此仿真功能允许您识别数据流进出自动生成的IP块的任何时序问题,从而加速卸载的软件。同样的功能也可以显示出卸载的软件加速本身是否出现意外的放缓。

使用此工具可以帮助您找到性能瓶颈。您可以通过显示的仿真信号波形观察您的硬件数据流量来调查这些潜在的瓶颈。类似地,您可以通过观察PS和PL之间的数据信号传输数据来调查接口点。此信息提供了重要的见解,可帮助您查找和修复您的性能问题。

我们将重点介绍Xilinx MMADD示例中的乘法器IP块,以演示如何调试/仿真硬件加速功能。为了简单起见,我们将重点介绍一个IP块,乘法乘法器IP块从乘法和添加示例,如图1所示。

 

 

图1:扩展了端口A的乘法器IP块以显示其信号

我们将在仿真中查看来自该Mmult IP块的信号的波形。具体来说,我们将会看到如上图所示的A_PORTA信号。这些信号表示矩阵A的数据输入,对应于矩阵乘法器函数的软件输入参数A。

要开始使用仿真,可以在SDSoC的项目设置中生成“仿真模型”配置,如图2所示。

 

 

图2:启用仿真所需的mmult项目设置

接下来,正常地重建项目。在配置中启用仿真模型支持构建项目后,通过在“Xilinx工具”菜单选项下选择“启动/停止仿真”来运行仿真器。当窗口打开时,选择“开始”启动仿真器。然后,SDSoC将自动启动Xilinx Vivado的实例,该实例将触发SDSoC为您的SDSoC项目中为您创建的子项目自动生成的PL项目。

我们特意想查看Mmult IP块的A_PORTA信号。这些信号必须添加到波形窗口,以便在仿真期间查看。通过在“范围”窗格中选择mmult_1块,可以在“对象”窗格中查看可用的Mmult信号。要将A_PORTA信号添加到波形窗口,请在“对象”窗格中选择所有“A_ *”信号,右键单击,然后选择“添加到波形窗口”,如图3所示。

 

 

图3:行为模拟 - mmult_1信号突出显示

现在,您可以运行仿真并查看波形查看器中的信号状态。通过从“运行”下拉菜单中单击“全部运行”启动仿真器,如图4所示。

 

 

图4:开始仿真PL

返回SDSoC的工具链环境,您现在可以运行连接到此仿真会话的调试会话,就像您在目标上运行的软件一样。从“运行”菜单选项中,选择“Debug As - > 1 Launch on Emulator(SDSoC Debugger)”启动调试会话,如图5所示。

 

 

图5:连接调试会话以运行PL仿真

现在,您可以步骤或运行您的应用程序测试代码,并查看模拟器中感兴趣的信号。在图6中显示的是我们前面所强调的A_PORTA信号,以及使用Mmult和Add示例测试代码在PL逻辑运算结束时的信号值。

 

 

图6:仿真的mmult_1信号波形

这些信号告诉我们很多关于现在在PL中运行的卸载代码的性能,我们使用熟悉的仿真工具来获取此故障排除信息。这种强大的调试方法可以帮助您在硬件加速的C算法中解决意外的行为,让您能够同步到PL处理的黑匣子中,从而揭示可能使用一些微调的数据流行为。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭