0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你必须知道的FPGA硬件属性

FPGA研究院 来源:FPGA研究院 2023-02-17 10:48 次阅读

事实上,MCU 对有些任务来说是很适合的,但对其它一些任务来说可能做的并不好。举例来说,当需要并行执行大量计算任务时,FPGA 可能会让你喜出望外。

如果我们进一步放大,我们可以看到,每个可编程模块都包含有许多数字功能。在这个例子中,我们可以见到一个三输入的查找表(LUT)、一个复用器和一个触发器,但重要的是我们要认识到,这些功能的数量和类型对不同系列的 FPGA 来说是会变化的。

触发器可以被配置(编程)为寄存器或锁存器;复用器可以被配置为选择一个到逻辑块的输入或 LUT 的输出;LUT 可以被配置为代表任何所要求的逻辑功能。在实际应用中,即使最简单的 FPGA 都会使用四输入 LUT,而一些更大更复杂的器件甚至会宣称使用六、七或八输入的 LUT,但为了简单起见,我们还是讨论三输入版本。

8f2c95a0-ae52-11ed-bfe3-dac502259ad0.png

我们会在以后的文章中讨论各种类型的 FPGA 实现技术。现在我们只需要知道,FPGA 内部的可编程单元可以用反熔丝、闪存单元或 SRAM 内存单元来实现。先让我们看一个用反熔丝技术创建的 FPGA 吧。这是一种一次性可编程(OTP)技术,这意味着一旦你编程了这个 FPGA,它将永远保持这个状态而不再改变。

对基于反熔丝技术的 FPGA 来说,编程器件相当于通过“硬件连线”将第一组复用器的输入连接到实现目标逻辑功能所需的正确 0 或 1 值。我们使用这个 LUT 实现了前面那张图隐含的公式 y=(a & b)|c。在实际应用中,复用器可以用场效应管的分支“树”来实现,但我们在这里真的不用担心最底层的实现细节。另外一种非常常见的 FPGA 实现技术是使用 SRAM 配置单元。同样,我们会在以后的文章中讨论更多的细节。这里我们所要知道的仅是当电路板第一次上电时,基于 SRAM 的 FPGA 会加载配置信息(我们可以把这个过程想像为器件的编程)。

我没有显示 0 和 1 被加载进 SRAM 单元的那种机制,因为我不想让问题变得复杂。出于这次讨论的目的,我们真的无需担心这种“魔术”是如何发生的。我在这里唯一要提的事(给你考虑的空间)是—使用一种被称为部分再配置的技术—FPGA 的一部分可以发起对另一部分进行再配置(当然反过来也行)。对于具有微控制器和 / 或软件背景的读者来说,我们可以将这种技术想象为相当于自我修改代码的硬件。这意味着这种技术是非常非常强大的,但也会带来很难隔离和调试的问题。

FPGA 器件还包含有通用的输入 / 输出(GPIO)引脚和焊盘。通过配置单元,FPGA 器件内的互连部分可以被编程为这样:将器件的主输入连接到一个或多个可编程逻辑块的输入。任何逻辑块的输出也可以用来驱动任何其它逻辑块的输入和 / 或 FPGA 器件的主输出。另外,GPIO 引脚可以被配置为支持种类广泛的 I/O 标准,包括电压、终端阻抗、摆率等。

8f460b2a-ae52-11ed-bfe3-dac502259ad0.png

世界上第一块 FPGA 与本文中讨论的架构非常类似。这块 FPGA 就是赛灵思公司在 1985 年推出的 XC2064(是用 2um 工艺节点制造的),它包含有 8×8=64 的逻辑块阵列,每个逻辑块包含一个四输入 LUT 和其它一些简单功能。从那以后,FPGA 发展势不可挡,正像我们看到的那样,更为复杂的 FPGA 架构

如果某个逻辑功能(比方说计数器)是用 FPGA 的可编程构造实现的,那么这个功能可以被说成“软功能”。相比之下,如果某个功能是直接用芯片实现的,则被说成“硬功能”。(随着这些功能变得越来越大越来越复杂,我们一般称它们为内核)。软内核的优势在于,你可以让它们做你想让它们做的任何事。硬内核的优势是它们占用较少的硅片面积,具有较高的性能,并且功耗较低。最优的解决方案是混合使用软内核(用可编程构造实现)和硬内核(直接用硅片实现)。

