您的位置 首页 IC

HLS高阶归纳的界说及应战

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

HLS高阶归纳(highlevelsynthesis)在被广泛运用之前,作为商业技能其完成已存在了20多年。规划团队关于这项技能能够说呈现出两极化的情绪:要么深信它是先进技能之俊彦,要么对其持慎重置疑情绪。

高档言语IP的优势是清楚明了的,例如易保护性、在规划周期前期进行严重改变的才能、以及大大节约产品上市时刻等方面的优势都很显着。现在的东西较之前一代东西,已有了大幅的前进:它们答应一些受欢迎的高档言语(如C++和C++)的准入,这一点让很多软件工程师甘之如饴。与硬件描绘言语(如VHDL和VerilogHDL)不同,它并不是由一小部分工程师把握的东西。当然,它也有局限性:言语约束,就像非可组成结构(non-syntheTIcconstructs)相同,有必要处理或与特别代码的问题,这或许对规划功用发生负面影响。

还有更糟糕的,很多或许处理方案都有必要经过逐个验证。现在的HLS东西是点东西(pointtools),他们处理的是某个具体问题。软件工程师还没有一个生态体系来辨认加快至硬件的代码是否需求加快。关于那个工程师而言,这时的高阶归纳或许是一个敌人,而不是朋友。假如没有对底层多核渠道的全面了解,没有对使用程序进行有用和精确地剖析,而且无法从规划空间中提取最佳处理方案,那么盲目断语一个单点的东西或许会导致功率极低的处理方案。

界说

咱们先退一步来说说界说。咱们说高档归纳(HLS),意思是在导出数字电路(digitalcircuits)的进程里,这个数字电路能够在高档标准的制作进程中组成。这个术语是行为和电子体系的结合:是一门技能,也是一门科学,它把规划目的笼统化,笼统视图能够主动地将人类规划者的尽力付诸实践。终究生成的规划应遵从一系列要求,包含芯片面积、时钟频率、功耗和时刻功用的要求等等。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工程师供给了风趣的问题,敬请期待。

作者介绍:NikilaosKavvadias

Nikilaos来自于希腊,他于2008年结业于希腊塞萨洛尼基亚里士多德大学(AUTH)的电子物理学专业,他的博士研讨方向为定制处理器规划办法。他从2008年到2012年担任伯罗奔尼撒大学计算机科学与技能系的讲师。2012年1月到2015年7月,他参加了Ajax编译器,并协助完成了高档归纳技能的商业化。2015年1月,Kavvadias博士参加Silexica,并担任研制工程师。他的研讨爱好包含多核架构的主动软件并行化、高阶归纳、特定于使用的处理器规划以及FPGA的体系规划。

修改:hfy

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/341624.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部