由于在传统的FPGA中增加了处理器,在ASIC中增加了可编程性,使得这些产品的鸿沟越来越含糊了。
FPGA与曾经的自己比较,现在都是摇滚明星了。不再仅仅一个查找表(LUT)和寄存器的调集,FPGA现已远远超出了现在的体系体系结构和原本仅仅用于证明未来ASIC规划架构的东西。
FPGA器材系列现在包含了从根本的可编程逻辑到杂乱的SoC器材。在各种运用范畴,轿车和其他运用范畴的人工智能、企业网络、航空航天、国防和工业主动化等等,FPGA使芯片制作商能够在需求时随时更新体系。在新的商场中,这种灵活性至关重要,协议、规范和最佳事例仍在不断开展,ECOs需求坚持竞争力。
这便是赛灵思(Xilinx)公司的决议方案理由,Xilinx在它的Zynq FPGA里增加了一个ARM核处理器,以打造一个SoC FPGA芯片。Aldec公司的营销总监Louie de Luna说,“最重要的是,供货商现已改进了他们的东西流程。这使得他们对Zynq更感兴趣。他们的SDSoC开发环境看起来像C,这对开发人员很有优点,由于运用程序一般是用C编写的。因而,他们输入软件功用,并答运用户将这些功用分配给硬件。”
图:赛灵思的Zynq-7000 SoC(来历:Xilinx)
这些不仅仅是SoC FPGA,这也是他们有自主专利的SoC。
“它们或许包含若干个嵌入式处理器、专用核算引擎、杂乱接口、大的内存等等,” OneSpin SoluTIons的产品归纳验证专家Muhammad Khan说。“体系架构师方案和运用FPGA的可用资源,就像他们做一个ASIC那样。规划团队运用归纳东西将他们的SystemVerilog、VHDL或SystemC RTL代码映射到根本逻辑元件中。关于规划进程的大部分,在有用针对FPGA和针对ASIC或全定制芯片之间的差异正在减小。”
ArterisIP的首席技能官Ty Garibay十分了解这种演化。“从历史上看,Xilinx从2010开端构成Zynq途径。他们界说了一种产品,它根本上是把一个ARM SoC的硬宏嵌入到现有FPGA里,”他说。“后来Altera雇我根本上做相同的作业。价值出题是SoC子体系是许多客户想要的东西,但由于SoC的性质,特别是处理器,他们不合适归纳到一个FPGA。嵌入到实践可编程逻辑的功用级是令人望而生畏的,由于它简直运用了整个FPGA的资源。但它能够作为一个硬件功用只占FPGA很小的资源。你抛弃了为SoC供给真实可重构逻辑的才干,但它是可编程的软件,因而它是以这样的办法来改动功用。”
这意味着能够完结一个软件可编程,一个硬宏,然后在构架中完结硬件可编程功用,他们能够一同作业,他说。“有一些很好的商场,特别是在低本钱轿车操控的当地,曩昔传统做法是在FPGA旁边放一个中等功用的微操控器。客户只会说,‘我只要把整个功用放到FPGA芯片的硬宏上,以削减电路板空间,削减BOM,下降功率。’”
这契合FPGA在曩昔30年中的演化,原本的FPGA仅仅一组I/O的可编程架构。跟着时刻的推移,内存操控器被固化,以及SerDes、RAM、DSP和HBM操控器等等。
“FPGA供货商一向不断在培育芯片,但也增加了越来越多的硬件逻辑,由于有一个很大份额的客户群需求,”Garibay说。“今日产生的作业是把它扩展到软件可编程那一面,在ARM SoC之前咱们增加的大部分东西都是不同办法的硬件,首要与I/O有关,但咱们也有必要测验经过加强可编程逻辑门来加固像DSP这样的东西,由于商场有满意的运用需求。”
01
商场视角
这样做实质上现已把FPGA变成了像规划瑞士军刀相同的多或许性。
“假如倒转时刻,它仅仅一堆LUTs和寄存器,而不是门,”NetSpeed Systems的商场营销和事务开展副总裁Anush Mohandass说。“这儿有一个经典的问题,假如你运用通用版别,并将其与特定于专用程序的版别进行比较,通用核算将给出更多的灵活性,而专用的版别会比通用版别在功用或功率上更优。Xilinx和Altera正试图越来越多将这两块结合,他们注意到每个FPGA客户都有比如DSP或某种办法的核算需求。因而,他们嵌入ARM核,嵌入DSP核,他们嵌入一切不同的PHYs(物理结构)和常用的东西。并固化它,使它更有用,一起功用指标也变得更好。”
这些新的才干为FPGA在各种新的和现有商场中扮演重要人物打开了大门。
“从商场的视点看,FPGA肯定会进入SoC的商场,”新思科技高档营销总监Piyush SancheTI说。“不论你做FPGA仍是做十分老练的ASIC,都有一个经济学问题。现在这些路途开端变得含糊,咱们看到越来越多的公司,特别是在某些商场上,反而做FPGA产品的出产会取得较好的经济效益。”
从历史上看,FPGA曾被用于原型规划,可是关于出产运用来说,它仅限于像航空航天、国防和通讯基础设施这样的商场,SancheTI说。“现在这个商场正在扩展到轿车、工业主动化和医疗电子。”
02
AI:FPGA的一个新式商场
那些信仰FPGA的公司一般都是体系供货商/ OEM,他们总是期望优化自己的IP或AI/ML算法的功用。
“他们想树立自己的芯片,关于许多人来说,开端做ASIC或许会有点吓人,” NetSpeed的Mohandass说。“关于不想花3000万美元的晶圆成原本制作芯片的他们来说,FPGA是一个有用的切入点,在那里他们有方案中的共同算法,共同的神经网络,用FPGA规划看看是否能够得到他们正在寻觅的功用。”
现在人工智能运用面对的应战是量化,西门子事务Mentor的Catapult HLS归纳验证高档产品营销司理Stuart Clubb说。“咱们需求什么样的网络,该怎么建造那个网络,内存结构是什么?你从网络开端规划,即便只要几层,有许多数据在若干个系数中,它很快地旋转到几百万个系数,内存带宽变得十分可怕。没有人知道什么架构可行,假如答案是不知道的,你就不会跳进去轻率树立一个ASIC。”
在企业网络范畴,最常见的问题是加密规范好像一向在改动。“把加密规划到FPGA里替代规划一个ASIC,对加密引擎更好,”Mohandass说。“或许,假如你在全球网络方面做任何类型的数据包处理,FPGA依然给会你更多的灵活性和可编程性。这便是灵活性发挥作用的当地,他们也利用了这一点。你依然能够称之为异构核算,它看起来更像一个SoC。”
03
新规矩
跟着新一代的FPGA SoC,旧的规矩不再适用。具体来说,假如你在板子上调试,那你就错了,”Clubb指出。“尽管在板上调试被认为是一种低本钱的处理方案,这能够追溯到能够说“可编程”的前期阶段。但假如现在说,‘我发现一个bug,我能够修正它,在一天之内编程一个新的比特流,然后把它放回板子上,再找到下一个bug,’那便是疯了。这是一种被视为不关怀本钱的心态,就像你在做普通职工那样,办理层不会购买模仿器、体系级东西或调试器,由于‘我仅仅付钱给那个家伙完结使命,我会对他大喊大叫,直到他更努力作业。’”
这种行为依然很遍及,由于有满意多的公司,他们每年都会把底部10%的职工砍掉以让每个人都坚持警惕的情绪,他说。
可是,FPGA SoC是真实的SoC,需求相同的严厉规划和验证办法。“现实上,可编程的结构并不真实影响规划和验证,”Clubb说。“假如你做一个SoC,例如,你能够做我听到的一些客户称之为“乐高”工程,这是一个框图法。我需求一个处理器,一个内存,一个GPU,一些其他的小模块,一个DMA内存操控器,WiFi,USB和PCI。这些都是你拼装的‘乐高’块。费事的是,你有必要承认他们能作业,并且能在一同作业。”
尽管如此,FPGA SoC体系开发人员仍是很快赶上了他们的SoC兄弟们,在那里,验证办法是值得重视的。
“它们不是像原先的传统硅SoC开发商那样的心态:‘这将花费我200万美元,所以我最好把它弄对。’由于FPGA的失利本钱很低,”Clubb说。“可是假如你花了200万美元开发FPGA,你弄错了,现在你要花三个月来修正bug,还有一些其他问题需求处理。需求组成多大的团队,要花多少钱,产品上市时刻的处分本钱,商场在哪里等等?这些都是很难清晰量化的本钱。假如你是在一个消费范畴,简直不太或许去考虑用FPGA,你真实关怀的是它能不能赶上圣诞节前上市,所以有一点不同的优先级。考虑定制硅中做SoC的总本钱和危险,当你扣动扳机说:‘这是我的体系,我现已完结了,’其实你看不到那么多。咱们知道,这个职业正在整合,很少有大玩家做大筹码。每个人都想办法来做,而这些正是FPGA能够供给的。”
04
新的折衷方案
工程团队规划方针器材经常常会有意留出一些选项,这并不罕见。SancheTI说,“咱们看到许多公司创立RTL并验证它,简直不知道是去做FPGA仍是做ASIC,由于许多要素能够让这个决议改动。你能够从FPGA开端,假如抵达了某个量,从经济学视点考虑或许你会去做一个ASIC。”
这特别适用于今日的人工智能运用范畴。
“现已有一系列技能被用于人工智能算法加快,”eSilicon商场营销副总裁Mike Gianfagna说。“显着,AI算法现已存在很长时刻了,可是现在咱们忽然碰到愈加杂乱的状况是怎么运用它们,颇堪称奇的是在近乎实时的速度下运转它们的才干。它从CPU开端,然后转移到GPU。即便GPU是一个可编程的通用器材,一个就能够合适一切。尽管架构拿手并行处理,由于这便是图形加快的全部内容,这很便利,这便是AI的全部内容。在很大程度上它是好用的,但它依然是一种通用的办法。这样你就能够得到必定程度的功用和功率的掩盖。一些人接下来要转移到FPGA,由于这比你用GPU能够更好地规划电路,并在功用和功率功率方面取得前进。ASIC对功率和功用来说是终极的,由于在那里你有一个完全定制的架构,它能满意你所需求的,不多也不少。这显着是最好的。”
人工智能算法很难映射到硅中,由于硅处于简直不变的状况。所以在这一点上做一个全定制的ASIC不是一个好的挑选,由于相对硅的年代它现已过期了。“FPGA是很好的挑选,由于你能够从头编程它们,所以在贵重芯片上的出资也不会丢失。” Gianfagna说。
这儿,有一些自界说内存装备,以及某些子体系功用,如卷积和转置存储器,它们被再次运用。因而,当算法或许改动时,有一些模块不会被改动/或被重复运用。他弥补说。考虑到这一点,ESILICON正在开发一个带有软件剖析的渠道来研讨人工智能算法,方针是能够更快地为特定的运用挑选最佳的体系结构。
“FPGA为你供给了替换机器或发动机的灵活性,由于你或许会遇到一种新的网络,提交ASIC是有危险的,由于你没有最好的支撑,以及这样的灵活性,”,eSilicon IP工程副总裁Deepak Sabharwal说。“可是,FPGA总是会在容量和功用上受到限制,所以你将无法真实抵达FPGA的出产水平规范。你能够玩它和归类东西,但终究你或许不得不树立一个ASIC。”
05
嵌入式LUTs
另一个在曩昔几年取得了立足点的挑选是嵌入式FPGA,它将可编程性构建为ASIC,而不是将ASIC的功用和功率优势增加到FPGA中。
“FPGA SoC依然首要是FPGA,具有相对少数的芯片面积用于加工,”Flex Logix首席执行官Geoff Tate说。“从框图看不出规划,要看实践芯片的相片,首要面积仍是FPGA。可是有一类运用程序和客户,FPGA逻辑和SoC的部分之间的正确比率是更小的FPGA,他们的RTL编程在一个更具本钱效益的芯片尺寸上。”
这种办法在航空航天、无线基站、电信、网络、轿车和视觉处理范畴,特别是人工智能范畴找到了牵引力。“算法改动如此之快,以至于芯片在回来时简直就过期了”Tate说。“运用一些嵌入式FPGA,能够让他们更快地进行算法迭代。”
从人驾驭轿车转向主动驾驭轿车,这一点特别显着。尽管失效和老化的问题得到了许多重视,但应战是怎么坚持“高雅的退化”。依据Achronix体系工程副总裁Raymond Nijssen的说法,“功用和质量跟着时刻的推移而改动,规范也是如此。对轿车辨认一个孩子过街的要求是相对较新的。没有人知道规章会怎么改动,或许你怎么测验。但你怎么测验还不知道的规范呢?”
在这种状况下,可编程性关于防止重做整个芯片或模块就变得至关重要,Nijssen说。
06
规划调试
尽管这仅仅一部分原因,与一切的SoC相同,了解怎么调试这些体系,并在仪器中构建,能够协助它们在成为首要问题之前辨认它们。
“跟着体系FPGA变得更像SoC,他们需求适用于在SoC中的开发和调试办法,”UltraSoC的首席执行官Rupert Baines说。“有一个(也许是单纯的)信仰,由于在FPGA上你能够看到一切东西,调试起来必定很简略。这在比特级别上是正确的,带有波形调查器,可是当抵达体系级时它不建立。最新的大型FPGA显着是体系级的。在这一点上,你从一个探针摆放得到的波形图并不是十分有用。你需求一个逻辑剖析器,一个协议剖析器,以及处理器内核自身的杰出的调试和盯梢才干。”
FPGA的巨细和杂乱性要求与ASIC相似的验证进程。根据测验台的杂乱的UVM支撑模仿,一般也支撑仿真。正规的东西都在这儿扮演着重要的人物,从主动规划查看,到威望验证以及一系列强壮的处理方案。尽管FPGA能够比ASIC更快速、更廉价地改动,这是现实,在大型SoC中检测和确诊BUG的困难意味着在进入实验室之前有必要对它们进行完全的验证,OneSpin的Khan说。
现实上,在一个范畴中,对FPGA SoC的验证要求比在RTL输入和后归纳网表之间的ASIC等价性查看更高。FPGA的论述、归纳和优化阶段常常比传统的ASIC逻辑归纳流程对规划有更多的修正。这些改动能够包含跨过循环鸿沟的移动逻辑,以及在存储器结构中完结寄存器。完全的时序电路等价性查看关于保证终究的FPGA规划依然契合RTL中的原始规划者目的是必不可少的,Khan弥补说。
在东西方面,也有优化功用的空间。“运用嵌入式视觉运用程序,其间许多都是为Zynq编写的,每秒钟能够取得5帧图画。但假如你用硬件加快,就能够得到每秒25-30帧,这为新式器材铺平了路途。问题是,这些器材的仿真和验证并不简略。你需求在软件和硬件之间进行集成,这是困难的。假如你在SoC运转一切的东西,那太慢了。它能够模仿5到7个小时,假如你用协同仿真,就能够大大节约模仿时刻,” Aldec’s de Luna说。
简略地说,在杂乱的ASIC中运用的相同类型的办法现在正在用于杂乱的FPGA中。跟着这些器材在功用安全性运用中的运用,这一点变得越来越重要。
“这便是为了保证有毛病传达途径,然后验证这些途径的办法化剖析,” Cadence的集团营销总监Adam Sherer说。“这些东西都是十分合适办法化剖析。FPGA验证的传统办法是无法完结这类验证使命的。它在FPGA规划中依然很遍及,假定它十分快,很简略抵达以体系速度运转的硬件测验。即便它运转在体系速度,一个十分简略的模仿就能完结一个全面的查看。然后你编程这些器材,在实验室开端发动运转。除了实验室中的可观测性和可控性是极端有限的,这是一个相对快速的途径。由于只要在从FPGA的内部拉动数据到引脚才干进行勘探,这样才干在测验仪上看到它们。”
Breker验证体系公司的首席营销官Dave Kelf赞同这一点,“这使得器材验证的办法产生了风趣的改动。在曩昔,经过将规划加载到FPGA自身并在测验卡上实时运转的办法使较小的器材尽或许多地验证。跟着SoC和软件驱动规划的呈现,能够预期这种自我“原型”的验证办法或许与软件驱动的技能结合得很好,关于这个进程的某些阶段,它的确如此。可是,在原型开发进程中辨认问题并调试它们是很杂乱的。这种较早的验证阶段需求进行仿真,因而SoC风格的FPGA看起来越来越像一个ASIC。考虑到这两个进程,它们之间的协同使得进程愈加高效,包含常见的调试和测验渠道。新的发展,如便携式鼓励(Portable Stimulus)会供给这种协同性,现实上,使得SoC FPGA更易于办理了。”
07
定论
Sherer说,展望未来,用户正在寻求把那种在ASIC国际更严厉的工艺整合到FPGA。
“有很多的训练和剖析,他们期望在FPGA中有更多的技能用于调试,以取得这样的支撑。”他说。“FPGA社区倾向于落后于现有技能,倾向于运用十分传统的办法。因而,他们需求在空间、规划和办理、需求追溯等方面进行训练和培育认识。来自SoC流程的那些元素在FPGA中是肯定必要的,而FPGA自身并没有推进这个那么多,而是那些终究运用的工业规范在推进它。需求对在FPGA环境下作业的工程师进行再训练和再教育。”
在很多需求灵活性的运用驱动下,ASIC和FPGA之间的鸿沟正变得含糊,体系架构越来越多地结合可编程性与硬件逻辑,以及东西,这些现在都适用于两者。这种趋势不太或许很快改动,由于许多新运用范畴要求的这些组合依然还处于萌发阶段。