找回密码
 注册
关于网站域名变更的通知
查看: 364|回复: 1
打印 上一主题 下一主题

越来越多的SoC FPGA

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-10-23 07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
6 q6 K" M% B  A$ g) _' Z
越来越多的SoC FPGA

! _$ b$ u0 M$ C/ I2 @& }由于在传统的FPGA中增加了处理器,在ASIC中增加了可编程性,使得这些产品的界限越来越模糊了。
9 ~' h/ X) u- J4 M/ Y/ J7 _$ Q! v3 o7 K% K6 @2 U5 r. }
FPGA与以前的自己相比,现在都是摇滚明星了。不再只是一个查找表(LUT)和寄存器的集合,FPGA已经远远超出了现在的系统体系结构和原来只是用于证明未来ASIC设计架构的工具。9 K! g% N, t% q( A2 L

* r! Y9 Q) w  V% jFPGA器件系列现在包括了从基本的可编程逻辑到复杂的SoC器件。在各种应用领域,汽车和其他应用领域的人工智能、企业网络、航空航天、国防和工业自动化等等,FPGA使芯片制造商能够在需要时随时更新系统。在新的市场中,这种灵活性至关重要,协议、标准和最佳案例仍在不断发展,ECOs需要保持竞争力。8 r1 q! X  y" p+ h
4 y2 `3 J# Z$ }. c2 G
这就是赛灵思(Xilinx)公司的决策理由,Xilinx在它的Zynq FPGA里增加了一个ARM核处理器,以打造一个SoC FPGA芯片。Aldec公司的营销总监Louie de Luna说,“最重要的是,供应商已经改善了他们的工具流程。这使得他们对Zynq更感兴趣。他们的SDSoC开发环境看起来像C,这对开发人员很有好处,因为应用程序通常是用C编写的。因此,他们输入软件功能,并允许用户将这些功能分配给硬件。”2 P$ {4 |6 m0 L. C& c" c

7 z# O2 J1 v) E3 s: K1 o3 U* ]
8 e. q+ x9 D- @! C: X2 w1 h
图:赛灵思的Zynq-7000 SoC(来源:Xilinx)

0 k4 u: ?: y1 q' e
& ~# y  I0 m" q这些不仅仅是SoC FPGA,这也是他们有自主专利的SoC。
5 Z6 u; f6 S4 w2 T& Y$ W3 _% v. B' B$ o# ?! ~& P# ^, N4 i6 @
“它们可能包含若干个嵌入式处理器、专用计算引擎、复杂接口、大的内存等等,” OneSpin Solutions的产品综合验证专家Muhammad Khan说。“系统架构师计划和使用FPGA的可用资源,就像他们做一个ASIC那样。设计团队使用综合工具将他们的SystemVerilog、VHDL或SystEMC RTL代码映射到基本逻辑元件中。对于设计过程的大部分,在有效针对FPGA和针对ASIC或全定制芯片之间的差异正在减小。”. R- i. F" w! _5 Q

2 g" H- f' }0 ~2 a5 fArterisIP的首席技术官Ty Garibay非常熟悉这种演变。“从历史上看,Xilinx从2010开始形成Zynq路径。他们定义了一种产品,它基本上是把一个ARM SoC的硬宏嵌入到现有FPGA里,”他说。“后来Altera雇我基本上做同样的事情。价值命题是SoC子系统是许多客户想要的东西,但由于SoC的性质,特别是处理器,他们不适合综合到一个FPGA。嵌入到实际可编程逻辑的功能级是令人望而却步的,因为它几乎使用了整个FPGA的资源。但它可以作为一个硬件功能只占FPGA很小的资源。你放弃了为SoC提供真正可重构逻辑的能力,但它是可编程的软件,因此它是以这样的方式来改变功能。”0 L/ A/ ^3 v& r! X
# n1 L) {4 T( y1 ?: ?
这意味着可以实现一个软件可编程,一个硬宏,然后在构架中实现硬件可编程功能,他们可以一起工作,他说。“有一些很好的市场,尤其是在低成本汽车控制的地方,过去传统做法是在FPGA旁边放一个中等性能的微控制器。客户只会说,‘我只要把整个功能放到FPGA芯片的硬宏上,以减少电路板空间,减少BOM,降低功率。’”
% O' q+ ~  d$ K5 V2 F: G* s2 p7 R) ~3 A7 w
这符合FPGA在过去30年中的演变,原来的FPGA只是一组I/O的可编程架构。随着时间的推移,内存控制器被固化,以及SerDes、RAM、DSP和HBM控制器等等。9 r4 H, q" ]# M1 `% p" g3 z
1 G  X4 g! q8 [$ q7 [' J0 e
“FPGA供应商一直不断在培育芯片,但也增加了越来越多的硬件逻辑,因为有一个很大比例的客户群需求,”Garibay说。“今天发生的事情是把它扩展到软件可编程那一面,在ARM SoC之前我们添加的大部分东西都是不同形式的硬件,主要与I/O有关,但我们也有必要尝试通过加强可编程逻辑门来加固像DSP这样的东西,因为市场有足够的应用需求。”
. b9 a; t" z5 `" I/ O8 G) s, o" f6 U) m, U1 o- W
01
' X% j0 U. T# Q; {+ a市场视角8 k0 j* S' Q8 V" `8 s
: }! \  j; W' P3 p% E& x+ S. t2 z* C
这样做实质上已经把FPGA变成了像设计瑞士军刀一样的多可能性。% b; W/ ?0 w+ S2 l$ R! I. b, q& q1 p

