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

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

3天内不再提示

软件工具决定了FPGA发展水平?

我快闭嘴 来源:EDA365网 作者:EDA365网 2020-09-30 14:48 次阅读

被誉为“万能芯片”的FPGA,近年来越来越多的受到国内市场的关注。不过,其技术门槛之高,在芯片领域几乎是无出其右的。其中,在制约FPGA发展的众多因素中,最关键的便是EDA软件工具。

缺一不可!发展FPGA需软硬件两手抓

FPGA全称为Field Programmable Array,是通过可编程互连连接的可配置逻辑块(CLB) 矩阵构成的可编程半导体器件。FPGA需要配套软件将用户设计烧录到芯片上才能实现相应功能。

目前,在芯片市场主要有CPUGPU、FPGA与ASIC四大类型。与其它主流芯片相比,FPGA的的灵活性要高于专用芯片ASIC,性能和实时处理能力优于CPU,无需NRE成本,上市时间也更快。不过,其功耗、成本、尺寸都大于专用芯片ASIC,应用开发门槛偏高,并不适合海量应用。

知名半导体专家(《芯事》作者)谢志峰博士认为:“发展FPGA必须在硬件和软件两方面共同发展,如果国内芯片制程工艺达不到要求,FPGA产业很难达到最先进的水平。”

FPGA是需要“芯片+EDA+IP”来实现功能的产品,如果把FPGA比作电脑,那么芯片相当于Intel CPU,EDA软件相当于微软OS,IP方案则相当于应用软件。电脑正常工作需要Intel CPU、微软OS、应用软件共同配合,FPGA也需要芯片、EDA、IP这些软硬件共同支撑实现功能。

不过,此处的EDA并不是指广义的通用EDA。广义的EDA 是芯片设计中必需和最重要的集成电路软件设计工具。广义EDA市场份额占据前三的Synopsys、Cadence(铿腾电子)和被西门子收购的Mentor,是ASIC设计领域主要的软件供应商,其它公司的软件相对来说在IC设计时使用者较少。

此文所指的EDA是FPGA专用的软件开发工具。不论用户选择使用的是哪个厂家的FPGA,在用户端实现功能时,都需要通过该厂家自主研发的EDA,也就是FPGA软件工具的一系列流程来操作完成,比如Xilinx的Vivado、Intel的QuartusII、国内紫光同创的PDS,都属于各家的FPGA软件工具。

从设计流程上来讲,FPGA与其他芯片的前端设计流程是相同的,设计FPGA芯片本身也需要用到广义的通用EDA,但当芯片设计基本完成后,如ASIC专用芯片不需要编程,直接可焊到板子上运行,FPGA则需要通过软件工具中的流程将用户写好的程序编译到FPGA中。

通俗来讲,如果将硬件比作纸,用户把需要实现的功能下载到芯片上类似于把画画到纸上,那么软件工具就是作画的那支画笔。一幅画作的完成必须兼具纸张与画笔。也就是说,对于FPGA而言,软硬件必须是“两条腿走路”,互相支撑配合,缺一不可。

举足轻重!软件工具决定了FPGA发展水平

虽然FPGA前后端设计与数字芯片具有很多相通性,但FPGA设计流程中往往是软件工具先行,尤其在高端大规模领域。就FPGA本身而言,制约其发展的因素有成本、功耗及软件开发工具等。其中软件工具的作用举足轻重。

紫光同创市场总监吕喆认为:“软硬件协同发展的FPGA,软件工具的水平基本上与硬件的水平是对应的。从某种程度上甚至可以说,软件工具处于决定性地位,其软件工具研发水平决定了硬件规模和性能所能达到的高度。”

软件工具的研发不仅极具重要性,对于FPGA的发展更是十分必要的。为了在应用端最大限度地发挥硬件性能,FPGA厂商必须为用户提供自主开发的软件工具。除了考虑与芯片硬件架构的匹配和一致性,软件工具编程设计时还要考虑应用场景多样性、时许模型的复杂性和用户使用体验及效率等。因此,FPGA厂商需要在软件工具方面不断投入。以FPGA巨头Xilinx公司为例,其研发人员约为1500人,软硬件人员基本相同,其中EDA工具人员就超过500人。

FPGA企业都拥有自主研发的软件工具。如Vivado和ISE是Xilinx公司提供的集成化FPGA开发软件,它的主要功能包括设计输入(DesignEntry)、综合(Synthesis)、仿真Simulation)、实现(Implementation)和下载(Download)等。

Quartus II是Altera(已被intel收购)推出的一种可编程逻辑的设计工具,其强大的设计能力和直观易用的接口,日益受到数字系统设计者的欢迎。

Lattice的软件工具Diamond包含的编程器,可对同一扫描链上的一个或多个FPGA器件进行直接编程。它支持标准FPGA设计流程功能,其逻辑综合工具专为超低密度以及低密度FPGA提供设计支持。

Pango Design Suite是紫光同创基于多年FPGA开发软件技术攻关与工程实践经验而研发的一款拥有国产自主知识产权的大规模FPGA开发软件,可以支持千万门级FPGA器件的设计开发。

任重道远!自研FPGA软件工具难度高

近二十多年来,除了针对FPGA特点所采用的设计实现方法不断升级外,国内外FPGA软件工具的方法学和总体研发模式其实未曾改变。

用户端在使用FPGA时,需将RTL代码通过逻辑综合工具、映射工具、布局布线工具、配置数据流生成工具、编程下载工具等生成下载到芯片里,结合时序和功耗分析工具以及在线调试工具,完成用户应用在FPGA中的实现的整个过程。

在整个FPGA软件工具设计流程中,除了仿真工具借助第三方工具实现,其他环节基本都需要FPGA厂商自己的软件工具覆盖,特别是以逻辑综合工具和设计实现部分为代表的环节,存在着较大研发难度。

在综合软件设计流程中,包含了从硬件描述语言HDL到门级映射和优化的多个环节,几乎每一个小环节都需要研发人员付诸努力不断钻研,从而取得突破。

在用户设计经过综合映射成门级网表之后,还需要经过编译、转换、映射、布局布线、位流生成、编程下载最终在FPGA芯片实现功能。其中,布局、布线两个环节作为核心技术难关尤为难以攻克。

紫光同创软件专家表示,布局是将逻辑映射到目标器件结构资源中,布局主要考虑三个方面的因素:一是使Instances尽量集中分布,减少布线资源的线长;二是控制Instances均匀分布的密度;三是控制所有Instances之间的总延时尽可能小。布局关键技术在于如何在短时间内得到全局最优解。

布线是将已布局好的instances按照连接关系通过布线通道连接起来。布线主要考虑的因素包括拥塞和时序两个方面的因素。

拥塞和时序两个因素对于布线器来说是矛盾的。如果产生拥塞,那么不可避免的使某些路径延时较长;如果要使每条路径延时最小,那么不可避免的要产生拥塞。为了解决拥塞和时序竞争的关系,可以使用相关算法,使得时序关键网络占用拥挤路径资源,而在时序方面并不关键的网络占用一条更长且不拥挤的路径资源。

可以看出来,在一定程度上,FPGA几乎是芯片设计领域中最需要技术突破的产品,FPGA软件工具尤为复杂。

清华大学微电子所所长魏少军教授曾指出:“在EDA工具方面,国内对‘逻辑综合’和‘布局布线’两个核心基本没有贡献,甚至都不去碰它。国内大多数设计企业普遍依赖EDA公司或Foundry给出的设计流程,对于产品性能和竞争力造成影响。”

奋起直追!国产FPGA企业不断突围

从FPGA发展历程来看,从1984年美国Xilinx公司推出了全球第一款FPGA产品XC2064算起,之后十多年间,FPGA软件工具为FPGA的发展起到了至关重要的作用。随着FPGA朝着系统平台化的方向演进,软件工具和生态的重要性显得越来越重要。

前不久,赛灵思宣布推出一款名为“Vitis”的统一软件平台,它能够让软硬件开发者们在无需掌握硬件专业知识的情况下,根据软件或算法代码来自动适配并使用Xilinx的硬件架构。这也是国际领先厂商布局FPGA生态的战略方向,即通过软件栈和工具链,结合业界各细分行业的算法框架和应用库,把传统的软件开发者吸纳到FPGA加速应用当中,分享FPGA高性能计算硬件平台的价值,与CPU和GPU共享计算加速市场的红利。

反观国内FPGA产业,我们起步比国外晚了二十多年。在这期间国外FPGA产业已经完成了系列整合并购,市场格局已经基本确定,Xilinx、Intel和Lattice等企业基本上垄断了全球市场。从2010年开始,国内才陆续出现自主知识产权的国产FPGA企业,而紫光同创正是其中的佼佼者。

紫光同创市场总监吕喆介绍,我们总说紫光同创的PGT180H代表当前国产FPGA的最高水平,实际上背后的软件工具才是真正的定海神针,更大的逻辑规模和更高的性能,意味着指数级增长的软件算法复杂度,这是大家可能没有意识到的。

紫光同创通过不断尝试,其具有自主知识产权的大规模FPGA开发软件Pango Design Suite(PDS),已经可以支持数千万门级FPGA器件的设计,并可实现从RTL综合到配置数据流生成下载的全套操作,形成了完全自主知识产权的FPGA开发工具套件。接下来,紫光同创将致力于做更大规模的器件,力图进一步突破。

从产业链角度而言,FPGA的发展涉及到单元架构、IP、EDA软件、制程工艺、封装技术、专业人才等诸多方面,其发展之路并不平坦。加之较高的技术壁垒,对于国内FPGA的发展来说,依靠自主技术和自主产品,尤其软件工具的技术突破,就较为关键了。

写在最后

如今,国内FPGA产业正处于低端向中高端过渡的关键时期,国内企业已经意识到软件工具自主化的重要意义,并逐步加大投入力度。

随着国家、各地政府对集成电路产业尤其FPGA产品的大力扶持,国内半导体产业链的不断成熟完善,以及新兴市场需求的增大,我们期待着有更多的国产FPGA企业能够在软件工具方面长风破浪,不断突破,抓住市场增量,推进国产FPGA的进一步发展!
责任编辑:tzh

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

    关注

    1625

    文章

    21619

    浏览量

    601151
  • 芯片
    +关注

    关注

    452

    文章

    50179

    浏览量

    420667
  • asic
    +关注

    关注

    34

    文章

    1182

    浏览量

    120218
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10802

    浏览量

    210765
  • eda
    eda
    +关注

    关注

    71

    文章

    2680

    浏览量

    172704
收藏 人收藏

    评论

    相关推荐

    FPGA仿真工具软件EasyGo Vs Addon介绍

    EasyGo Vs Addon是一款领先的FPGA仿真工具软件,它强大地连接了VeriStand软件与Matlab/Simulink,为实时测试和验证领域带来了前所未有的便利和效率,
    的头像 发表于 10-24 15:55 182次阅读
    <b class='flag-5'>FPGA</b>仿真<b class='flag-5'>工具</b>包<b class='flag-5'>软件</b>EasyGo Vs Addon介绍

    Altera推出一系列FPGA软、硬件和开发工具

    近期,英特尔子公司Altera推出了一系列FPGA软、硬件和开发工具,使其可编程解决方案更易应用于广泛的用例和市场。Altera在年度开发者大会上公布下一代能效与成本优化的Agilex 3
    的头像 发表于 10-12 10:47 378次阅读

    直径测量工具发展历程

    的直径和其他尺寸。卡尺的原理是利用两个相互平行的尺子,通过移动其中一个尺子来测量物体的直径。 精密测量工具的出现 随着机械制造技术的发展,18世纪和19世纪出现游标卡尺、千分尺、百分表等更为精密的测量
    发表于 10-10 16:55

    莱迪思Propel工具套件加速FPGA应用开发

    许多嵌入式系统的开发者都对使用基于FPGA的SoC系统感兴趣,但是基于传统HDL硬件描述语言的FPGA开发工具和复杂流程往往会令他们望而却步。为了解决这一问题,莱迪思的Propel工具
    的头像 发表于 08-30 17:23 965次阅读

    国产FPGA发展前景是什么?

    、国产替代加速 政策支持:近年来,国家对半导体产业的支持力度不断加大,为国产FPGA发展提供有力保障。政府补助、税收优惠等政策措施促进了国产FPGA厂商的快速
    发表于 07-29 17:04

    fpga开发一般用什么软件

    此外,还有一些其他的辅助工具,如用于数字信号处理开发的System Generator,以及用于HDL语言仿真的ModelSim等。这些工具可以配合上述的主要FPGA开发软件使用,提高
    的头像 发表于 03-27 14:54 3475次阅读

    fpga是硬件还是软件

    FPGA(现场可编程门阵列)本质上是一种硬件设备,但它在功能实现上结合硬件和软件的特性。
    的头像 发表于 03-27 14:14 871次阅读

    为何高端FPGA都非常重视软件

    位处理子系统。这些FPGA符合片上系统(SoC)的标准,并且随着这种发展,设计问题变得更加复杂,因为我们现在需要工具来支持软件工程师来开发在当今FP
    发表于 03-23 16:48

    FPGA软件测试面临哪些挑战?

    FPGA软件包含进行设计而产生的程序、文档和数据,同时包含与之相关的软件特性和硬件特性。FPGA软件测试需要考虑
    发表于 03-20 12:23 1062次阅读

    fpga开发一般用什么软件

    FPGA(现场可编程门阵列)开发通常使用一系列专门的软件工具,这些工具涵盖了从设计、仿真到编译和调试的整个流程。
    的头像 发表于 03-15 14:43 3195次阅读

    fpga软件是什么意思

    FPGA软件通常指的是用于编程、配置和管理FPGA(现场可编程门阵列)芯片的工具和应用程序的集合。FPGA是一种可编程的集成电路,它允许用户
    的头像 发表于 03-15 14:28 1014次阅读

    fpga仿真软件有哪些

    此外,还有一些其他的FPGA仿真软件,如Gvim和ISE等,可以根据具体需求和开发环境进行选择。需要注意的是,不同的FPGA仿真软件可能具有不同的特点和优势,开发者需要根据自己的需求和
    的头像 发表于 03-15 14:00 3189次阅读

    为什么对FPGA软件进行测评?

    FPGA软件包含进行设计而产生的程序、文档和数据,同时包含与之相关的软件特性和硬件特性。FPGA软件测试需要考虑
    发表于 03-06 11:39 570次阅读

    易华录孙建宏出席2023软件创新发展大会

    题,旨在搭建国家级软件产业交流合作平台,进一步增进共识、深化合作、共享机遇,推动软件创新活力迸发,加速软件企业生态集聚,提升产业链发展水平,为软件
    的头像 发表于 12-04 22:00 684次阅读

    fpga是什么?看完你就明白

    系统等。此外,FPGA还广泛应用于航天、医疗、工业控制等领域,为各行各业提供强大的设计和开发工具。 四:FPGA的优势和前景 相比传统的硬件设计方式,
    发表于 11-13 15:43