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

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

3天内不再提示

FPGA讲解 FPGA到底是啥 FPGA里面有什么?

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-05-05 09:28 次阅读

首先FPGA是什么?

四个字母Field(现场) Programmable(可编程) Gate(逻辑门) Array(阵列)凸显了大量的逻辑门单元,这些逻辑单元是可以在任何地方随时进行组装的,这是不是跟乐高玩具一样?逻辑门单元是构成一切数字逻辑器件的基本单元,在数字世界里你想做任何事情、实现任何功能,都可以通过逻辑门的堆砌来实现,也就是说FPGA在数字领域里几乎无所不能,因此n年前我国的某一个FPGA公司在向国务院领导描述其产品的时候称他们做的是“万能芯片”(用这种通俗易懂的说法忽悠国家的经费)。万能有些夸张,但FPGA高度灵活,理论上来讲,只要有足够的资源(积木数量足够多)几乎可以实现数字域的任何功能,受限的是速度、功耗以及系统的成本。

pYYBAGJvqbeAZNaVAADpmr29mog032.jpg

一个典型的FPGA架构及其内部主要功能单元

FPGA里面有什么?

我们以基于Lattice的FPGA的小脚丫看一下该FPGA内部都有哪些资源以及相应资源的数量,如下是该器件LCMXO2-4000HC-4MG132C内部的功能框图:

poYBAGJvqbeAXUeLAABWaz4lzL4839.jpg

Lattice版本小脚丫FPGA芯片内部的主要功能单元

该器件的具体资源参数如下:

4320个LUT资源 - 每个LUT(查找表)有4个输入,16种状态,并一个寄存器,这就像乐高里的积木块,用来实现各种逻辑功能,至于4320是多还是少?这个要看你做的项目需要的逻辑资源,对于FPGA的初学者来讲4000多个LUT已经足够多,实现很多没听说过的功能都已经绰绰有余了;

92Kbit RAM - 这是在逻辑之外的成块状的存储器,可以灵活配置成各种位宽、各种读写模式的存储功能,比如FIFO、双口RAM等;

96Kbit用户闪存 - 这是Lattice 的一个创新,后来Altera/Intel也学着做了MAX10,就是将配置FPGA的存储器从外面的PROM变成了集成在FPGA内部的Flash,可以反复编程,从此FPGA不再外挂一个累赘了,用起来就像PLD一样方便;

嵌入式功能块(硬核):一路SPI、一路定时器、2路I2C,这可是MCU除了ALU、总线之外最基本的功能模块,都硬化到该FPGA内部了,也就意味着如果你想用这个FPGA做一个MCU玩玩,可以直接将这些已经硬化的功能块通过总线挂在处理器上,没必要再写这些功能,并且占用逻辑资源了;

2+2路PLL+DLL - 我们前面讲过外部常用的时钟产生器(比如晶振)产生的频率不高,但FPGA内部可以工作到很高的速度,因此现在几乎所有FPGA器件都有内置的PLL将外部的低频率的时钟整到很高频率,比如小脚丫的外部时钟为12MHz,内部PLL可以将它倍频到400MHz,非常快吧?

支持DDR/DDR2/LPDDR存储器 - 这是说该器件能够直接挂这些存储器,适配它们的电平和时序;

104个可热插拔I/O - 每个I/O管脚可以单独编程为输入、输出、上拉或下拉、并可以设置器输出阻抗,以便支持不同的接口协议,就像城市连接外部的道路可进可出、有的铺沥青、有的是土路;

内核电压2.5-3.3V,供电电压的范围比较宽;

132脚BGA封装,引脚间距0.5mm,芯片尺寸8mm x 8mm;

看下面就是这个器件做成的板子的图片,中间那个黑黑的就是FPGA芯片。

pYYBAGJvqbeAPSkSAABGXPJrlKE688.jpg

小脚丫正面图片-所有可以操作的功能

poYBAGJvqbeAINYpAAA-NAmgpqA097.jpg

小脚丫FPGA背面的图片 - LDO稳压器件以及编程器件

FPGA能做什么?

知道了FPGA内部的资源,也就心里有数它能做什么了。就像一座城堡,内部居民的生活丰富多彩,无论他们以何种形式进行组合,他们所做的事情取决于这些居民以及他们拥有的资源,其生活模式被城堡的设计者所定义(城市管理、文化等等等)。

但从宏观上来看这个城堡起到的功能很大程度上取决于这个城堡同外部世界的连接,没有这些同系统的连接,城堡内部的任何行为对于系统来讲都没有意义。FPGA可以是系统的一个重要组成部分,但它仅仅是一个部分而已,就像一个城堡一样,它只有同外部进行连接并执行系统通过这些连接给其分配的功能才有意义。

因此FPGA通过其I/O管脚连接外面的世界,我们使用的小脚丫芯片有132个管脚,除去电源、地之外还有104个管脚可以用来同外界进行联系。

pYYBAGJvqbeAJP4SAACkfWuihNs769.jpg

小脚丫FPGA器件的管脚分布(像城堡连接外面世界的条条道路)

做为一款让FPGA初学者学习的平台,首先要满足初学者基于掌握的数字电路知识进行做项目的定位,先要体验组合逻辑、时序逻辑、状态转换等数字电路的基础概念,而体验这些概念就需要一些必要的输入(按键、开关)和必要的输出(通过单色LED灯、三色灯、数码管进行各种方式的显示),综合考虑板子的尺寸以及初学者随时随地能练习的要求,我们经过取舍后选定了如下的板上功能及连接:

poYBAGJvqbeAOBCuAAA84ctrQKQ561.jpg

通过FPGA的IO管脚连接的板上功能

板载资源:

两位7段数码管 - 可以以状态、数值的变化来显示内部逻辑运行的信息

两个RGB三色LED - 可以以LED的亮度、颜色灯的变化显示内部逻辑运行的信息;

8路用户LED - 可以通过组合来形象地显示内部逻辑运行的信息;

4路拨码开关 - 做为状态的输入;

4路按键 - 做为外部条件变换的输入;

pYYBAGJvqbeAMrdpAABEgJU_QAo264.jpg

板子上的这些功能说明

当然作为一个灵活的学习模块,我们还要给用户留下一定的灵活扩展的空间,让用户以各种方式来连接其计划连接的其它器件,在这个模块的周边我们留出了36个信号管脚(4个电源、地除外)给用户,用户可以灵活配置、应用这些管脚,让自己的系统充分利用这些管脚让FPGA内部的逻辑资源执行分配的任务。

poYBAGJvqbiAQaV6AABq3PEAdq0684.jpg

还有36个管脚可以做进一步的灵活连接,由未来的用户来定义

小脚丫FPGA模块在兼顾初学者学习功能的前提下,同时留给工程师更多扩展的灵活性,小脚丫团队也开发了一些扩展的模块,并通过独特的适配板连接世界上开源硬件最强大的两个生态系统的扩展卡 - Arduino树莓派,小脚丫FPGA的使用者可以充分利用这些生态系统里现有的扩展模块进行FPGA逻辑设计就可以了。

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

    关注

    1602

    文章

    21320

    浏览量

    593173
  • 逻辑门
    +关注

    关注

    1

    文章

    121

    浏览量

    23833
