明德扬就业班现正火热招生中,课程主要传授至简设计法,100天的课程足以满足岗位需要,包就业推荐,详情点击咨询...

eFPGA逐渐成为主流,SoC又有新玩法

发布时间:2017-12-26

为了应付不同任务的处理需求,工程师们在SoC中使用包括通用CPU、DSP、GPU和定制处理器在内的各种模块。但上述SoC并没有能够在性能、功耗和硬件定制方面做到均衡。回看科技发展进程,你会发现有一种技术至今尚未成为SoC关注的重点,那就是FPGA。

其实FPGA的运算速度在大多数情况下比通用CPU都快,而且消耗更少能量。但是相对于定制电路,FPGA功耗较大,且性能稍逊。 FPGA可以通过编程内部逻辑模块来实现各种功能,而且一旦FPGA设计完成后其可实现的最大逻辑规模就确定了。从另一个角度来说,无论FPGA逻辑资源利用率如何,其芯片面积(成本)已经无法改变了。换句话说,不管你用FPGA实现一个简单的加法器还是实现一个复杂的基带处理器,成本并不会改变。 种种原因导致FPGA并不能在主流竞争中胜出。

独立FPGA芯片市场目前由Altera和Xilinx把持,而形成这样格局的一个原因可能与他们并不只是生产芯片有关。FPGA需要有一个完善的复杂生态系统才能保证其使用。这个生态系统和处理器所需的一些必要支持很相似。

现在,从FPGA向eFPGA的技术转变则需要更复杂的生态系统,因为在这个过程中,我们需要针对不同的IP核定制工具链。

在过去,有几个公司试图在eFPGA市场争取领先位置,但没有一个能成功。那么究竟发生了什么转变,让eFPGA在成熟的SoC市场再度热炒,成为下一代的处理器类型首选?

fpga招聘 fpga求职 fpga培训 verilog入门 verilog verilog基本知识

fpga时序约束 fpga入门资料 fpga入门 fpga如何入门

市场的转变

为了说明为什么eFPGA这次将会成功,在这里,我会先对巨大的工业市场和某些特定市场的现状进行分析。

我们知道,对于很多市场,摩尔定律使他们前进的动力。这个在过去能够按部就班地提供更小、更便宜且更快芯片的定律逐渐失效了。虽然在其指导下,还能提高芯片的集成度且降低功耗,但是当中很多的东西已经结束了。

在高端市场,产品迭代周期已经变长了。“需要长设计周期的网络和通信芯片是典型的对先进工艺制程有强烈依赖的市场,它们的设计周期长而且在掩膜方面的花费200万到500万美元之间”。Flex Logix的CEO Geoffrey Tate表示。“但现在的问题是,类似协议和封包这样的标准一直在快速变化。过去的应对方法是每隔几年就重新设计芯片,以满足市场需求,但这样的流程让成本也逐渐增加。另外,数据中心对芯片的可编程化需求日益提升,因为只有这样做,他们才能够在系统内实现自动升级,进而达到优化成本,进行定制化设计,提高竞争力的目的。” Geoffrey Tat补充说。

eFPGA的成功,势必会带来市场的扩展。

fpga招聘 fpga求职 fpga培训 verilog入门 verilog verilog基本知识

fpga时序约束 fpga入门资料 fpga入门 fpga如何入门

“客户主要集中在网络和有线通讯基础设施领域,当中包括了以太网交换机和路由应用”。Achronix的CEO和主席Robert Blake说。

“具有基本可编程特性的FPGA可以被应用在计算领域,这样就引致了其在相关市场中大幅度增长。这些市场包括了加密、解密;压缩和解压;非结构化搜索;机器学习和人工智能”。Robert Blake强调。

0293089afe9c43a98af4658be85c5a57_th

FPGA的应用和成长周期

而在以微控制器(MCU)为代表的低端市场,Menta 的业务开拓经理Yoan Dupret 表示,嵌入式FPGA已经成功吸引了大家的注意力。这是因为人们都希望通过提高他们芯片的出货量来提高利润,而使用FPGA可以为不同客户量身定做提供某一种MCU的多种版本从而提高出货量。

例如,众所周知MCU拥有很多的款型以满足不同的应用场合。在旧的工艺节点,我们可以为同一款MCU设计多个有不同的串行总线协议(I2C, SPI, UART等等)的芯片版本以满足不同的需求(译者注:因为在旧的工艺节点芯片制造成本比较低)。现在的微控制器已经推进到40nm,而他们的掩膜成本也高达100万美元,这样使用嵌入式FPGA来实施定制化MCU而不是设计多个芯片版本可以大大提高效率。

Cadence IP市场的VP Hugh Durdan也认同这种观点。

“传统的MCU市场已经衍生出了各种不同的产品,很多是针对不同的数量和I/O类型量身定做的。他们这样做的原因是因为客户对价格非常敏感,加上了多用途的部件会增加成本,这是客户不能接受的。在0.25微米的时候,这种策略是行得通的。因为那时候一套掩膜的成本只有五万美金,你也可以在一个月的时间里快速制造出一个芯片。但现在一切都变了,就算最简单的IoT芯片用的都是55nm,甚至40nm的工艺,因此mask成本自然就飙升了。而FPGA则可以解决这些问题,虽然其架构成本有点贵,但它会降低一次性成本(NRE),因为它的一款芯片能够针对不同的应用做改变,而不需要额外投入更多的成本”。

不依赖于预定的市场,嵌入式FPGA的制造者们发现他们所面向的也不再是那些中小规模市场。

Tate表示,嵌入式FPGA现在已经开始被集成到那些高容量的MCU和SoC芯片,与此同时,FPGA也被应用到先前未被涉及的市场。

Mentor Graphics新兴市场经理Bryan Ramirez对新技术、应用有过很深厚的研究。他认为,FPGA在对大规模计算和可重构性有强烈需求的数据处理领域表现出色。

那些对异构计算有需求的应用也可以从嵌入式FPGA上获益不少。而数据中心就是当中的最好应用市场,因为他们可以在主处理器旁边的FPGA上跑搜索分析算法;同样地,在应用到自动驾驶上的时候,同样可以实现MCU主管驾驶计算,而嵌入式FPGA则可以同时执行视频计算。

fpga招聘 fpga求职 fpga培训 verilog入门 verilog verilog基本知识

fpga时序约束 fpga入门资料 fpga入门 fpga如何入门

机器学习,大数据

FPGA关注的另一个热点领域应该就是目前红透半边天的机器学习。

“我们正在尝试打造一些不需要编程的机器”。Sonics的CTO Drew Wingard表示。“哪样的机器拓扑最有效率?哪样的算法最精准?关于这些问题的讨论从来没停止过。虽然网络拓扑很有提升的空间,但现在都已经用上了FPGA。”

“这些应用是极具灵活性的FPGA天然优势领域所在。” Drew Wingard补充说。

在数据中心领域,FPGA也是一个不能忽视的重要角色。尤其是现在数据的大爆发,对数据中心的需求激增,进而提高了对服务器降温和功耗的需求,具有天然优势的FPGA的受关注度自然也水涨船高。

“那些原本跑在主处理器上,使用软件实现的功能,也可以使用FPGA以硬件编程方式实现,且这种方式更加节能。” Durdan说。“当然,算法还需要持续更新,因此仍然需要可编程的软件模式。就算在数据中心,在不同的时段,他们也需要不同的算法。”Durdan补充说。

现在,所有这些功能都可以通过一个高端CPU和在一个板子上把FPGA连接到FPGA一起实现。

“微软和其他公司都已经证明,FPGA作为协处理器有很大的帮助。但这种FPGA与CPU之间的互联会成为性能瓶颈”。Tate表示。“我们如果打造一个Xeon+FPGA的芯片,可以把FPGA和CPU集成在同一个封装里,或者更进一步把FPGA和CPU集成在同一块芯片上,这样瓶颈就会被打破,性能就会得到提升。另外我们可以使用更简单的封装并且不再需要高功耗的SerDes,因此成本和功耗同样会降低。”Tate补充说。

将FPGA嵌入到SoC架构中的一个重大优势是FPGA与SoC其他模块之间的接口引线数量可以大大上升。

“一个中等FPGA的接口有300pin”,Blake表示。

“但如果我们将FPGA嵌入以后,pin可以高达16000个。因此,即使每个IO接口运行在非常低的频率下,总体而言还是能提供足够大的带宽和更低的延迟,这就是嵌入式的优势所在”。Blake补充说。

但当然,价格还是要考虑的。

“从单位面积性能上对比,FPGA的效率比定制逻辑芯片差25倍。” Wingard表示。

“另一方面,通用CPU的性能并不会比FPGA低25倍,可能的情况是5倍,但具体情况还是和应用有关。”

“而一个嵌入式FPGA相当于有多少个’门’呢?如果它的密度比定制ASIC电路低25倍,那么在你需要10000个ASIC门的情况下,这10000个ASIC门使用FPGA实现所需要的面积大约就是ASIC上25000门的面积。这么大的芯片面积我可能可以做十个32位的小处理器。” Wingard补充说。

Wingard认为,对于代工厂来说,FPGA在金属层方面有更多的需求。而嵌入式FPGA也避不开这个问题。

Menta公司的Dupret并没有被这个困扰。他表示,这个新技术的出现,对于很多节点来说,金属导线层有点偏高。例如在28nm或者14nm的时候,至少需要八层或者九层。这对于嵌入式FPGA来说是一个优势,因为这意味着你可以降低FPGA所占据的面积,且布线更简单。

生态系统

嵌入式FPGA想获得成功,依赖于很多因素,同时我们也知道,这个产品的生态系统是非常复杂的。

首先就是FPGA IP核的问题。

这种IP核比内存编译器复杂得多。你不但需要提供相当数量的逻辑块,你还需要提供存储、封装、以及例如DSP这样的嵌入式硬件核心,另外你还需要提供IP所需要的技术节点相关信息。这就需要一系列复杂的工具套件。包括了集成必须的模型和视图。

Blake表示,一个FPGA编译器需要的编译时间远大于内存编译器(内存编译器的编译时间往往只需要几分钟),通常需要几个星期。我们提供的是全定制IP功能块的GDS版图以及信号完整性模型、时序模型、测试模型、程序和文档。

各厂商们也尝试在里面增加一些灵活性。

“我们有一个数字信号处理模块,但如果在某种类型应用上,其他方式更有效率,那么也会使用定制化的DSP,同时我们会将其集成到嵌入式FPGA中,就像一个黑盒子。”Dupret表示。“因为他们知道和竞争对手的差别,这就可以保持其竞争优势。”Dupret补充说。

然后,用于集成IP核的工具也需要能够给FPGA编程。

独立的FPGA开发商在工具链上的投入与其在硬件上的投入一样多。它需要逻辑综合引擎、布局布线、DFT方法、时序引擎和其他。这些所有的工具链都需要参照IP 核定制。

有一个工具是必须的。

“先进的逻辑综合工具往往会在功耗和性能方面做很多优化,而FPGA的综合甚至比ASIC的综合更复杂。” OneSpin Solutions的市场VP David Kelf指出。

因此,我们必须仔细检查综合后的逻辑以保证它和前端设计者提供在RTL代码中描述的逻辑是一致的(译者注:即形式验证)。这就需要能够处理复杂时序优化的形式验证工具。

实际上,随着这些FPGA核进入ASIC,在FPGA上搭建设计原型会比较困难。因为ASIC所使用的核心一直在生产,这就使得FPGA设计的形式验证和ASIC本身的形式验证一样重要。

如果芯片的终端客户希望嵌入式FPGA还可以重新编程,那么复杂性就会大增。

生态系统是所有嵌入式FPGA供应商竞争最激烈的领域。

最初,他们关注的是SoC开发者的编程,这是因为工具链能提供。

“就像在编程语言里常做的事情一样,展开事情的能力和为这些功能搭建并行执行能够获得实质上的加速”。Achronix的Blake表示。

“今天,我们使用硬件描述语言(Verilog和VHDL)编程,我们也提供功能库,这些是可以提升的。随着语言为从软件到硬件转变而做的改进的出现,所有的事情也会改变。”

Menta公司的Dupret也同意这个观点。

“我们是基于标准的HDL,因此它是一个标准的FPGA flow。在数据中心或许需要一个更高级别的语言,同时能够区分那些程序是运行在CPU上,哪些是运行在FPGA上”。

现存的大部分高层级综合工具(High Level Synthesis, HLS)并不是聚焦在这些方面的应用。

“随着HLS的出现,以软件语言形式写程序,并将其转变成编译硬件,可带来很大的跨越。” Cadence的Durdan解析说。“随着机器学习和神经网络的出现,其应用范围变得越来越广。现在很多的相关部署并不是通过嵌入式方案完成,而是以在处理器旁边布置一个FPGA的方式实现。”

结论

这个市场还是非常年轻,且瞬息万变。

“我们现在正处在技术成本的临界点。”Blake表示,“在16nm的时候,你可以在一个SoC里集成有丰富功能的FPGA,来提升其性能。”Blake补充说。

但这并不是对每个厂商都适用。

“如果你对灵活性需求不高,或者说你不需要更改算法的功能,那么嵌入式FPGA就没价值了。”Dupret表示。“这种情况下选用一个标准的设计更有效率,但如果在密码学或神经网络上面,传统的CPU就不怎么够用了”。

我相信关于工具的怀疑是大家关注的重点。Mentor的Ramirez也表示,这并不是一朝一夕的事情。这是因为同时满足生产效率和软件执行的可用性是比较困难的。我们目前在关注现在的嵌入式FPGA对已确定的FPGA供应商的软件有多少事可以移植或集成。

而且永远存在另外一种可能性,那就是通过2.5D集成快速降低成本。随着FPGA供应商成为这个领域的技术领先者,他们一定会找出属于自己的方法,解决所有问题。