0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开源FPGA EDA工具必将统治世界?

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-06-14 09:47 次阅读

预测:开源FPGAEDA工具将统治世界吗?这里列出了两种不同的观点供大家参考,对于这个问题,相信每个人都会有自己的看法。观点一:开源FPGA EDA工具必将统治世界 IceStorm以及SymbiFlow(IS/SF)将会给数字电路设计带来革命性的变化,就像GCC革了系统软件的命一样。由此带来的结果是 1.FPGA的应用将会爆炸性增长 2.开源EDA工具将最终取代厂商专有的EDA工具。

开源编译器项目GCC

还记得1980年代末期,GNU的情况一个完全由极客支撑的项目,没有任何商业成分。所有的工作站供应商都知道GNU不成熟,均在投资为付费客户开发自己的编译器(例如SunCompiler,HPCompiler,DECCompiler,IBMCompiler…)。虽然GCC(GNUCompilerCollection,GNU编译器套件)只是一个纯靠兴趣支撑的项目(hobbystuff),支持的平台和集成度也并不完善,但那无伤大雅,因为每个用户(Everyone)都可以是项目的贡献者,足够多的用户一边使用,一边对其进行改进,并将其传遍了世界各地,最终,直接使用GCC编译器的Linux出现了。以上就是GCC的发展史。

890d226e-eb7c-11ec-ba43-dac502259ad0.png

SymbiFlow-the GCC of FPGAs项目介绍

对于FPGA来说,开源FPGAEDA工具和GCC的情况类似,虽然目前还停留在兴趣项目层面,但其进化速度相当之快。毕竟,它们是开源的,并且非常易懂,开发者很容易在使用过程中变成贡献者,从而协助对其进行建议和改进。综合、布局、布线等问题本身具备的复杂程度,恰又像黑夜里的一盏盏灯火,吸引着无数聪明的学者像飞蛾一样聚集上前来展开研究。更加值得鼓舞的是,开源FPGA EDA项目IceStorm(SymbiFlow)已经比商业EDA工具的运行速度高了一个数量级(有机会我们将开专题介绍),因为我从未在商业EDA工具上在15秒内将设计实现在FPGA上过(诚然,这只是一个很小的设计,和那些在UltraScale器件上所进行的复杂设计无法相比)。目前,该项目已经雄心勃勃地向着Xilinx7系列进发了。

89372974-eb7c-11ec-ba43-dac502259ad0.png

各领域开源工具/标准一览

观点二:开源FPGA EDA工具无法统治世界

很早以前,开源FPGAEDA工具将推翻现有商业FPGAEDA工具“王权”的说法就已在业界广为流传。这些说法有一个共同的特点:将FPGAEDA软件和普通软件进行了类比,并提到IceStorm项目(针对Lattice的iCE系列产品的逆向工程,Storm有“攻占”之意,意味深长)和CliffordWolf(开源FPGAEDA教父,宏大的开源FPGAEDA项目SymbiFlow的发起者之一)。

该观点的判断:开源FPGAEDA将在很长的一段时间里,无法挑战现有的FPGAEDA世界秩序。除非以下两种情况的任何一种情况发生:

1.Intel或者Xilinx直接支持某一开源FPGAEDA项目。

2.所有主流的Intel/XilinxFPGA器件被某一开源FPGAEDA项目通过逆向工程全部分析清楚。

下面就上述两种情况简单聊一下:

1.来自主流FPGA厂商的官方支持

如果你对大型开源工程(比如LLVM或者Linux)比较熟悉,你会发现其主要的开发者基本都是Intel、Apple、Google等公司所雇佣的全职人员(他们很专业,而且可以全身心投入),而不是一撮对技术极度狂热的,靠爱好和情怀聚集在一起的兼职人员。

那么Google或者Apple做这些开源项目的初衷是什么呢?这些项目和公司的主营业务无关,Apple想做开源编译器,但是做编译器并不能提高iPhone的销售收入。

