这是一个交易完成。
好吧,也许没有完成,但完成。长尾,渐近线,20%,80%的努力。
简单地说,它是成熟。或折磨。
刚刚宣布了一项新的蓝皮书(一分钟),纳入11台积电的参考流,导师是预示着成年的电子系统级(ESL)设计又名高级合成(HLS)又名C-to-RTL,特别是在弹射器C工具的化身。在票面价值,鉴于这项技术的粗略的历史,这是一个大问题。然而,有一些人可能会有理由说,“这么快!”还有待观察是否有共识这个事实。
第一,这是什么意思的“工具”或“方法论”变得成熟呢?这通常意味着所需的主要技术的发展使一个技术有用;进一步的工作需要改进。这将是一个有争议的推论,它不再是一个有趣的技术工作,因为很酷的东西已经完成。
成熟也可能表明,不同供应商进入市场或多或少相同的功能和更微妙的技术差异像质量竞争的结果(QoR)或工具的性能。它甚至可以表明销售定价成为更重要的组成部分,虽然成熟并不是完全相同的商品化。
如果这是真的,这是一个长时间的到来。最广泛认可的早期C Handel-C硬件综合努力,发达国家在90年代后者在牛津,Celoxica商业化。具有讽刺意味的是,(从ESL更名为:嵌入式解决方案,有限公司)大部分的重点是fpga。Handel-C被视为一个漂亮的小语言的时候,但它从来没有真正触及跨步作为一个严重的方法论的原因,包括这一事实的并行化是由手和注释的代码本身。它还没有解决untimed-C问题,这是一个更大的奖。
进入2000年代,有一些工具旋涡从大公司和小,同样在努力解决这个棘手的问题。那个似乎达到逃逸速度超过其他导师的弹射器C(巧合的是,现在受益的遗产Handel-C通过其购买C合成的资产敏捷,昔日的催化,谁买了Celoxica)。然而,C-to-RTL似乎永远注定是一个技术,不辜负希望和期望。HLS留下的吸烟成堆的失望后,承诺的承诺设计简化未满足的了。
尘埃落定,各种伪装者皇冠发现其他的事情要做,最值得注意的幸存者被导师,Impulse-C(关注流C),和Synfora。然后,改变一些事情,AutoESL出现了。以免我们忘记,节奏也还了一个C-to-Silicon产品(尽管你大多没有听到关于它的——除非你写一篇文章没有提及)。CriticalBlue也综合协处理器从软件挂微处理器总线。
很难说有多少人出售以来所有这些企业都是垄断部门或私营公司,都必须披露他们的结果。然而,鉴于大小和传言,它不会意外发现弹射器C作为当前领先者(尽管早期AutoESL成功的谣言也乐观)。
但这是所有市场的东西,在大多数情况下。的迹象表明,导师将会告诉他们的技术是成熟的吗?嗯,首先,它使一个好故事,不带走任何的工具,但我们必须意识到这是一个营销信息,发挥导师的优势,考虑到他们历经残酷的历史。
堵洞
但让我们运行和测试的证据。的第一个迹象表明一个技术不成熟这一事实漏洞留在方法它使。导师指出自己的能力与弹射器C的历史开始,C合成可能只是块算法C滤波器的电路可能是最好的例子,它解决。
你可以做一个过滤器,然后你不得不手工缝过滤系统的其余部分。大洞。针对无线视频应用一些工作后,他们在允许多个块,但是,都是algorithm-centric。说不同,你可以设计数据流而不是使用c .缺口控制流。
然后他们解决控制流。和自那时以来,他们已经解决了低功率以及性能优化(先验参数大洞)。C是而言,这就是它结束。c++是交易的一部分,和硬件的体现c++ SystemC(或另一种方式说,SystemC不是C;它只是一个HDL C)。在解决,他们基本上宣布“任务完成”(历史表明可能风险)。
这一切都说明他们如何解决所有的这些功能(客户做出判断),但是,在这些方面,你可以说他们堵住了所有洞对C / c++。但是如果你HLS超过C (Synopsys对此一样),包括任何高级语言,那么M (MATLAB)失踪。(具有讽刺意味的是,Synopsys对此唯一的三个专业涵盖M与其Synphony HLS工具,尽管它是唯一一个最大的三个不覆盖c .)
导师声称,该行业已经选定了两种标准语言,C / c++和SystemC,但Mathworks可能会有其他的想法,(作为一个不太重要的工程师的数量)。它也可以认为M支持M-to-C转换C-to-RTL之前转换;这一观点可能会反驳的可能结果质量两个步骤,而不是一个。
另外一个导师的证据指出的是,他们有一个大的生态系统——这不仅仅是一个很少有公司辛苦勇敢反对浪潮。和台积电已经祝福ESL参考流11。
导师而言,现在正在进行的工作是关注改进如在更短的时间内得到更有效的结果。这需要进入调整阶段,同样的原因,地点和路线和FPGA工具从未完全停滞。他们可能不会增加主要新功能,但是他们试图做事情更快更好。
蓝色的感觉
最后,导师已经亮相,大张旗鼓地,一个新的HLS方法书:他们称之为高级合成蓝色的书。(我来自哪里,蓝皮书很小和空白,从不唤起美好时光。)有好运气来获得一个了解内容,这似乎是一个很好的治疗主题从经验中学习。作者迈克尔·Fingeroff显然是他们的技术销售工程师和深深沉浸在这通过帮助客户解决这件事。
首先明确这是什么:风格。这是HLS的弱点之一。这不是写C,它写的方式让工具知道该做什么。重点声称是c++中,虽然很多例子只是直C(从技术上讲,法律c++)。你接受教育硬件相关的东西不进来你的标准C编程类:bit-accurate类型,循环展开和流水线调度、内存、分层设计;完成了海报的报道HLS,可敬的过滤和FFT。
这与成熟度的问题是所有这些方法需要多年演变。这些东西并不容易,它不干净,和工程师必须找出最好的方法。这是导师(或Fingeroff先生的)编译的最佳实践。有趣的是,在我扫描的明显的地区,包括导师的托马斯•Bollaert没有特别提到弹射器c,唯一美中不足的是,编码风格倾向于高度取决于所使用的工具。毫无疑问很多东西在这本书中是普遍的;可能有其他工作只有在导师工具运行。
那么,HLS成熟吗?还是成熟?我认为有一些优点声称如果你限制对C / c++的谈话。是的,有一个新的球员,但是QoR AutoESL的消息中心,支持一般成熟的论文。从硬件设计师的角度来看,你可能会说,所有主要的洞已被关闭。
甚至有被由BDTi基准测试——外部权威往往涉足只有一次自然消除了最弱的竞争。它专注于fpga而不是出类拔萃,是尽可能多的看工作流的结果,但这本身说明一定程度的稳定。
剩下只有一个巨大的,巨大的,巨大无比的黑洞。这是一个每个人都同意:即使你可以用C语言设计硬件,你必须是一个硬件工程师。这不是软件工程师。和大多数相信它永远不会是。所以你可以方便地排除,孔说,“做完了。“但是有那些暗中觊觎的能力允许软件设计师创建高效的硬件没有成为硬件专家。这将是一个开放的游戏如果发生这种情况。
也许这是公平地说,HLS更多,它尚未达到退休年龄,但这是老足以参加AARP,它,尽管它的名字,让在显著的年轻人(给它更多的会费收入和政治影响力)。在这种情况下,现代的第一期成熟可能已经在途中。
更多信息: