首页 > 技术 > 内容

HLS高阶综合的定义及挑战

时间:2026-01-31  作者:Diven  阅读:0

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

高级语言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

猜您喜欢


贴片电阻上的「010」并非直接表示电阻值,而是采用一种数字编码方式。其中「01」代表有效数字,而「0」代表乘数因子。具体来说,「010」代表的电阻值是10Ω(欧...
2024-11-26 11:29:12
自恢复保险丝(Polyfuse)因其能够在过载或短路情况下自动断开电路并在故障解除后自动恢复导通性能,受到应用。WMDA作为业内知名品牌,其自恢复保险丝产品因性...
2024-12-18 06:53:30
隔热手套是专为保护手部而设计的安全装备,应用于厨房、焊接、烘焙等高温环境。通常采用耐高温材料,如硅胶、芳纶或棉质内衬,能够有效抵御热量、火焰和蒸汽,确保在处理热...
2008-01-22 00:00:00
2021-12-20 12:40:30
线性模拟乘法器和除法器在现代电子系统中是重要配件,其主要优势体现在以下几个方面。线性模拟乘法器和除法器具有高精度和快速响应的特性,能够在各种应用中实现精确的信号...
2011-12-25 00:00:00
缆锁作为常见的安全防护工具,其参数直接影响到使用效果和安全性。缆锁的长度是一个重要参数,通常在1米到3米之间,用户可以根据实际需求选择合适的长度。缆锁的直径也很...
2012-06-21 00:00:00
现代电子设备中,集成电路(IC)扮演着至关重要的角色,而封装形式则直接影响到IC的性能和应用。SOIC8_150MIL是一种常见的封装类型,广泛应用于各种电子产...
2025-02-24 10:03:58
贴片电阻通常使用三位或四位数字来标记阻值。理解这些标记方法对于正确使用电阻很重要。三位数字标记法: 前两位数字表示有效数值,第三位数字表示10的幂次方。例如,标...
2024-11-29 10:26:23
0 引言随着半导体技术的高速发展,大规模集成电路变得更加复杂,开发周期变得更长。FPGA由于具备可编程性,其广泛应用可以降低电路的开发成本。然而,单粒子翻转(...
2020-01-26 16:31:00
NAND FLASH是应用于存储设备中的非易失性存储技术,其主要优势体现在以下几个方面。NAND FLASH具有较高的存储密度。与传统的存储介质相比,NAND ...
2013-12-03 00:00:00