收藏 人收藏

    评论

    相关推荐

    FPGA到底是什么?FPGA为什么比GPU的延迟低?

    不管通信还是机器学习、加密解密,算法都是很复杂的,如果试图用 FPGA 完全取代 CPU,势必会带来 FPGA 逻辑资源极大的浪费,也会提高 FPGA 程序的开发成本。
    发表于 01-17 09:36 1134次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>到底是</b>什么?<b class='flag-5'>FPGA</b>为什么比GPU的延迟低?

    求救“在FPGA里面做一个NIOS核,其中UART的设置”

    我最近在做一个FPGA的设计,在FPGA里面做一个NIOS核,用串口向IONS里送数据,但在NIOS的串口初始化设置时,借鉴了一位前辈的程序,里面有一个调用函数:alt_irq_reg
    发表于 09-15 23:33

    FPGA里面做一个NIOS核

    我最近在做一个FPGA的设计,在FPGA里面做一个NIOS核,用串口向IONS里送数据,但在NIOS的串口初始化设置时,借鉴了一位前辈的程序,里面有一个调用函数:alt_irq_reg
    发表于 09-16 23:30

    FPGA有哪些优缺点?

    FPGA到底是什么?FPGA有哪些优缺点?FPGA常见的应用是什么?
    发表于 09-18 07:37

    FPGA?太难了~

    文件,最终加载到FPGA器件中去,完成所实现的功能。依旧如故:二三十年来,FPGA的结构基本上就没还是那个样子:小小的芯片里面有非常多的查找表,这些查找表的组合,完成了或与非等数字逻辑的实现,再加上时钟模块
    发表于 11-03 10:29

    FPGA的原理及电路设计应用的讲解

    中国大学MOOC 本课程以目前流行的Xilinx 7系列FPGA的开发为主线,全面讲解FPGA的原理及电路设计、Verilog HDL语言及VIVADO的应用,并循序渐进地从组合逻辑、时序逻辑的开发开始,深入到
    的头像 发表于 08-06 06:08 3128次阅读

    FPGA到底是什么?FPGA有哪些优势

    现场可编程门阵列(FPGA)技术不断呈现增长势头。 1984年Xilinx刚刚创造出FPGA时,它还是简单的胶合逻辑芯片,而如今在信号处理和控制应用中,它已经取代了自定制专用集成电路(ASIC)和处理器。 这项技术的成功之处到底
    的头像 发表于 01-25 11:54 5260次阅读

    FPGA到底是什么?为什么要使用它

    最近几年,FPGA这个概念越来越多地出现。例如,比特币挖矿,就有使用基于FPGA的矿机。还有,之前微软表示,将在数据中心里,使用FPGA“代替”CPU,等等。
    的头像 发表于 02-16 10:50 6427次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>到底是</b>什么?为什么要使用它

    使用FPGA设计的IO到底是什么

    今天想和大家一起聊聊 FPGA 的 IO。先说说我当年入门的经历吧。国内的大学有 FPGA 开发条件的实验室并不太多,当年大学的那帮同学有的做 ARM,有的做 linux,很少有人做 FPGA,当时学
    发表于 12-22 13:08 10次下载
    使用<b class='flag-5'>FPGA</b>设计的IO<b class='flag-5'>到底是</b>什么

    FPGA到底是什么?FPGA的详细介绍

    FPGA 是一堆晶体管,你可以把它们连接(wire up)起来做出任何你想要的电路。它就像一个纳米级面包板。使用 FPGA 就像芯片流片,但是你只需要买这一张芯片就可以搭建不一样的设计,作为交换
    发表于 12-23 13:10 17次下载

    基于FPGA的SoftSerdes设计与实现讲解

    基于FPGA的SoftSerdes设计与实现讲解说明。
    发表于 04-28 11:18 6次下载

    基于FPGA的ROM的实现的讲解

    基于FPGA的ROM的实现的讲解(如何制作嵌入式开发板)-该文档为基于FPGA的ROM的实现的讲解文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
    发表于 07-30 15:27 3次下载
    基于<b class='flag-5'>FPGA</b>的ROM的实现的<b class='flag-5'>讲解</b>

    基于FPGA的ROM的实现讲解

    基于FPGA的ROM的实现讲解(嵌入式开发入门书籍下载)-该文档为基于FPGA的ROM的实现讲解文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
    发表于 07-30 15:36 2次下载
    基于<b class='flag-5'>FPGA</b>的ROM的实现<b class='flag-5'>讲解</b>

    FPGA到底是什么?,FPGA工程师核心竞争力是什么?

    工作的难题和设备管理方面的主要挑战,否则这种组合将是个未知数。 理解为什么AMD对FPGA供应商Xilinx如此感兴趣,或者说Intel多年前为何对Altera感兴趣,有助于了解FPGA到底是什么,以及这些设备在目前芯片行业中发
    的头像 发表于 01-07 02:45 1105次阅读

    FPGA是什么?

    其实,对于专业人士来说,FPGA并不陌生,它一直都被广泛使用。但是,大部分人还不是太了解它,对它有很多疑问——FPGA到底是什么?为什么要使用它?相比 CPU、GPU、ASIC(专用芯片),F
    的头像 发表于 03-29 15:56 4018次阅读
    <b class='flag-5'>FPGA</b>是什么?