首页 > 技术 > 内容

HLS高阶综合的定义及挑战

时间:2025-12-07  作者: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

猜您喜欢


防浪涌电阻作为关键的保护元件,是非常重要的配件,尤其是在雷电防护及电源抑制瞬态电压方面。TT Electronics,作为英国领先的电子元件制造商,其防浪涌电阻...
2016-03-19 02:04:39
EQ6GL9介绍中科亿海微神针系列可编程逻辑芯片EQ6GL9具有小尺寸和超低静态功耗的显著优势,最小尺寸为11mm×11mm,最低静态电流为2mA,支持塑封和...
2022-07-21 15:54:00
电流采样电阻是关键元件。作为行业领先品牌,Panasonic(松下)凭借其优良的品质和多样化的产品规格,成为众多工程师和设计师的首选。本文将围绕Panasoni...
2019-03-08 20:26:43
贴片电阻体积小巧,焊接牢固,拆卸不当容易损坏电路板。以下介绍几种安全拆卸方法:1. 热风枪: 这是最推荐的方法。热风枪可以均匀加热电阻及周围焊锡,使其熔化。用镊...
2024-11-29 10:25:37
游标卡尺是常用的精密测量工具,应用于机械加工、金属加工和实验室等领域。主要参数包括测量范围、分辨率、精度和结构类型。测量范围是指游标卡尺能够测量的最大长度,通常...
2011-01-21 00:00:00
贴片电阻,因其体积小巧,广泛应用于电子产品中。理解其规格和代码对于正确选择和使用至关重要。规格主要指尺寸、阻值和功率。尺寸通常用四位数字表示,例如「0805」代...
2024-11-26 11:29:13
1、引言在以往的DSP设计中,采用TTL、CMOS电路和专用数字电路进行设计时,器件对电路的处理功能是固定的,用户不能定义或修改其逻辑功能。但随着电子技术的发...
2020-09-01 09:25:00
寻找可靠的东莞贴片电阻生产厂家?我们提供高品质、高精度贴片电阻,满足您的 diverse 电子元件需求。我们拥有先进的生产设备和经验丰富的团队,严格控制生产流程...
2024-11-26 11:30:01
寻找可靠的贴片电阻电容生产厂家?合适的厂家选择对电子产品的质量和稳定性很重要。市场上众多厂家让人眼花缭乱,如何选择合适的合作伙伴?虽然没有一个官方的排名,但我们...
2024-11-29 10:26:02