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

FPGA是什么?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-1-12 14:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x

" x$ a) n0 H4 d# |! tFPGA是个什么玩意?
& t0 d8 E! s/ S5 A# G9 ^" e
/ s, X% {3 W; |$ {8 n: Y
! \* W  s8 s0 c: x8 V3 Z3 b& U1 K) J6 `2 n
1 R# T8 v( w7 G6 M
' Y- R% {* N1 h首先来说:
* @* a6 G* U7 ]3 ]; ^5 O- r0 @  P& X2 I" K9 @5 b7 j" m
$ i6 _% J% r' n8 X9 M
/ J' T5 n% R( U( n, _FPGA是一种器件。其英文名 feild programable  gate arry 。: a4 P" L1 C3 A6 N9 |: u
5 @/ E+ j0 i9 X$ A% ]; b# {- t% F5 I7 c' ?
& Q7 t9 D7 @) }6 J9 G! ~4 Q6 J0 ?' o" r. @+ {4 o4 W
% }8 D& i, H+ z$ E7 _很长,但不通俗。通俗来说,是一种功能强大似乎无所不能的器件。. G) U% i! |* |# M
# V- W; F$ z% _! v8 ^+ m  U- \+ Z1 d$ v) y7 M/ t+ G0 }( d: D, Z- Q3 M- ~; J9 V6 b1 E
6 ]- A! d3 v2 g! \9 K
通常用于通信、网络、图像处理、工业控制等不同领域的器件。就像ARMDSP嵌入式器件一样,成为无数码农码工们情感倾泻而出的代码真正获得生命的地方。只不过,一样的编程,却是不一样的思想。嵌入式软件人员看到的是C。而FPGA工程师看到是硬件描述语言,verilog或VHDL。软件看到是函数、对象、重构。FPGA工程师则是模块、流水、复用。从现象上看,都是代码到下载程序再到硬件上运行。不能只看现象而忽略本质。FPGA 开发本质上是设计一颗IC,“**的身子,丫鬟的命”不是所有verilog/VHDL代码,都能获得青睐去流片成为真正的芯片,而更多的则成为运行在FPGA器件上,成为完成相同功能的替代品。其实现的功能却一点也不逊色于百万身价流片的近亲。从而成为独树一帜的行业。9 W+ w( u6 f+ {4 f6 m, d9 K. T4 w) R: m$ [& k8 h: ]1 f. @6 v! m

' k0 ^% _5 Q8 }! U$ ^8 P; A0 `. E# |5 |# `! A- K' P# J% Q0 C" Q3 C0 m
FPGA开发的流程,是通过verilog/VHDL等硬件描述语言通过EDA工具编译、综合、布局布线成为下载文件,最终加载到FPGA器件中去,完成所实现的功能。. L: a! W* {$ ?. |) K# ^" u

$ `7 D5 I* z9 M; b! J
& A) G$ U1 z9 u! O; S那硬件描述语言描述的是什么?这里描述的就是组合逻辑电路和时序逻辑电路。组合逻辑电路就是大家所熟知的与门、或门、非门。- j7 _% l8 n3 z+ |5 b

3 d+ X1 K& s, P: c# ]2 h, Q. F0 i: W6 r# s0 ^* o
时序逻辑电路则是触发器。数字芯片上绝大部分逻辑都是这两种逻辑实现的。也就是基本上每个电子行业的人所学过的数字电路。6 o+ C/ r/ _% D1 g2 M8 R
/ c, y+ r0 g5 n8 @( R2 X6 \/ e' D7 i" \: C% ~
4 I- A" P# H' v. q. D7 N- D* N- [- F3 z1 X
顺便说一下,感谢香农大师,在其硕士毕业论文<继电器与开关电路的符号分析>就奠定了数字电路的的根基。只不过在FPGA中,与或非的操作变成了查找表的操作。于是所有的数字电路变成了查找表和寄存器,这就构成了FPGA的基础。查找表负责逻辑实现,寄存器存储电路状态。二者配合,双剑合璧,天衣无缝。这是最初的FPGA的雏形。 1 g) q7 r0 n% x) N8 R
5 K# u. w* C7 k* Q7 c! W8 h! [4 X8 W; n# _  W$ d2 ^
$ S6 V2 [# I' \4 X" ?
  e9 K  b# Q8 S4 j现代FPGA内部出了查找表和寄存器之外,还有RAM块,用于存储大量的数据块,这是因为RAM块较寄存器来存储大量数据更能节省芯片实现的面积。FPGA内部的时序电路则需要时钟的输入,通常FPGA内部需要时钟种类较多,因此需要在片内产生所需的的相关的时钟,如不同频率,不同相位的时钟,因此时钟管理单元DCM/PLL也是必不可少的内部部件。4 A8 M2 `" ]/ K- N9 W/ Z& @% ]8 d9 J, N! D& M! o
( J7 B5 |6 P% Y- K3 r7 E9 t8 p
- L  x! ~; n( ~9 m0 n( t. Y) `3 u  i: C9 K. M/ ~
除此之外,FPGA内部还包括接口I/O,I/O分为普通I/O和高速I/O,高速I/O支持例如高速的SERDES,用于实现XAUI,PCIE等高速接口,这些接口动辄几Gbps到10Gbps以上。此外种类多种多样的硬核IP也是各FPGA厂商差异化竞争利器,例如POWERPC、ARM等硬核IP。从而构成CPU+FPGA于一体的集可编程性和可重构的处理平台。因此,相对来所,FPGA虽然发展有二三十年的历史,其基本架构一直不变不大。      3 Q. Z9 w: j+ ~2 c  G: i+ n7 T+ B: ]
6 l- U& K0 D: P- B4 V0 e* E5 S
1 f; ?2 P$ r& u+ |; P; Z# O. }! P1 m1 ~" \& [9 j/ ~: Y0 b
回到问题开始的地方,FPGA的英文翻译过来是现场可编程门阵列。这是相对ASIC来说的,ASIC的硬件也可看做是门阵列,但是其是非可编程的器件。流片完成其功能就固化了,而FPGA的可编程性就在其能够重新下载配置文件,来改变其内在的功能,这就是其可编程性的由来。. d0 i' M9 e* Y* _* {1 h! b8 \, v
  H6 i0 p/ M& y  u! J/ k8 Z4 o* _4 B4 `" C( ~( @) Q, Q5 X: T' M1 x5 T1 l2 |9 c, e

0 |. ^. D- V6 g7 D) Q从前端开发流程来说,FPGA和ASIC开发并无二至。由于ASIC开发一次性投入成本较高,FPGA无疑是一种经济的替代方案,用于实现的高速的数据并行处理。如业务能够支撑大规模应用并且协议固化,则能够分摊成本的ASIC实现就有成本的优势。' b& R; }  l; ]

; ]" P5 b6 i, b4 u! a
% n7 |+ o7 k( s6 p) }. q/ P- kFPGA作为一种器件,技术上主要垄断在少数大公司手中,那就是双巨头ALTERA和XILINX。除此之外还有一些份额相对较小的公司,例如ACTEL和LATTICE。不止是FPGA的硬件芯片,其配套的EDA工具技术壁垒更高。因此相对于CPU来说,FPGA的国产化更不乐观,不过已经有国内的厂商来从事这一行业,例如国微和京微雅格等,也在一些细分市场上推出自己的FPGA产品。  k1 n" V$ Z8 H% {
# _& T! w9 O/ m9 ~- d5 w0 \2 Z- \3 z9 F4 O: S; a4 S$ v2 q& e
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-27 14:52 , Processed in 0.109375 second(s), 27 queries , Gzip On.

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

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

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