9 ]7 Q; _9 F- P4 q7 M“如果倒转时间,它只是一堆LUTs和寄存器,而不是门,”NetSpeed Systems的市场营销和业务发展副总裁Anush Mohandass说。“这里有一个经典的问题,如果你使用通用版本,并将其与特定于专用程序的版本进行比较,通用计算将给出更多的灵活性,而专用的版本会比通用版本在性能或效率上更优。Xilinx和Altera正试图越来越多将这两块结合,他们注意到每个FPGA客户都有诸如DSP或某种形式的计算需求。因此,他们嵌入ARM核,嵌入DSP核,他们嵌入所有不同的PHYs(物理结构)和常用的东西。并固化它,使它更有效,同时性能指标也变得更好。”
* Z& P6 k9 M7 V6 n
( M! R3 E3 I) q1 o' N2 ?) |这些新的能力为FPGA在各种新的和现有市场中扮演重要角色打开了大门。
0 ~% R$ w5 }. s) D- s3 Q) {6 a; P2 O* ~; A( h/ x7 Q
“从市场的角度看,FPGA肯定会进入SoC的市场,”新思科技高级营销总监Piyush Sancheti说。“不管你做FPGA还是做十分成熟的ASIC,都有一个经济学问题。现在这些路线开始变得模糊,我们看到越来越多的公司,特别是在某些市场上,反而做FPGA产品的生产会取得较好的经济效益。”- q0 @+ t) S# J7 h2 o( M

( A6 [8 y# e1 n( P5 N从历史上看,FPGA曾被用于原型设计,但是对于生产使用来说,它仅限于像航空航天、国防和通信基础设施这样的市场,Sancheti说。“现在这个市场正在扩展到汽车、工业自动化和医疗电子。”
) G" ^/ J( o+ S+ ^5 u
, ^0 `) X% ]. M: C& H$ ?& ]' I. ]02
, y/ s: {! v( g8 M5 K5 D; a$ sAI:FPGA的一个新兴市场5 U5 h& A& g# r7 K% \
! D7 s0 u: [* U! _& z8 ~
那些信奉FPGA的公司一般都是系统供应商/ OEM,他们总是希望优化自己的IP或AI/ML算法的性能。
# v% Z6 q- l9 u# N7 y- _- A, v7 X2 b; B4 [
“他们想建立自己的芯片,对于很多人来说,开始做ASIC可能会有点吓人,” NetSpeed的Mohandass说。“对于不想花3000万美元的晶圆成本来制造芯片的他们来说,FPGA是一个有效的切入点,在那里他们有计划中的独特算法,独特的神经网络,用FPGA设计看看是否可以得到他们正在寻找的功能。”
. n4 g! t. Z3 n" r) }( t. n" n# p$ M) s& n9 O1 d
目前人工智能应用面临的挑战是量化,西门子业务mentor的Catapult HLS综合验证高级产品营销经理Stuart Clubb说。“我们需要什么样的网络,该如何建设那个网络,内存结构是什么?你从网络开始设计,即使只有几层,有很多数据在若干个系数中,它很快地旋转到几百万个系数,内存带宽变得非常可怕。没有人知道什么架构可行,如果答案是未知的,你就不会跳进去贸然建立一个ASIC。”
& j% e- A: i2 P. Z" @" B
( w/ A- O8 G# S# u在企业网络领域,最常见的问题是加密标准似乎一直在变化。“把加密设计到FPGA里代替设计一个ASIC,对加密引擎更好,”Mohandass说。“或者,如果你在全球网络方面做任何类型的数据包处理,FPGA仍然给会你更多的灵活性和可编程性。这就是灵活性发挥作用的地方,他们也利用了这一点。你仍然可以称之为异构计算,它看起来更像一个SoC。”( m; s$ O. I# c( G

: L% t* ?. [9 L* }2 A03( z  V- E, M1 H- W
新规则6 u) c$ e9 L; }2 Q" g) W! H5 @; T
, B+ p+ t# N& M) W0 B3 D* v
随着新一代的FPGA SoC,旧的规则不再适用。具体来说,如果你在板子上调试,那你就错了,”Clubb指出。“虽然在板上调试被认为是一种低成本的解决方案,这可以追溯到能够说“可编程”的早期阶段。但如果现在说,‘我发现一个bug,我可以修复它,在一天之内编程一个新的比特流,然后把它放回板子上,再找到下一个bug,’那就是疯了。这是一种被视为不关心成本的心态,就像你在做普通员工那样,管理层不会购买模拟器、系统级工具或调试器,因为‘我只是付钱给那个家伙完成任务,我会对他大喊大叫,直到他更努力工作。’”# [3 A2 {/ h: P! K  g
& T' X. d  |4 j: c" r$ `
这种行为仍然很普遍,因为有足够多的公司,他们每年都会把底部10%的员工砍掉以让每个人都保持警觉的态度,他说。
, D: E% F- a7 ]- v3 s" Y* W, y- h8 B. B5 K
然而,FPGA SoC是真正的SoC,需要相同的严格设计和验证方法。“事实上,可编程的构造并不真正影响设计和验证,”Clubb说。“如果你做一个SoC,例如,你可以做我听到的一些客户称之为“乐高”工程,这是一个框图法。我需要一个处理器,一个内存,一个GPU,一些其他的小模块,一个DMA内存控制器,WiFi,USB和PCI。这些都是你组装的'乐高'块。麻烦的是,你必须确认他们能工作,并且能在一起工作。”9 ^6 I- J( H9 L1 z

) F, T! u' n& ~3 A+ O" b尽管如此,FPGA SoC系统开发人员还是很快赶上了他们的SoC兄弟们,在那里,验证方法是值得关注的。
4 F" ?9 N2 l  ^' h, B( x9 h) J* q9 U0 C' h: d" ^) j
“它们不是像原先的传统硅SoC开发商那样的心态:‘这将花费我200万美元,所以我最好把它弄对。’因为FPGA的失败成本很低,”Clubb说。“但是如果你花了200万美元开发FPGA,你弄错了,现在你要花三个月来修复bug,还有一些其他问题需要解决。需要组建多大的团队,要花多少钱,产品上市时间的处罚成本,市场在哪里等等?这些都是很难明确量化的成本。如果你是在一个消费领域,几乎不太可能去考虑用FPGA,你真正关心的是它能不能赶上圣诞节前上市,所以有一点不同的优先级。考虑定制硅中做SoC的总成本和风险,当你扣动扳机说:‘这是我的系统,我已经完成了,’其实你看不到那么多。我们知道,这个行业正在整合,很少有大玩家做大筹码。每个人都想办法来做,而这些正是FPGA可以提供的。”1 L4 C& F2 g9 U! _$ I
4 w8 G% Q, N9 b2 Q$ b5 c
04  a3 D7 O  w( `/ H6 b
新的折衷方案
, h% f- N) J! X& s2 F- i1 Z; U( i/ v- P) W! z4 A9 @& P* m0 w; k  O
工程团队设计目标器件时常常会有意留出一些选项,这并不少见。Sancheti说,“我们看到很多公司创建RTL并验证它,几乎不知道是去做FPGA还是做ASIC,因为很多因素可以让这个决定改变。你可以从FPGA开始,如果达到了某个量,从经济学角度考虑可能你会去做一个ASIC。”
5 x; T' E2 c! u1 T- _" Y
# o2 n+ `8 X. {9 {- r! X" c' f这尤其适用于今天的人工智能应用领域。
9 g1 v( ^# z+ c, W; x0 _
" y+ f- S) j' }: @2 U“已经有一系列技术被用于人工智能算法加速,”eSilicon市场营销副总裁Mike Gianfagna说。“显然,AI算法已经存在很长时间了,但是现在我们突然碰到更加复杂的情况是如何使用它们,颇堪称奇的是在近乎实时的速度下运行它们的能力。它从CPU开始,然后转移到GPU。即使GPU是一个可编程的通用器件,一个就可以适合所有。虽然架构擅长并行处理,因为这就是图形加速的全部内容,这很方便,这就是AI的全部内容。在很大程度上它是好用的,但它仍然是一种通用的方法。这样你就可以得到一定程度的性能和功率的覆盖。一些人接下来要转移到FPGA,因为这比你用GPU可以更好地设计电路,并在性能和功率效率方面取得进步。ASIC对功率和性能来说是终极的,因为在那里你有一个完全定制的架构,它能满足你所需要的,不多也不少。这显然是最好的。”. G, B8 M( @: `

% g; y; U* l; ?  M/ L( ?0 d/ Y人工智能算法很难映射到硅中,因为硅处于几乎不变的状态。所以在这一点上做一个全定制的ASIC不是一个好的选择,因为相对硅的时代它已经过时了。“FPGA是很好的选择,因为你可以重新编程它们,所以在昂贵芯片上的投资也不会损失。” Gianfagna说。
$ B- \4 `* Q+ J  O. ]
( |* s7 X1 a1 s0 ^% y这里,有一些自定义内存配置,以及某些子系统功能,如卷积和转置存储器,它们被再次使用。因此,当算法可能改变时,有一些模块不会被改变/或被反复使用。他补充说。考虑到这一点,ESILICON正在开发一个带有软件分析的平台来研究人工智能算法,目标是能够更快地为特定的应用选择最佳的体系结构。
5 n4 a  f  D* q: c/ E
4 h9 e  k" B' K% @( x+ r“FPGA为你提供了更换机器或发动机的灵活性,因为你可能会遇到一种新的网络,提交ASIC是有风险的,因为你没有最好的支持,以及这样的灵活性,”,eSilicon IP工程副总裁Deepak Sabharwal说。“然而,FPGA总是会在容量和性能上受到限制,所以你将无法真正达到FPGA的生产水平规格。你可以玩它和归类东西,但最终你可能不得不建立一个ASIC。”
$ t, Z& b# N6 h$ W/ _; ~& o
; p9 u+ H; J. i+ X+ _4 v0 k' E05
- N$ u; K+ G2 H# B嵌入式LUTs7 Z2 k/ W% V) i' Z! R# n# Z5 @2 N

4 s8 s6 I$ g( ?/ z9 E另一个在过去几年取得了立足点的选择是嵌入式FPGA,它将可编程性构建为ASIC,而不是将ASIC的性能和功率优势添加到FPGA中。
- \2 q/ m/ u/ u' D( L  v
; B& ]6 ?- i) \/ f6 k“FPGA SoC仍然主要是FPGA,具有相对少量的芯片面积用于加工,”Flex Logix首席执行官Geoff Tate说。“从框图看不出规模,要看实际芯片的照片,主要面积还是FPGA。但是有一类应用程序和客户,FPGA逻辑和SoC的部分之间的正确比率是更小的FPGA,他们的RTL编程在一个更具成本效益的芯片尺寸上。”
5 @% S8 b% E$ {6 Z2 S6 Z: S
( p( ]) a; L2 p0 L, J: ^$ P( U( a2 l这种方法在航空航天、无线基站、电信、网络、汽车和视觉处理领域,尤其是人工智能领域找到了牵引力。“算法变化如此之快,以至于芯片在返回时几乎就过时了”Tate说。“使用一些嵌入式FPGA,可以让他们更快地进行算法迭代。”
' {( `, A) M9 D5 T8 Q0 D0 P) j- d0 v) R# {0 A  g0 W
从人驾驶汽车转向自动驾驶汽车,这一点尤其明显。虽然失效和老化的问题得到了很多关注,但挑战是如何保持“优雅的退化”。根据Achronix系统工程副总裁Raymond Nijssen的说法,“性能和质量随着时间的推移而变化,标准也是如此。对汽车识别一个孩子过街的要求是相对较新的。没有人知道规章会如何改变,或者你如何测试。但你如何测试还不知道的标准呢?”
  v, w1 m0 |. F( f& z9 J( a: g5 }4 u: \' ^/ r  d
在这种情况下,可编程性对于避免重做整个芯片或模块就变得至关重要,Nijssen说。/ `, w& M: |4 m3 Z" H! k1 e
" f9 ]) g7 k4 Z0 D! O- L. I
06& o* |3 P7 T6 ?$ Z  a
设计调试! G( W. A9 c3 _0 x8 N7 F- Y

% a( R# T; e4 D- d/ e+ ?6 \$ S/ W尽管这只是一部分原因,与所有的SoC一样,了解如何调试这些系统,并在仪器中构建,可以帮助它们在成为主要问题之前识别它们。
# A1 ?6 b/ B8 y7 y! `  r+ t4 ~) c0 o; J
“随着系统FPGA变得更像SoC,他们需要适用于在SoC中的开发和调试方法,”UltraSoC的首席执行官Rupert Baines说。“有一个(也许是天真的)信念,因为在FPGA上你可以看到所有东西,调试起来一定很容易。这在比特级别上是正确的,带有波形观察器,但是当到达系统级时它不成立。最新的大型FPGA显然是系统级的。在这一点上,你从一个探针排列得到的波形图并不是非常有用。你需要一个逻辑分析器,一个协议分析器,以及处理器内核本身的良好的调试和跟踪能力。”2 j0 t2 ]$ P: d6 G# y8 u5 h

2 T4 U3 B; y7 x) J+ `FPGA的大小和复杂性要求与ASIC类似的验证过程。基于测试台的复杂的UVM支持模拟,通常也支持仿真。正规的工具都在这里扮演着重要的角色,从自动设计检查,到权威验证以及一系列强大的解决方案。虽然FPGA可以比ASIC更快速、更便宜地改变,这是事实,在大型SoC中检测和诊断BUG的困难意味着在进入实验室之前必须对它们进行彻底的验证,OneSpin的Khan说。
- D# J% W0 d. z% G: ?3 I9 ^9 M" O. H( v1 S
事实上,在一个领域中,对FPGA SoC的验证要求比在RTL输入和后综合网表之间的ASIC等价性检查更高。FPGA的阐述、综合和优化阶段常常比传统的ASIC逻辑综合流程对设计有更多的修改。这些变化可以包括跨越循环边界的移动逻辑,以及在存储器结构中实现寄存器。彻底的时序电路等价性检查对于确保最终的FPGA设计仍然符合RTL中的原始设计者意图是必不可少的,Khan补充说。
- j9 Y# D: |/ Y( M$ _0 w( f/ J
9 g6 z7 C0 P& P在工具方面,也有优化性能的空间。“使用嵌入式视觉应用程序,其中很多都是为Zynq编写的,每秒钟可以获得5帧图像。但如果你用硬件加速,就可以得到每秒25-30帧,这为新型器件铺平了道路。问题是,这些器件的仿真和验证并不简单。你需要在软件和硬件之间进行集成,这是困难的。如果你在SoC运行所有的东西,那太慢了。它可以模拟5到7个小时,如果你用协同仿真,就可以大大节省模拟时间,” Aldec’s de Luna说。! i( S- |) _5 J5 b4 ^% g
! C; D' I* D, y
简单地说,在复杂的ASIC中使用的相同类型的方法现在正在用于复杂的FPGA中。随着这些器件在功能安全性应用中的使用,这一点变得越来越重要。
4 R2 d2 X3 s% M5 d& W2 O, _
3 G; n+ J+ U, }4 s“这就是为了确保有故障传播路径,然后验证这些路径的形式化分析,” cadence的集团营销总监Adam Sherer说。“这些东西都是非常适合形式化分析。FPGA验证的传统方法是无法完成这类验证任务的。它在FPGA设计中仍然很普遍,假设它非常快,很容易达到以系统速度运行的硬件测试。即使它运行在系统速度,一个非常简单的模拟就能完成一个全面的检查。然后你编程这些器件,在实验室开始启动运行。除了实验室中的可观测性和可控性是极其有限的,这是一个相对快速的路径。因为只有在从FPGA的内部拉动数据到引脚才能进行探测,这样才能在测试仪上看到它们。”  G% ~/ R& r+ S& v% O/ v0 D

' R" ?4 K% e! {8 q. L1 uBreker验证系统公司的首席营销官Dave Kelf同意这一点,“这使得器件验证的方式发生了有趣的转变。在过去,通过将设计加载到FPGA本身并在测试卡上实时运行的方法使较小的器件尽可能多地验证。随着SoC和软件驱动设计的出现,可以预期这种自我“原型”的验证方式可能与软件驱动的技术结合得很好,对于这个过程的某些阶段,它确实如此。然而,在原型开发过程中识别问题并调试它们是很复杂的。这种较早的验证阶段需要进行仿真,因此SoC风格的FPGA看起来越来越像一个ASIC。考虑到这两个过程,它们之间的协同使得过程更加高效,包括常见的调试和测试平台。新的进展,如便携式激励(Portable Stimulus)会提供这种协同性,事实上,使得SoC FPGA更易于管理了。”6 f1 x4 J$ c) Q4 _# f/ f8 A

4 o  W' ^# V* E! v9 `073 {! w0 T  k, [: V5 X- C
结论1 G: T* W0 f- j1 r
9 c% {& V) ^$ L5 W* H
Sherer说,展望未来,用户正在寻求把那种在ASIC世界更严格的工艺整合到FPGA。) f$ }# _+ u# Q, f% z' E
4 ]' }" K  `8 j0 Q9 ~9 i5 b
“有大量的培训和分析,他们希望在FPGA中有更多的技术用于调试,以获得这样的支持。”他说。“FPGA社区倾向于落后于现有技术,倾向于使用非常传统的方法。因此,他们需要在空间、规划和管理、需求追溯等方面进行培训和培养意识。来自SoC流程的那些元素在FPGA中是绝对必要的,而FPGA本身并没有推动这个那么多,而是那些最终应用的工业标准在推动它。需要对在FPGA环境下工作的工程师进行再培训和再教育。”* N, X0 j. r" p/ x: V& ~

/ Z7 \" j+ b: m/ I+ N% c  J在大量需要灵活性的应用驱动下,ASIC和FPGA之间的界限正变得模糊,系统架构越来越多地结合可编程性与硬件逻辑,以及工具,这些现在都适用于两者。这种趋势不太可能很快改变,因为许多新应用领域要求的这些组合仍然还处于萌芽阶段。
* N  a+ V+ C' R; }; _: V) `) t* ^* H( P) o1 M
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 07:25 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表