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

现场可编程门阵列是

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    本帖最后由 unfaithful2021 于 2022-4-7 11:22 编辑
    1 I1 P" }7 j5 }3 X; L( Z# x' O- l- B. s& V% X7 t7 o8 D6 V2 a
    当我和人们谈起FPGA时,我听到很多人说:“我不知道它们的工作原理”、“它们太复杂了”、“我无法用C语言编程”。我不希望看到这样一种神奇的器件遭受如此冷遇,因此下面我将尝试解答一些常见问题(FAQ)。0 s7 y: K+ a1 k6 o0 y6 z2 |
    问题1:什么是现场可编程门阵列?
    5 Z7 f! d2 Z2 H! D2 y
      t, v+ f6 U! K$ i, U# v详细解答如下:顾名思义,有人推断它是可编程的逻辑门结构。这种解释很接近,但又不太准确,因为内部逻辑阵列实际并不是利用门来实现的。相反,我们将阵列中的这些块称为“逻辑单元”。这些逻辑单元通常由查找表 (LUT)(用于实现任意逻辑功能)以及一些辅助电路(例如多路复用器、加法器和触发器)构成。您会经常听到人们将这种逻辑单元阵列称为“FPGA结构”。
    6 p& A( v: w) c$ r% ^- X. V4 C4 V* k
    简而言之,我可以将FPGA比作一个盒子,里面装有各种没有商标、用于构建数字电路的彩色构件。我可以通过适合我的应用的任何方式,将这些构件连接到一起。
    . `( [5 C9 [# @9 I7 Q如果您能描述数字电路如何工作,就能用足够的逻辑单元在FPGA内构建该电路。需要25个PWM输出?没问题。需要特殊通信协议?对某些硬件进行编程来处理该协议。+ a' K; q! q0 n6 m1 P! D
    & m% T2 Z& ^* K( ~5 ?- m
    问题2:为什么我会需要FPGA?
    ! n( g3 C: j7 P
    ; l. x' v! ]& O7 V  `FPGA可用于实现数字系统,但简单的微控制器通常也能够达到同样的效果。微控制器价格低廉,而且易于放置在印刷电路板上。虽然FPGA是一种功能强大的工具,但未必适合所有情况。它们有更多的功耗、布局和外部电路要求,甚至可能非常苛刻。使用成本高昂且具有诸多特殊要求的FPGA似乎有些不合时宜。
    3 w9 m$ Y/ u) x* j6 s/ s; ~+ T0 Z/ N$ I6 T% Z  n$ u
    但您也许已经猜到了需要FPGA的原因:灵活性。您拥有可配置的逻辑块,就意味着不再受到硬件的制约。您不会再遇到定时器或UART不够用的情况,只要您拥有逻辑单元便可创建更多定时器或UART。它能够随着技术和要求的变化,在今后进行重新配置,从而延长产品的生命周期。
    + ^5 w1 o* }9 m" @0 G( C% }8 V, T/ H/ _7 b! n$ y
    第二个原因是速度。微控制器只能按顺序一次执行一条指令。由于硬件特性,FPGA结构本身是并行的。因此它能同时执行多个指令,这对于FFT或图形处理等操作非常有用,因为在按顺序执行的处理器上,这些操作可能产生很高的成本。与LVDS等典型微控制器相比,FPGA还提供了更多高速I/O选项,收发器能够以10+Gbps的速度处理HDMI等协议。' {: f3 S: I. h0 H! j
    5 a5 m0 q' v7 L2 {: _
    问题3:如何为FPGA编程?& p2 s/ }; y9 S' K7 I+ P+ R

    ! s7 h6 V$ x& \' ?! o! y  V# R; [# zFPGA采用一种名为HDL(即硬件描述语言)的特殊语言。它主要包含两种语言:Verilog和VHDL。几乎所有开发套件(例如Quartus或Vivado)都支持这两种语言,所以选择哪种语言只是偏好问题。
    ( P+ |8 J" K+ y/ w$ B  H0 Q+ C$ v) z然后对这两种语言进行“合成”,这类似于微控制器的编译。合成工具告诉FPGA如何连接其逻辑单元,以产生代码所描述的效果。请记住,代码被转换为硬件指令而非CPU指令,在您开始使用时,务必牢记这一点。2 B1 D) r) d( U( x

    - v% q) e8 m  c, g  ]7 b0 I7 A- i+ j为了简化开发,FPGA供应商提供了常用代码块目录,供您轻松置入到设计中。其中包括倍频器、RAM和通信块等。您可对它们进行配置并添加到设计中,而无需查看涉及的HDL代码,从而加快开发速度。
    # C) O7 p0 d/ i$ y( a* a
    1 O7 j9 j! U9 o* i8 o1 ?* ~- p* N有些供应商还提供高级别合成(HLS) 工具,能够将使用C或C++语言编写的功能转换为HDL代码块。使用这些工具,可以通过抽除一些低级别细节,显著减少具有软件背景的开发人员的入门障碍。
    + P# \+ k* L! A% \/ ]% m/ P  E, Z% a" D+ |3 p* A9 s, ^
    仍然不太相信?我最喜欢的FPGA功能之一是它能够使用软处理器。软处理器是从FPGA的逻辑单元构建的完整处理器。利用软处理器,您能够为处理器构建定制的辅助硬件,并使用C语言编写应用程序。您可在短短几分钟内完成简单的软处理器系统设置和编程。如果您仍然需要传统处理器,可考虑在单一封装中包含FPGA和硬ARM处理器的SoC。
    1 a- T4 ]# [  t+ r& N. y2 r" T! [% Z9 y, L" g
    总而言之,与典型的微控制器相比,FPGA的成本更高,使用难度更大,但如果您需要,它们能够提供更强的性能和灵活性。随着技术的改进,集成度的提高,FPGA的成本变得更低,它们甚至能够取代传统的微控制器。
    % m1 n. T7 M1 Y; O' v1 V
    % ]- a  a- v5 P1 g# l如果您对上述任何内容感兴趣,可以立即开始使用FPGA,这将让您能够走在业界的前沿。
    7 z0 G' E8 \/ D2 s; ?1 E2 G
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-4-7 11:22 | 只看该作者
    说的很透彻
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-4-7 13:21 | 只看该作者
    FPGA的成本变得更低,它们甚至能够取代传统的微控制器。
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    4#
    发表于 2022-4-7 13:47 | 只看该作者
    这个讲的很透彻,不错
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-5 20:42 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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