但在FPGAEDA领域,情况并非如此。Intel和Xilinx很早就意识到,做出一款FPGA芯片并不难,难的是开发一款优秀的FPGAEDA工具,从而形成FPGA整体解决方案。FPGA产业的历史中,已经有无数的FPGA创业公司因为没有意识到这一点,而被无情的扫进了历史的垃圾堆,尽管这些公司有着十分先进的芯片设计理念。看看Tabula吧,并不是这个公司的硬件不行,而是你根本没法用他们的软件进行编程啊。因此EDA工具是一个公司进入FPGA领域的最大障碍之一,并且扮演了市场竞争的关键角色(differentiator),因为用户一旦选用了一家EDA,便会对这个生态产生依赖(移植涉及工作量以及不确定性)。普通编译器和软件工具的关系则并非如此。

请注意Intel是怎样的确保留了非开源的编译器-icc和ifort的-这些工具经过了无数的优化,因为他们是Intel商业逻辑中关键的一环。而开源FPGAEDA工具并非Intel和Xilinx的长期商业利益所在。

2.逆向工程

按照上面的逻辑,既然开源EDA工具无法得到Intel和Xilinx的支持,那么就剩下逆向工程一条路可走了。我知道CliffordWolf教授在这方面作出了大量艰苦且聪明的工作,而且取得了一定程度上的成功,比如完全逆向了Lattice的iCE40器件。并不是我不尊重教授所做出的贡献,但iCE40并不是什么复杂器件,iCE40和Stratix10之间的复杂度区别可能和Cessna172和Boeing787之间的差距差不多…

iCE40和Stratix10的复杂度差距可能和设计这两架飞机差不多 即使我们忽略复杂度的差别,仍然有2个基本无法克服的重要问题: 1)配置。一款现代FPGA,比如Stratix10的配置位并不仅仅是一系列简单的shift-registerCRAM,码流bitstream也不仅仅是一系列的LUT掩码和布线通路MUX配置码组成,而是一系列针对安全器件管理器(SecureDeviceManager)的命令流(CommandStream),这只是冰山一角。在不知道其内部任何细节的情况下去逆向仿制,无异于在没有任何操作说明的情况下,蒙上眼睛去组装一架现代飞机。在这个过程中,还不能出一点差错,因为一旦出现问题,你连为啥都不知道。

2)时序。任何聪明的布局布线算法在没有精确的时序模型(TimingModel)支持下,都不值一提。而时序模型是由物理实现(对FPGA公司来说,这是高度机密super-secret)以及工艺数据(超高度机密ultra-super-secret)决定的。对于以上内容,是完全无法通过逆向工程推出的。即使你通过足够保守的Fmax来从理论上解决建立时间的问题,也无法通过同样的方法解决保持时间以及其他时序约束问题。最好的情况是你的器件根本无法工作,最坏的情况则是无法诊断的功能错误间歇性出现(保持时间不满足导致偶然性亚稳态)。当工艺节点越来越小时,保持时间的变化趋势看上去会越来越差。

综上,开源EDA并不是行业的未来,我相信现有的开源EDA会持续改进,但其存在无法逾越的障碍,没有FPGA厂商的支持,开源EDA将永远无法追上现代FPGA发展的脚步。

总结

就笔者的看法,以上两种观点虽然看似大相径庭,但有一个共同观点,那就是开源FPGA EDA工具要走的路,还有很长,网上的讨论也精彩纷呈,但就像一家甜品店的不同风味的点心,如果点心的配方都一样了,对客户来说是最好的事么(客观来说,确实提高了甜品店的产出效率)?各位又对此有怎样的看法呢?

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21617

    浏览量

    601132
  • eda
    eda
    +关注

    关注

    71

    文章

    2679

    浏览量

    172701
  • 开源
    +关注

    关注

    3

    文章

    3213

    浏览量

    42294

