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

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

3天内不再提示

什么是FPGA?

贸泽电子设计圈 来源:贸泽电子设计圈 作者:贸泽电子设计圈 2021-01-02 18:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们生活在一个由模拟构成的世界中。不过,数字处理的出现,为我们体验这个世界并与之互动带来了全新的方式,包括卫星导航、自动驾驶汽车、增强现实,当然还有那永远都离不了身的手机

要想实时或者准实时地处理那么多信息,就必须要有强大的处理能力,这样的处理能力显然是受益于摩尔定律的。对于设计工程师而言,他们也可以从多种处理技术中来进行选择,以便将最合适的技术运用到手边的应用中。这些处理技术涵盖了传统处理器、图形处理单元(GPU)和可编程逻辑(PL)。

在上述处理技术中,可编程逻辑恐怕是最鲜为人知的一种,人们也往往认为它是用起来最具挑战性的处理技术之一。

No.1

可编程逻辑的优势可编程逻辑能够让用户在真正意义上并行实现其算法和应用,从而创造出更具有确定性、响应更加迅速的解决方案,因而适用于需要实时处理和响应的场景,例如视觉和信号处理以及雷达等。 传统意义上,可编程逻辑器件可分为复杂可编程逻辑器件(CPLD)与现场可编程门阵列(FPGA)两种类别, 其中CPLD基于“门海”(sea-of-gate)的方式提供由寄存器和逻辑函数构成的简单器件结构。

至于FPGA,它提供的结构要比CPLD更加复杂,通常还会包含多种专用硬件元件,例如存储块、数字信号处理、时钟管理、千兆串行收发器和IO块。

No.2

FPGA的构成要素FPGA的基本构成要素是查找表(LUT)、寄存器和灵活IO单元结构,其中LUT能够实现逻辑方程式,而寄存器则为实现顺序逻辑设计提供了必要的存储元件。LUT和寄存器结合在一起,即可实现通常所说的“逻辑片”,其简单示例如(图1)所示。现代器件中的这些逻辑片包含诸多选项,以便实现组合逻辑电路或时序逻辑电路,这些选项包括本地分布式内存,以及可通过配置将LUT用作移位寄存器的功能。

0e33d5c2-2e06-11eb-a64d-12bb97331649.png

图1:简单的LUT结构

在FPGA器件中,通常将两个逻辑片组合在一起,形成可配置逻辑块(CLB)。这些CLB相互连接,以便通过路由和交换矩阵实现必要的功能,如图2所示。

0e4b3f0a-2e06-11eb-a64d-12bb97331649.png

图2:可通过交换矩阵配置路由块和互连

No.3

FPGA设计FPGA通常使用硬件描述语言(HDL)设计,其中最常见的两种是Verilog和VHDL。和传统的软件语言相比,这些语言需要在更加低级的层面上定义设计,它们具体描述的是寄存器级别上的传输,例如实现状态机、计数器等。VHDL和Verilog都固有地支持并发的概念,这是对FPGA架构的并行架构进行建模所必需的。此外,通过高级综合(HLS)使用C、C++或OpenCL等高级语言开发FPGA IP块的做法也正变得越来越普遍。虽然这些语言并不支持并行,但工程师可以使用编译器指令来指示并行结构,而使用更高级的语言有助于工程师更快地完成开发和验证。 FPGA器件的IO结构可以直接对接各种IO标准,包括LVCMOS等单端标准以及LVDS、TMDS等差分标准。但这种IO结构的“技能”可远不止于此——现代化的IO结构还可以实现片上端接、精细PS延迟,甚至SerDes结构。也就是说,FPGA有效地提供了各种对接接口,连接起了各种标准、定制或传统接口。这种灵活性还使系统设计人员摆脱了引脚绑定的束缚,这与使用带固定IO引脚分配的专用标准产品(ASSP)有着显著区别。 因此,要设计出可编程逻辑设计解决方案,需要执行以下步骤:

合成 – 将HDL设计转换为一系列逻辑方程,然后将其映射到目标FPGA中可用的资源上。

放置 – 把合成工具确定的逻辑资源放置到目标器件中的可用位置。

路由 – 使用路由和交换矩阵将设计中放置的逻辑资源互连,以实现最终应用。

位文件 – 生成目标FPGA的最终编程文件。

通过仿真,工程师可以确保他们实现的设计在功能上符合设计要求。他们可以创建激发RTL(寄存器传输级别)模块的测试平台,这些平台可以提供输入并监视结果输出,然后通过查看仿真波形来验证这些模块的行为,如(图3)所示。或者,他们也可以编写更复杂的测试平台,用来检查和验证输出。

0e7558ee-2e06-11eb-a64d-12bb97331649.png

图3:RTL仿真输出

尽管FPGA在性能和接口上具有显著优势,但开发基于FPGA的解决方案可能会比开发传统软件更加复杂。不过,我们有现代化的设计工具,尤其是高级合成工具以及各种可以免费获取的知识产权,并且现代化器件的功能也更加强大,这些都让“FPGA更难开发”成为了历史。

No.4

