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

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

3天内不再提示

FPGA入门的基本概念和知识介绍

我快闭嘴 来源:EDA365网 作者:EDA365网 2020-09-30 13:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

与典型的微控制器相比,现场可编程门阵列FPGA是一种能够提供更强性能和灵活性的器件,本文通过解答几个有关FPGA的常见问题——什么是FPGA、为什么我会需要FPGA、如何为FPGA编程——为开发者提供FPGA入门所需的基本概念和知识。

如果您是二元思维的人,那么不要错过第1到4部分内容。在这篇博客中,我将简单介绍我最感兴趣的电子器件:现场可编程门阵列(FPGA)。

当我和人们谈起FPGA时,我听到很多人说:“我不知道它们的工作原理”、“它们太复杂了”、“我无法用C语言编程”。我不希望看到这样一种神奇的器件遭受如此冷遇,因此下面我将尝试解答一些常见问题(FAQ)。

问题1:什么是现场可编程门阵列?

详细解答如下:顾名思义,有人推断它是可编程的逻辑门结构。这种解释很接近,但又不太准确,因为内部逻辑阵列实际并不是利用门来实现的。相反,我们将阵列中的这些块称为“逻辑单元”。这些逻辑单元通常由查找表 (LUT)(用于实现任意逻辑功能)以及一些辅助电路(例如多路复用器、加法器和触发器)构成。您会经常听到人们将这种逻辑单元阵列称为“FPGA结构”。

简而言之,我可以将FPGA比作一个盒子,里面装有各种没有商标、用于构建数字电路的彩色构件。我可以通过适合我的应用的任何方式,将这些构件连接到一起。

如果您能描述数字电路如何工作,就能用足够的逻辑单元在FPGA内构建该电路。需要25个PWM输出?没问题。需要特殊通信协议?对某些硬件进行编程来处理该协议。

问题2:为什么我会需要FPGA?

FPGA可用于实现数字系统,但简单的微控制器通常也能够达到同样的效果。微控制器价格低廉,而且易于放置在印刷电路板上。虽然FPGA是一种功能强大的工具,但未必适合所有情况。它们有更多的功耗、布局和外部电路要求,甚至可能非常苛刻。使用成本高昂且具有诸多特殊要求的FPGA似乎有些不合时宜。

但您也许已经猜到了需要FPGA的原因:灵活性。您拥有可配置的逻辑块,就意味着不再受到硬件的制约。您不会再遇到定时器UART不够用的情况,只要您拥有逻辑单元便可创建更多定时器或UART。它能够随着技术和要求的变化,在今后进行重新配置,从而延长产品的生命周期。

第二个原因是速度。微控制器只能按顺序一次执行一条指令。由于硬件特性,FPGA结构本身是并行的。因此它能同时执行多个指令,这对于FFT或图形处理等操作非常有用,因为在按顺序执行的处理器上,这些操作可能产生很高的成本。与LVDS等典型微控制器相比,FPGA还提供了更多高速I/O选项,收发器能够以10+Gbps的速度处理HDMI等协议。

问题3:如何为FPGA编程?

FPGA采用一种名为HDL(即硬件描述语言)的特殊语言。它主要包含两种语言:Verilog和VHDL。几乎所有开发套件(例如Quartus或Vivado)都支持这两种语言,所以选择哪种语言只是偏好问题。

然后对这两种语言进行“合成”,这类似于微控制器的编译。合成工具告诉FPGA如何连接其逻辑单元,以产生代码所描述的效果。请记住,代码被转换为硬件指令而非CPU指令,在您开始使用时,务必牢记这一点。

为了简化开发,FPGA供应商提供了常用代码块目录,供您轻松置入到设计中。其中包括倍频器、RAM和通信块等。您可对它们进行配置并添加到设计中,而无需查看涉及的HDL代码,从而加快开发速度。

有些供应商还提供高级别合成(HLS) 工具,能够将使用C或C++语言编写的功能转换为HDL代码块。使用这些工具,可以通过抽除一些低级别细节,显著减少具有软件背景的开发人员的入门障碍。

仍然不太相信?我最喜欢的FPGA功能之一是它能够使用软处理器。软处理器是从FPGA的逻辑单元构建的完整处理器。利用软处理器,您能够为处理器构建定制的辅助硬件,并使用C语言编写应用程序。您可在短短几分钟内完成简单的软处理器系统设置和编程。如果您仍然需要传统处理器,可考虑在单一封装中包含FPGA和硬ARM处理器的SoC。

