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

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

3天内不再提示

浅析FPGA的重要用途

FPGA研究院 来源:OpenFPGA 作者:OpenFPGA 2024-11-05 15:49 次阅读

以下文章来源于OpenFPGA,作者碎碎思

FPGA 允许在单个芯片中实现大量数字逻辑,其运行速度相对较高,并且只需很少或不需要在 CPU 内核上运行的传统顺序程序即可完成其工作。

d799f7ce-9b31-11ef-a511-92fbcf53809c.png

这种数字逻辑可以实现任何东西,从简单的UART到由数十个CPU内核组成的架构,每个CPU内核都运行自己的小程序,并在共享任务上相互通信。或者,它可以是几组不同的逻辑在处理完全独立的任务,这些任务彼此之间可以没有关系。

1、数字逻辑实现

基本上,FPGA 允许放置下图中所有这些较小的黑色芯片:

只需 1 个芯片,就可以立即使用新设计以任何想要的方式重新连接所有这些芯片。诚然,设计过程是......比较困难!

FPGA 擅长同时执行多项任务,可以将该功能实现为单独的数字逻辑,从最简单的组合逻辑一直到复杂的 CPU 处理器。除了逻辑元件的数量和它们之间的互连之外,几乎没有什么限制。

2、高速率高带宽数据处理

一个典型的例子:

FPGA 的一个典型示例是与图像传感器接口

d7c601f2-9b31-11ef-a511-92fbcf53809c.png

看到顶部和底部有多达 32 个 LVDS 串行输出。

LVDS信号是串行数据的一对差分线(用于获得高速和抗噪性)。图像数据将从每个LVDS对中输出。

这种高速串行输出数据的原因是为了让整个图像尽快从传感器中取出,并进入后续处理阶段(可能在FPGA中)。完成此操作的速度越快,帧速率就越高。如果想要一个能够达到 120fps 帧速率的运动相机,那么就需要将整个帧数据输出 - 在以 18 位分辨率模式运行时,此传感器为单帧数据量为 12 MB - 每秒 120 帧,超过 2 GBytes/s 的数据量!

实现这一目标的一种方法是使用大量LVDS输出,并将每个输出分配给帧的特定部分。这基本上是“分而治之”。

d7d463e6-9b31-11ef-a511-92fbcf53809c.png

问题在于,接收数据后需要重组这些LVDS数据,组成一个图像传感器的一帧数据。唯一可行的方法是在硬件中实现,因为:(a)没有微控制器/处理器具有那么多串行LVDS,(b)即使有,处理负担也会很大,并且可能永远无法达到所需的帧速率。

这只是使用FPGA的一个“经典”示例,它将来自每个LVDS输入的所有数据重新组合到图像的单个相干帧中。然而,它并没有就此结束。后续的ISP处理等操作都可以在同一个FPGA中进行。

3、保证时间精确控制

FPGA的另一个重要用途:在需要“保证”响应的情况下,或者需要确定地满足“硬”时序约束。实时控制系统的挑战之一是保证实际上能够满足这些时间限制。

在大多数通过微处理器/微控制器上的顺序编程实现的非平凡的控制系统中,有时主要“应用程序”会被中断,要么是切换到其他辅助任务,要么是处理 I/O 中断,尤其是需要大量计算资源且自身具有时序限制的现代通信协议。由于所有这些其他任务和职责都在争夺 CPU 时间,嵌入式系统开发人员已经提出了几种技术来应对这些挑战,但是顺序编程系统可以实现的功能是有限的。

FPGA 是专用电路、状态机以及控制和数据流“编程”的绝佳解决方案,精度低至纳秒级,几乎没有系统“错过”事件或不符合设计时序约束的风险。

一个常见示例是通过多相电机桥式整流器进行相位控制或PWM控制,或使用H桥晶体管驱动器配置时进行的。

d7eda6ee-9b31-11ef-a511-92fbcf53809c.png

在这些场景中,不仅可以以数十kHz甚至高达MHz的速度开关电源,而且还可能根据其他控制信号调制PWM - 可能是一组3个正弦波,用于三相对准,在这种情况下,需要相对PWM时序的精细分辨率。

在FPGA中实现这种控制可以满足非常精细的时序约束。

4、其他

FPGA 还有无数其他用途。

就在我常用的一种工具-Saleae逻辑分析仪:

Xilinx Spartan 6 FPGA 执行所有高速工作,捕获其数字输入的时间序列状态,然后通过 USB 将其发送到PC。通过在 PC 上的分析来查找自己的数字电路设计中的错误。

数据中心

在过去的几年里,微软、亚马逊和谷歌在云服务器基础设施中使用FPGA引起了很多关注,其中每个服务器都有一个FPGA,允许一些传统上通过线性编程完成的计算任务,在专用的定制FPGA数字逻辑中完成。

这使得服务器可以相对快速且轻松地重新配置,以便针对在其上运行的特定应用程序进行优化。这些应用程序可以是加密计算,或是OpenCV视觉算法,或是AI/ML推理,或是复杂的网络数据包过滤,或者其他我们不知道的操作!

IC设计