器件产品系列如果您还不熟悉FPGA的历史,这里就先简单地介绍一下。FPGA是Ross Freeman和Bernard Vonderschmitt于1985年随着XC2064的发布而发明的,这款FPGA先驱产品具有64个可配置逻辑块。今天,Xilinx的现代化器件可为用户提供893.8万个系统逻辑单元、3840个DSP元件、76Mb块内存和90Mb的UltraRAM——这与最初的产品相比堪称巨大飞跃。 当然,上面提到的器件是Xilinx现阶段最大型的FPGA产品,对许多应用而言确实有点杀鸡用牛刀了。为了帮助指导工程师选择适合其应用的FPGA,Xilinx提供了一系列FPGA和片上系统器件,这些器件能够支持多个不同系列的各种解决方案。 Xilinx围绕28nm节点开发了一系列成本优化型产品,总共提供三个不同的器件系列,均针对不同的用户需求进行了优化。

Spartan-7 FPGA:该系列是广受欢迎的Spartan-6系列器件的后继产品,可为开发人员提供比旧技术45nm节点更高的性能和更低的功耗。Spartan-7还经过了I/O优化,在成本优化的FPGA产品组合中是一个引脚数量非常高的系列。

Artix-7 FPGA:这是Xilinx 7产品线中的全新系列,针对收发器进行优化,具有6.6Gbps高速收发器。

Zynq-7000 SoC:该系列在初次亮相时颇具革新意义,它为业界带来了将硬核Arm Cortex-A9处理器与FPGA架构相结合的新型器件。这种新型器件可以提供集成系统解决方案,并且具有功耗更低、解决方案整体体积更小、EMI显著降低等优势。

该产品组合中的器件可以支持从传感器融合到精确控制、图像处理和云计算等一系列应用。

No.5

高端解决方案对于超高性能和更专业的应用,Xilinx提供了28nm、20nm和16nm三个技术节点上的Kintex和Virtex系列。随着UltraScale和UltraScale+系列器件的不断发展,其性能和功能得到了显著提高。 Kintex器件在三个技术节点上提供了不断提升的性能、逻辑资源和收发器:从Kintex器件中的6.55万个逻辑单元到Kintex UltraScale+器件中的11.43万个逻辑单元。它们提供GTH和GTY千兆收发器,分别支持高达16.3Gbps和32.75Gbps的数据传输速率。

Virtex是Xilinx FPGA中性能最高的系列。这些器件不仅提供多达893.8万个系统逻辑单元和58Gbps高速收发器,而且还支持高带宽存储器(HBM)。该系列产品具有4GB至16GB的片上DRAM和高达460Gbps的带宽,其内存性能是DDR4 DIMM的约20倍。Virtex HBM器件适用于为网络和存储加速的应用。

No.6

工具链

Xilinx开发工具支持从最小的Spartan-7到最大的Virtex UltraScale+的所有器件,涵盖了设计生命周期中的各个方面,从RTL捕获直到仿真以及开发用于处理器核心的软件。

Vivado设计套件:Vivado可以对设计、RTL仿真以及合成、放置、路由和生成位文件的实施过程进行捕获。

Vivado HLS:高级合成工具,让工程师能够使用C或C++来开发IP。

Vitis一体化软件平台:Vitis支持嵌入式处理器的软件开发,以及使用OpenCL进行加速。

PetaLinux工具:PetaLinux是用于嵌入式处理器的嵌入式Linux解决方案。

当然,您还可以选用其他各种商业和开源软件工具,它们涵盖了从合成到仿真的各个阶段;此外,同时支持仿真和形式验证的验证工具正变得越来越多。

原文标题:何为FPGA?

文章出处:【微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    1656

    文章

    22292

    浏览量

    630411
  • 寄存器
    +关注

    关注

    31

    文章

    5590

    浏览量

    129092
  • RTL
    RTL
    +关注

    关注

    1

    文章

    393

    浏览量

    62403

原文标题:何为FPGA?