原文标题:预测:开源FPGA EDA工具将统治世界吗?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的开发工具

    学习开发FPGA,需要预先准备好的工具吗?比如示波器‘逻辑分析仪之类的。毕竟侧重于硬件方面的处理。不知道和单片机开发有多少不同,和需要注意的地方。
    发表于 07-29 22:04

    使用什么EDA工具打开EVAL-AD2428WD1BZ-layout.pcb的PCB文件?

    使用什么EDA工具打开EVAL-AD2428WD1BZ-layout.pcb的PCB文件
    发表于 07-05 06:38

    为昕科技Jupiter 1.0 EDA试用

    我国产EDA工具完善和推广,让具有中国特色社会主义式EDA电子设计软件工具占领我国以至世界市场。同时期待上海为昕科技Jupiter 1.0
    发表于 04-29 18:23

    国内EDA工具AI技术应用现状及发展动态分析

    今年谈EDA工具融入AI已经不会再有人表达惊讶了,毕竟国际EDA巨头们都在持续做宣传。IIC Shanghai活动的不少EDA企业也在谈AI。
    发表于 04-12 10:43 784次阅读
    国内<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>AI技术应用现状及发展动态分析

    国产EDA如何?EDA设计的重要性

    EDA,是指电子设计自劢化( Electronic Design Automation)用于芯片设计时的重要工具,设计时工程师会用程式码规划芯片功能,再透过EDA 工具让程式码转换成实
    发表于 02-27 13:54 1288次阅读
    国产<b class='flag-5'>EDA</b>如何?<b class='flag-5'>EDA</b>设计的重要性

    国内首款自研的DFT EDA工具IMPERATA重磅发布

    IMPERATA是简矽自主研发的一款DFT EDA工具。它提供了一整套解决方案,用于在集成电路设计过程中实现测试和验证的自动化。
    的头像 发表于 02-20 17:18 2069次阅读
    国内首款自研的DFT <b class='flag-5'>EDA</b><b class='flag-5'>工具</b>IMPERATA重磅发布

    eda工具软件有哪些 EDA工具有什么优势

    和预测提供基础。在进行EDA过程中,使用合适的工具软件可以显著提升效率和准确性。本文将介绍几种常见的EDA工具软件。 Python和其相关的库 Python是一种广泛使用的编程语言,拥
    的头像 发表于 01-30 13:57 1059次阅读

    芯片设计及使用的EDA工具介绍

    机遇总是与挑战并存,目前国内在高端EDA工具研发方面,面临着如Synopsys、Cadence和Mentor等国际EDA供应商的巨大挑战,即使是作为本土最大的EDA公司,华大九天目前也
    发表于 01-18 15:19 1117次阅读
    芯片设计及使用的<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>介绍

    关于FPGA开源项目介绍

    Hello,大家好,之前给大家分享了大约一百多个关于FPGA开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用FPGA进行硬解,涉及的内核数不胜数,主要目标是
    的头像 发表于 01-10 10:54 1298次阅读
    关于<b class='flag-5'>FPGA</b>的<b class='flag-5'>开源</b>项目介绍

    开源FPGA项目有哪些

    请问开源FPGA项目有哪些?
    发表于 12-26 12:09

    软件定义世界 开源共筑未来 首届“开放原子开源大赛”火热进行中

    近日,2023 首届开放原子开源大赛正在火热进行中。本次大赛以“软件定义世界开源共筑未来”为主题,旨在联 合开源组织、企事业单位、高等院校、科研院所、行业组织、投融资机构等多方资源,
    的头像 发表于 12-21 14:40 328次阅读
    软件定义<b class='flag-5'>世界</b> <b class='flag-5'>开源</b>共筑未来 首届“开放原子<b class='flag-5'>开源</b>大赛”火热进行中

    EDA全流程的重要意义,以及国内EDA全流程进展

    程的方式。如果一款工具能够覆盖特定芯片在上述流程中的设计任务,那么我们就将其称之为全流程EDA工具,或者是全流程EDA平台。 在国产EDA
    的头像 发表于 12-14 00:08 2199次阅读

    九霄智能再获千万元融资,国内数字前端EDA工具市场持续发展

    电子发烧友网报道(文/莫婷婷)作为产业链上的关键环节,EDA工具占有举足轻重的位置。可以很明显地感受到,国内EDA产业进入提速发展阶段。中国半导体行业协会预测的数据显示,中国EDA市场
    的头像 发表于 12-12 00:40 1639次阅读

    国微芯EDA重磅发布多款自研数字EDA工具及软件系统!

    芯天成版图集成工具EsseDBScope,是基于国微芯EDA统一数据底座研发的标志性工具,本次推出的更新版本,新增了IP merge、LVL、Signal tracing、PG Find short等功能。
    发表于 11-16 10:00 423次阅读
    国微芯<b class='flag-5'>EDA</b>重磅发布多款自研数字<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>及软件系统!

    FPGA工程师需要具备哪些技能?

    ,需要具备一系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能。 一
    发表于 11-09 11:03