HLS高阶综合的定义及挑战

时间:2025-09-17  作者:Diven  阅读:0

HLS高阶综合(high level synthesis)在被使用之前,作为商业技术其实已经存在了20多年。设计团队对于这项技术可以说呈现出两极化的态度:要么坚信是先进技术之翘楚,要么对其持谨慎怀疑态度。

HLS高阶综合的定义及挑战

高级语言IP的优势是显而易见的,例如易维护性、在设计周期早期进行重大变更的能力、以及大大节省产品上市时间等方面的优势都很明显。目前的工具较之前一代工具,已有了大幅的进步:允许一些受欢迎的高级语言(如C和C ++)的准入,这一点让众多软件工程师甘之如饴。与硬件描述语言(如VHDL和Verilog HDL)不同,并不是由一小部分工程师掌握的工具。当然,也有局限性:语言限制,就像非可合成构造(non-synthetIC constructs)一样,必须解决或与特殊代码的问题,这可能对设计性能产生负面影响。

还有更糟糕的,大量可能解决方案都必须经过一一验证。目前的HLS工具是点工具(point tools),解决的是某个具体问题。软件工程师还没有一个生态系统来识别加速至硬件的代码是否需要加速。对于那个工程师而言,这时的高阶综合可能是一个敌人,而不是朋友。如果没有对底层多核平台的全面理解,没有对应用程序进行有效和准确地分析,并且无法从设计空间中提取最佳解决方案,那么盲目断言一个单点的工具可能会导致效率极低的解决方案。

定义

我们先退一步来说说定义。我们说高级综合(HLS),意思是在导出数字电路(digital circuits)的过程里,这个数字电路可以在高级规范的制造过程中合成。这个术语是行为和电子系统的结合:是一门技术,也是一门科学,把设计意图抽象化,抽象视图可以自动地将人类设计者的努力付诸现实。最终生成的设计应遵循一系列要求,包括芯片面积、时钟频率、功耗和时间性能的要求等等。HLS工具的任务应该是基于可移交给物理实现流程的而生成的优秀设计。通常该接口是RTL(寄存器传输级别),其中生成的描述是由数字设计领域的汇编语言VHDL和Verilog组成的,与逻辑综合和物理实现可以接受的后端工具一样高。 RTL描述内容包括生成的电路在状态机、存储器寄存器存储、流水线或多周期操作方面的功能。

一个成功的HLS故事中一部分好像是艺术。作为高级语言代码(通常是C,C ++或SystemC),给出的输入规范必须满足对应该如何编写的某些期望。而另一部分则是科学,因为HLS已经成熟到足以成为硬件工程师库存中的实用工具。尽管设计生态系统还不算是一个理想平台,因为仍不可保证达到可持续生产力的产生。因此每一个成功故事的背后,都包含着更多的不为人知的故事,包括不得不采用老办法时倍感愤怒的团队,因为这样既没有真正利用多核,也没有平台中的FPGA空间。

寻求一个最佳解决方案(包括在面积,功率,时间性能方面)的过程必然充满艰辛。在做设计决策时需要我们的专业知识,用户也必须具有经验,才能为既定的应用程序或程序集进行有效地HLS引擎做正确的决策。

挑战

为了探索解决方案空间,我们必须根据给定的配置合成所得到的电路进行全方位的尝试。使用现在的HLS工具,每种特定配置可能需要几分钟到半小时或更长时间。这显然其实没有帮助用户减轻负担,因为这个过程是手动的、缓慢的、容易出错的,很容易导致明显的非最优解决方案。HLS引擎的常见弱点包括:

- 没有早期的性能估计以及任何违反设计和平台限制的行为

- 没有利用所有可能的数据通信方式

- 没有功能概述,也没有对用户代码进行优化转换

- 支持代码报告得太晚了

- 在某些情况下,工具的高效实施是不可能的,例如当必须将太多的加速器映射到硬件部分时。 HLS工具无法预先检测到这种情况,也无法在用户坚持的情况下尽量减轻其影响。

这些弱点都对设计周期造成损害,因为不允许自动设计空间探索,更不用说为所需解决方案自动生成软件和硬件。

解决办法