最后,FPGA 通常被用作原型设计的一种方式,该设计最终将被“锁定”到自己的IC芯片设计中。

本文转载自OpenFPGA公众号

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

    关注

    68

    文章

    19155

    浏览量

    229033
  • FPGA
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601644
  • 芯片
    +关注

    关注

    453

    文章

    50358

    浏览量

    421617
  • 内核
    +关注

    关注

    3

    文章

    1362

    浏览量

    40215
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211085

原文标题:FPGA可以解决哪些问题?

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

收藏 人收藏

    评论

    相关推荐

    浅析Altera公司Stratix V FPGA芯片

    电子发烧友网: 本文主要为大家浅析Altera公司 28nm Stratix V FPGA。Altera公司公布了其28nm Stratix V FPGA的性能参数指标,具体参数如下表所示。该款芯片发售日期为2011年一季度。
    发表于 08-10 10:07 7762次阅读

    FPGA/CPLD同步设计若干问题浅析

    FPGA CPLD同步设计若干问题浅析摘要:针对FPGA/CPLD同步设计过程中一些容易被忽视的问题进行了研究,分析了问题产生的原因、对可靠性的影响,并给出了解决方案。关键词:FPGA
    发表于 04-21 16:42

    微波暗室的主要用途

    用途要用途是模拟自由空间,进行天线远、近场测试。具体地,用于本科生“微波技术”、“天线与传播”、“气象遥感”等课程的教学实验;毕业设计的实验;无线传感器在自由空间的网络实验。用于研究生“波导
    发表于 05-30 06:29

    电容有什么作用?主要用途是什么?

    电容有什么作用电容的主要用途
    发表于 03-17 07:44

    LabView主要用途有哪些呢

    LabView到底是什么?LabView主要用途有哪些呢?
    发表于 09-27 06:15

    各波段无线电波的主要用途

    波段名称    主要用途 超长波      导航、固定业务、频率标准
    发表于 04-16 19:02 4909次阅读

    石英砂的主要用途

    石英砂的主要用途 石英砂是一种坚硬、耐磨、化学性能稳定的硅酸盐矿物,其主要
    发表于 11-17 09:45 2061次阅读

    GPS的主要用途有哪些?

    GPS的主要用途有哪些?  (1)陆地应用:主要包括车辆导航、应急反应、大气物理观测、地球物理资源勘探、工程测量、变形监测、地壳运动监测、市政规
    发表于 01-29 10:59 1.1w次阅读

    IC芯片的常见种类及主要用途

    IC芯片的常见种类有哪些,主要用途是什么?
    的头像 发表于 01-18 11:55 1.9w次阅读

    液晶拼接屏主要用途有哪些

    液晶拼接屏以高清晰、大尺寸、小拼缝的优势,得到众多用户的喜欢与认可,在当今的显示领域发挥着极其重要的作用。随着液晶技术的日益成熟,液晶拼接屏的应用越来越广泛。那么,液晶拼接屏主要用途有哪些?我们一起来看下景信科技小编为大家做的介绍!
    的头像 发表于 04-26 17:36 693次阅读

    宽带固定衰减器的主要用途和指标

    宽带固定衰减器是一种用于调节信号强度的无源电子元件。它的主要用途是在射频(RF)和微波领域中,用于精确控制信号的衰减程度,以满足特定的应用需求。以下是宽带固定衰减器的主要用途和指标:
    的头像 发表于 06-10 11:19 811次阅读

    液晶拼接屏主要用途有哪些

    液晶拼接屏以高清晰、大尺寸、小拼缝的优势,得到众多用户的喜欢与认可,在当今的显示领域发挥着极其重要的作用。随着液晶技术的日益成熟,液晶拼接屏的应用越来越广泛。那么,液晶拼接屏主要用途有哪些?我们一起来看下景信科技小编为大家做的介绍!
    的头像 发表于 04-19 15:36 903次阅读
    液晶拼接屏主<b class='flag-5'>要用途</b>有哪些

    施密特触发器的主要用途有哪些

    施密特触发器(Schmitt Trigger)作为一种具有正反馈特性的比较器电路,在电子设备和电路中扮演着至关重要的角色。其主要用途广泛,涵盖了信号处理、波形变换、脉冲整形、脉冲鉴幅、振荡电路、数字逻辑电路等多个领域。
    的头像 发表于 08-12 15:57 1167次阅读

    Jtti:Windows服务器在企业环境中的主要用途和应用场景是什么?

    本文将探讨Windows服务器在企业环境中的主要用途和应用场景。我们将介绍Windows服务器在企业中的广泛应用,以及其在网络、存储、应用程序托管等方面的重要用途
    的头像 发表于 09-21 11:28 291次阅读

    顶坚单北斗井下防爆手机的重要用途

    与工业安全生产的坚实后盾。顶坚单北斗井下防爆手机单北斗井下防爆手机在多个方面展现出了其重要用途,尤其是在高危行业如矿山开采、石油化工等环境下,其作用尤为突出。以下是其
    的头像 发表于 09-25 09:57 249次阅读
    顶坚单北斗井下防爆手机的<b class='flag-5'>重要用途</b>