总而言之,与典型的微控制器相比,FPGA的成本更高,使用难度更大,但如果您需要,它们能够提供更强的性能和灵活性。随着技术的改进,集成度的提高,FPGA的成本变得更低,它们甚至能够取代传统的微控制器。
责任编辑:tzh

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

    关注

    49

    文章

    8912

    浏览量

    166059
  • FPGA
    +关注

    关注

    1665

    文章

    22581

    浏览量

    641048
  • 电路板
    +关注

    关注

    140

    文章

    5367

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开关电源的基本概念和分析方法

    开关电源的基本概念和分析方法
    发表于 04-10 15:20 1次下载

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    很多开发者第一次接触FPGA,都会有同样的疑问:FPGA是硬件,不是软件,怎么写程序?答案就是用硬件描述语言(HDL),最常用的就是Verilog和VHDL。今天,我们就带你入门,搞清楚FPG
    的头像 发表于 01-19 09:05 854次阅读
    <b class='flag-5'>FPGA</b> <b class='flag-5'>入门</b>必看:Verilog 与 VHDL 编程基础解析!

    TVS二极管的基本概念和主要作用

    芝识课堂的全新内容又和大家见面啦!从本期开始,我们将用四节课为大家系统介绍一位在电路设计中默默奉献的“无名英雄”——TVS二极管。我们会从它的基本概念、工作原理,聊到如何为电路挑选合适的型号、布局
    的头像 发表于 11-28 09:27 2.8w次阅读
    TVS二极管的<b class='flag-5'>基本概念</b>和主要作用

    如何使用FPGA实现SRIO通信协议

    泛应用。文章重点解释了回环测试的基本概念,这种方法可验证FPGA中的SRIO接口功能的正确性,并提供了系统级测试验证的相关知识。同时,本例程还涵盖了Verilog语法、FPGA架构、S
    的头像 发表于 11-12 14:38 6223次阅读
    如何使用<b class='flag-5'>FPGA</b>实现SRIO通信协议

    学习物联网怎么入门?

    联网的基本概念和技术是学习物联网的重要第一步。物联网是指互联网上的物品相互连接,通过网络实现信息交流和共享的一种技术。学习物联网需要了解物联网的基本概念,如物联网的架构、物联网的协议、物联网的应用场
    发表于 10-14 10:34

    一文看懂电源管理芯片:定义、功能与选型指南

    新手入门必读!系统讲解PMIC的基本概念、核心功能(如DC-DC转换、电池充电管理)及选型要点,帮助工程师快速掌握这一电子设计关键环节。
    的头像 发表于 09-09 11:01 2333次阅读
    一文看懂电源管理芯片:定义、功能与选型指南

    低功耗设计入门:AGPIO的基础概念与原理!

    对于刚接触低功耗设计的工程师,AGPIO的基础概念与原理是首要学习内容。从信号状态检测到电源动态管理,掌握这些核心知识,才能在实际设计中有效应用低功耗策略。 AGPIO是一种特殊的通用输入输出接口
    的头像 发表于 08-28 15:14 837次阅读
    低功耗设计<b class='flag-5'>入门</b>:AGPIO的基础<b class='flag-5'>概念</b>与原理!

    USB/HID及其基本概念

    USB帧概念 如上图所示,在USB1.1规范当中,把USB总线时间按帧划分,每一帧占用时间是1ms; 每一帧内的最开始处是SOF token,在SOF内包含有11位的帧号; 每一帧的SOF帧号相比前
    的头像 发表于 08-20 10:32 3894次阅读
    USB/HID及其<b class='flag-5'>基本概念</b>

    【PZ7020-StarLite 入门级开发板】——FPGA 开发的理想起点,入门与工业场景的双重优选

    对于初入 FPGA 与嵌入式系统开发领域的工程师而言,一款兼具专业性与易用性的入门级开发板是快速建立技术认知、提升实践能力的关键工具。璞致电子科技(上海)有限公司深耕 SDR 及 ARM/FPGA
    的头像 发表于 08-08 14:53 1619次阅读
    【PZ7020-StarLite <b class='flag-5'>入门</b>级开发板】——<b class='flag-5'>FPGA</b> 开发的理想起点,<b class='flag-5'>入门</b>与工业场景的双重优选

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集计算机(RISC
    发表于 07-23 10:21

    电压波动与闪变的基本概念

    如果您是电力系统工程师、电气设备维护人员或者相关专业的学生,应该注意到了有关电能质量的国家标准GB/T 12326-2008是有关电压波动和闪变的,那这两个参数的考核意义是什么?国家标准规定这两个参数如何计算、测量和考核?这篇文章带您全面了解电压波动和闪变的基本概念、重要性以及国家标准的规定。
    的头像 发表于 07-22 14:10 3628次阅读
    电压波动与闪变的<b class='flag-5'>基本概念</b>

    DSP从入门到精通全集

    这是一本循序渐进介绍DSP的书籍,从DSP的入门知识介绍到DPS的硬件,接口,应用,从DSP的ADC/DAC到数字滤波器处理。本文除了对DSP的各种软硬件
    发表于 07-12 14:36

    群延迟的基本概念和仿真实例分析

    在高速数字通信和射频系统中,信号从发送端到接收端的传输过程中会遇到各种失真和畸变。群延迟(Group Delay)作为描述系统相位线性度的重要参数,直接影响着信号保真度和系统性能。本文将深入浅出地介绍群延迟的基本概念、应用场景,并通过仿真示例展示其在实际工程中的重要性。
    的头像 发表于 07-08 15:14 3026次阅读
    群延迟的<b class='flag-5'>基本概念</b>和仿真实例分析

    浅谈无线通信的基本概念

    从工作频段到信道的划分,再到多址方式、双工方式、调制方式、分集技术和MIMO,这些概念共同作用,使得无线通信能够高效、可靠地进行。随着技术的不断发展,这些基础技术也在不断演进,尤其是在5G系统中,新的多址方式、双工技术和更复杂的MIMO系统都为未来的通信提供了更多的可能性。
    的头像 发表于 07-04 11:34 1796次阅读

    FPGA的基础概念和应用场景

    在现代电子科技飞速发展的浪潮中,FPGA(Field Programmable Gate Array,现场可编程门阵列)犹如一颗璀璨的明星,在通信、人工智能、汽车电子等众多领域闪耀着独特的光芒。这个
    的头像 发表于 06-30 16:13 4914次阅读
    <b class='flag-5'>FPGA</b>的基础<b class='flag-5'>概念</b>和应用场景