为了在整体生态系统中有效地整合高级综合,需要更高级别的工具。 SilexICa的SLX是唯一真正支持多核自动生成软件的生态系统,无论是硬连线(hardwired),还是在FPGA上实现的软核(如果有的话)。在我们的例子中,SLX解决方案中的分析功能保证用户可以选择适当时机切入设计。使用底层平台的模型,包括硬连线处理器和软处理器,现在正在扩展到FPGA的硬件加速器。 SLX了解数据通信的可能方式及其成本。可以分析用户代码以识别执行热点。使用快速估算引擎,在数秒或数分钟而不是数天和数周内,为实际工业问题进行设计空间探索。

为了从具有FPGA加速器的异构多核系统中获得最佳效果,SLX面临着有趣的挑战。目前正在扩展FPGA资源的高级模型,以便如何组织硬件加速。该模型将允许灵活地在每个应用程序的基础上进行架构决策,因此非常适合HLS感知流程。还将实现更准确的性能评估,这对于有效探索解决方案空间非常重要。 SLX工具扩展用于自动HLS感知C代码生成,将无缝切换到HLS工具,最后一步实现使用SLX进行FPGA加速的端到端自动化流程。

HLS是我们应该善待的朋友,也不应该承载我们错误的期望。为了使HLS成为一个方便且不可少的工具,我们需要提高设计抽象和自动化的水平。SLX通过经过检查的应用程序及其输入数据,以及底层平台的描述,即可帮助用户以最小的努力获得最佳设计。通过FPGA加速器实现异构多核编程的完全集成流程的要求为Silexica工程师提供了有趣的问题,敬请期待。

作者介绍:Nikilaos Kavvadias

Nikilaos来自于希腊,于2008年毕业于希腊塞萨洛尼基亚里士多德大学(AUTH)的电子物理学专业,博士研究方向为定制处理器设计方法。从2008年到2012年担任伯罗奔尼撒大学计算机科学与技术系的讲师。2012年1月到2015年7月,加入了Ajax编译器,并帮助实现了高级综合技术的商业化。2015年1月,Kavvadias博士加入Silexica,并担任研发工程师。 研究兴趣包括多核架构的自动软件并行化、高阶综合、特定于应用的处理器设计以及FPGA的系统设计。

编辑:hfy

猜您喜欢

危险品标识是确保安全管理的重要工具,具有多重作用。能够明确标识出危险物品的种类,如易燃、腐蚀性、毒性等,帮助人们快速识别潜在风险,避免意外事故的发生。危险品标识...
2012-11-20 00:00:00

DDR(双倍数据速率)内存已成为现代电子设备中重要的组成部分,其高速数据传输能力为各种应用提供了强大的性能支持。 然而,DDR电路设计并非易事,需要对信号完整性...
2024-11-07 00:00:00

固态铝电解电容,用于电子产品中。具有高性能和长寿命的特点。品牌的选择对产品质量很重要。本文将介绍几个知名品牌,帮助您选择合适的固态铝电解电容。品牌一:尼康尼康是...
2025-03-25 14:00:02


0603贴片电阻的阻值并非固定在一个数值上,而是涵盖了非常广泛的范围。从几分之一欧姆到几兆欧姆,几乎所有常用的阻值都能在0603封装的电阻中找到。 具体阻值需要...
2024-11-26 11:29:56

消防应急标志灯是保障人们在紧急情况下安全疏散的重要设备,其参数直接影响到使用效果。亮度是一个关键参数,通常应急标志灯的亮度需达到200cd/m²以上,以确保在烟...
2018-04-18 00:00:00

变容二极管,又称可变电容二极管,是具有电压控制电容特性的半导体器件。由于其独特的电压-电容特性,变容二极管在现代电子电路中发挥着重要的作用。本文将深入探讨变容二...
2025-04-08 17:31:08

电阻作为电子元件中的基础组成部分,其种类和规格也日益丰富。禾伸堂(HEC)作为知名的电子元器件品牌,其瓷管电阻凭借优良的性能和稳定的质量,在市场上占有一席之地。...
2024-12-17 08:12:54

贴片电阻1206,这种小巧的电子元件,在各种电子电路中是很重要的配件。的尺寸仅为1.2mm x 0.6mm,如同米粒般大小,却拥有着强大的功能,能够精确地控制电...
2024-11-29 10:26:09

电子元器件的生产和应用中,电阻器作为一种基础组件,应用于各类电路中。选择合适的电阻器生产厂家,不仅能保证产品质量,还能提升整个项目的效率和可靠性。而在选择厂家时...
2025-03-18 14:33:35