文章出处:【微信号:Mouser-Community,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MarketsandMarkets FPGA行业报告,2026~2030 FPGA市场洞察

    2025年10月,全球知名市场研究与商业洞察权威咨询机构 MarketsandMarkets 发布 Field-Programmable Gate Array (FPGA) MarketSize
    的头像 发表于 11-20 13:20 142次阅读
    MarketsandMarkets <b class='flag-5'>FPGA</b>行业报告,2026~2030 <b class='flag-5'>FPGA</b>市场洞察

    FPGA+DSP/ARM架构开发与应用

    自中高端FPGA技术成熟以来,FPGA+DSP/ARM架构的硬件设计在众多工业领域得到广泛应用。例如无线通信、图像处理、工业控制、仪器测量等。
    的头像 发表于 10-15 10:39 3691次阅读
    <b class='flag-5'>FPGA</b>+DSP/ARM架构开发与应用

    FPGA技术为什么越来越牛,这是有原因的

    最近几年,FPGA这个概念越来越多地出现。例如,比特币挖矿,就有使用基于FPGA的矿机。还有,之前微软表示,将在数据中心里,使用FPGA“代替”CPU,等等。其实,对于专业人士来说,FPGA
    的头像 发表于 08-22 11:39 3835次阅读
    <b class='flag-5'>FPGA</b>技术为什么越来越牛,这是有原因的

    开源FPGA硬件|FPGA LAYOUT评审,紫光同创定制公仔派送中

    Part.1活动背景近期,小眼睛科技联合紫光同创及电子发烧友发起了#拥抱开源!一起来做FPGA开发板活动,活动一经发布,得到了很多开源爱好者的热烈响应,再次感谢大家的支持!小眼睛科技是一家以FPGA
    的头像 发表于 08-12 12:33 956次阅读
    开源<b class='flag-5'>FPGA</b>硬件|<b class='flag-5'>FPGA</b> LAYOUT评审,紫光同创定制公仔派送中

    Altera Agilex™ 3 FPGA和SoC FPGA

    Altera Agilex™ 3 FPGA和SoC FPGA Altera/Intel Agilex™ 3 FPGA和SoC FPGA使创新者能够将成本优化的设计提升到更高的性能水平。
    的头像 发表于 08-06 11:41 3677次阅读
    Altera Agilex™ 3 <b class='flag-5'>FPGA</b>和SoC <b class='flag-5'>FPGA</b>

    FPGA与高速ADC接口简介

    本文介绍FPGA与高速ADC接口方式和标准以及JESD204与FPGA高速串行接口。
    的头像 发表于 06-12 14:18 2729次阅读
    <b class='flag-5'>FPGA</b>与高速ADC接口简介

    FPGA调试方式之VIO/ILA的使用

    在Vivado中,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP核,它允许设计者通过JTAG接口实时读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供了一个简单易用的接口,使得用户可以轻松地与
    的头像 发表于 06-09 09:32 3149次阅读
    <b class='flag-5'>FPGA</b>调试方式之VIO/ILA的使用

    智多晶FPGA设计工具HqFpga接入DeepSeek大模型

    在 AI 赋能工程设计的时代浪潮中,智多晶率先迈出关键一步——智多晶正式宣布旗下 FPGA 设计工具 HqFpga 接入 DeepSeek 大模型,并推出 FPGA 设计专属 AI 助手——晶小助!这是
    的头像 发表于 06-06 17:06 1140次阅读

    FPGA的定义和基本结构

    FPGA 的全称为 Field-Programmable Gate Array,即现场可编程门阵列。 FPGA 是在 PAL、 GAL、 CPLD 等可编程器件的基础上进一步发展的产物, 是作为
    的头像 发表于 05-15 16:39 2294次阅读
    <b class='flag-5'>FPGA</b>的定义和基本结构

    FPGA芯片的概念和结构

    FPGA(Field Programmable Gate Array,现场可编程门阵列),是一种可在出厂后由用户根据实际需求进行编程配置的集成电路。与专用集成电路(如ASIC)不同,FPGA在硬件层面具备高度的可重构性,能够灵活实现各类数字逻辑电路和复杂系统方案。
    的头像 发表于 05-12 09:30 2414次阅读

    国产FPGA往事

    首先,这篇文章的后半部分,会有一个广告:我去年和紫光同创原厂的技术专家写了一本书——《国产FPGA权威开发指南》,我想送一些书给到熟悉的、曾经熟悉的、或者还未熟悉的FPGA开发者同行,请各位开发者
    的头像 发表于 04-14 09:53 562次阅读
    国产<b class='flag-5'>FPGA</b>往事

    fpga和cpu的区别 芯片是gpu还是CPU

    一、FPGA与CPU的区别 FPGA(Field-Programmable Gate Array,现场可编程门阵列)和CPU(Central Processing Unit,中央处理器)是两种不同类
    的头像 发表于 02-01 14:57 3036次阅读

    CPLD 与 FPGA 的区别

    在数字电路设计领域,CPLD和FPGA是两种常用的可编程逻辑器件。它们都允许工程师根据需要设计和重新配置数字电路,但它们在结构、性能和应用上存在显著差异。 CPLD和FPGA的定义 CPLD
    的头像 发表于 01-23 09:46 2480次阅读

    FPGA在AI方面有哪些应用

    随着人工智能技术的飞速发展,对计算性能的需求也日益增长。FPGA(现场可编程门阵列)作为一种高性能、低功耗、可灵活编程的硬件平台,正逐渐在 AI 领域崭露头角,展现出独特的优势,为 AI 应用的落地
    的头像 发表于 01-06 17:37 2115次阅读

    大多数FPGA的程序存储器(FLASH)为什么都放在外面呢?FPGA的主要应用

    FPGA的主要应用:  FPGA由于其较高的价格和成本,决定了FPGA不能像单片机那样被广泛的使用,FPGA的针对于高端处理市场(类如:手机处理器,平板,工业控制系统)或许你会有些疑问
    的头像 发表于 12-24 11:04 1856次阅读
    大多数<b class='flag-5'>FPGA</b>的程序存储器(FLASH)为什么都放在外面呢?<b class='flag-5'>FPGA</b>的主要应用