举例来说,该器件可能包含数千个加法器、乘法器和数字信号处理(DSP)功能;数兆位的片上内存,大量的高速串行互连(SERDES)收发器模块,以及众多的其它功能。

这是真正让人兴奋的事情,你可以用 FPGA 中的普通可编程构造做的事情之一是,使用其中的一部分实现一个或多个软处理器内核。当然,你可以实现不同规模的处理器。举例来说,你可以创建一个或多个 8 位的处理器,加上一个或多个 16 位或 32 位的软处理器—所有处理器都在同一器件中。

一种情形是软件开发人员捕获他们的代码,在 SoC FPGA 的 Cortex-A9 处理器上运行这些代码,然后通过分析识别任何可能严重影响性能并成为瓶颈的功能。这些功能随后可能就转交给硬件设计工程师用可编程构造来实现,它们(这些功能,不是设计工程师)将使用较低的时钟频率提供明显更高的性能,而且功耗更低。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18288

    浏览量

    222176
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593242
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16019

    浏览量

    343657
  • 触发器
    +关注

    关注

    14

    文章

    1681

    浏览量

    60408

原文标题:你必须知道的FPGA硬件属性

文章出处:【微信号:FPGA研究院,微信公众号:FPGA研究院】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA必须知道的那些事儿

    单元,如何利用好这些单元实现复杂的逻辑电路设计,是从菜鸟迈向高手的路上必须要克服的障碍。而这一切,还是必须先从了解FPGA内部逻辑及其工作原理做起。2、错误理解HDL语言,怎么看都看不出硬件
    发表于 01-12 10:42

    【经典】必须知道的495个C语言问题

    必须知道的495个C语言问题
    发表于 08-02 12:43

    电子工程师必须知道的几个技术问题

    ` 本帖最后由 gk320830 于 2015-3-7 22:30 编辑 电子工程师必须知道的几个技术问题`
    发表于 08-20 21:41

    必须知道的495个C语言问题

    必须知道的495个C语言问题
    发表于 11-03 09:04

    电子工程师必须知道的几个技术问题.pdf

    `电子工程师必须知道的几个技术问题.pdf`
    发表于 11-07 21:41

    必须知道!Upton期待树莓派呗"山寨"!!!

    `这样的事件必须知道!Upton期待树莓派呗"山寨"Upton表示Raspberry Pi注册为非营利性组织意味着销售所得的全部资金都将重新投入运营,他还希望有
    发表于 09-04 17:00

    学习开关电源必须知道的电路详解

    学习开关电源必须知道的电路详解
    发表于 05-23 11:40

    做电机行业必须知道的电机常识汇总

    做电机行业必须知道的45个电机常识!
    发表于 01-25 06:43

    作为一个程序员必须知道哪些内存的硬核知识点?

    作为一个程序员必须知道哪些内存的硬核知识点?
    发表于 10-13 08:26

    关于ESP8266必须知道的事

    写在前面之前博主学习了很多网络编程的东西是因为工作上要开始做“智能家居”、物联网方面的东西了。下面主角要登场了。就是单片机。关于ESP8266必须知道的博主使用的是安信可的产品,12S常用AT指令
    发表于 11-23 07:39

    场效应管必须知道的基础知识!

    场效应管必须知道的基础知识,华中科技大学老师整理的PPT非常实用
    发表于 06-08 17:31 51次下载

    MCU工程师须知FPGA硬件属性

    本文首先介绍了FPGA硬件构造属性,其次介绍了FPGA开发流程,最后介绍了FPGA总体设计考虑的硬件
    的头像 发表于 05-31 10:12 6571次阅读
    MCU工程师<b class='flag-5'>须知</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>硬件</b><b class='flag-5'>属性</b>

    电阻的秘密——你必须知道的电阻参数

    电阻的秘密——你必须知道的电阻参数
    的头像 发表于 12-06 14:31 429次阅读
    电阻的秘密——你<b class='flag-5'>必须知道</b>的电阻参数

    POL负载点电源设计中有何诀窍?有两点很关键,你必须知道

    POL负载点电源设计中有何诀窍?有两点很关键,你必须知道
    的头像 发表于 12-06 16:06 1159次阅读
    POL负载点电源设计中有何诀窍?有两点很关键,你<b class='flag-5'>必须知道</b>

    学习FPGA必须知道的社区

    学习FPGA必须知道的社区
    的头像 发表于 01-03 17:51 141次阅读
    学习<b class='flag-5'>FPGA</b><b class='flag-5'>必须知道</b>的社区