实际使用高层次综合(HLS)的时机是否成熟?

 

人们对高层次综合(HLS)有一个很大的疑问就是它是否已经成为主流使用。换句话说,它是已经主流了还是没有?HLS有历史悠久产品,比如从来没有获得足够重视的Synopsys的行为编译器和Cadence的视觉设计师。然后是下一代产品,Synfora,Forte和Mentor的CatapultC。最近还AutoESL的AutoPilot和Cadence的CtoSilicon。 

阿图尔,AutoESL总裁,他说,他们已经从Berkeley设计技术中心获得问题的答案。Berkeley设计技术中心回答了AutoESL产品,AutoPilot是否是“主流”这个问题。由于HLS是一个竞争的市场,而在市场的公司都不断在客户中树立标杆,并且都都做销售。借此作为所有产品在市场中的代表一定程度上是合理的。每个产品都有它自己的长处和弱点,例如不同的产品有不同的输入语言(如只接受SystemC的Forte;Synfora只接受C;AutoESL接受的C,C + +和SystemC)。 

Berkeley设计技术中心运作两个基准。 一个是视频运动分析算法,另一个是DQPSK(无线路由器)接收器。两者都使用AutoPilot和Xilinx工具链合成,创造一个功能FPGA应用。 检验视频算法有两个方面:首先,在每秒60帧固定工作量的情况下,实现设计要最小能到多少。第二,给定的FPGA的限制,一帧速率可达到多高。无线接收器有一个采样18.75M/秒的规格,达到这样的规格,看看需要最低限度的资源是什么才能满足所需的吞吐量。 

相比之下,他们执行视频算法采用了德州仪器TMS320系列DSP处理器。这个芯片与他们使用的FPGA,Xilinx的XC3SD3400A,成本大致相同,25美元左右。 

视频算法使用了FPGA的39%的资源,但达到同样的效果,要使用至少12个DSP同时并行工作。显然,使用DSP成本更高,同时增加耗电量。当他们在看一帧速率可达到多快时,AutoPilot/FPGA解决方案可以实现每秒183帧,而DSP每秒仅5帧。此外,这两个解决方案实现的工作量大致相同。使用了FPGA的四分之三,这是一个相当大的设计。 AutoPilot读1600行的C程序,然后把它变成了38,000行的Verilog程序,仅用30秒的时间。 对于无线接收器,他们比较过手写的RTL实现。AutoPilot成功的设计,仅占FPGA的5.6%,而手写的RTL占5.9%。这差别不是很有显着,公平地说,AutoPilot与手工编码RTL是相同的,(至少在这个例子中是这样的,ymmv)。使用HLS至少减少50%开发工作。


Berkeley设计技术中心的结论是,他们“都对AutoPilot能够产生这样结果印象深刻。之前,这一直是HLS工具最大的弱点。”唯一的缺点是,该工具链是比较昂贵,(因为AutoESL没有捆绑FPGA或DSP)。 当然,看到其他HLS工具接通相同参考设计是很有意思;知道这些结果能否推广也很有趣。但对于上面提到的DSP算法,看起来好像HLS至少能达到与手写RTL相同的结果。但是,为了公平对待手写编程员,这些在吞吐量比延迟重要的DSP算法,在HLS看来只是小菜一碟。

 

你可能感兴趣的:(HLS)