打印

已结束【有奖话题】FPGA是什么?里面有什么?能做什么?

[复制链接]
楼主: 21ic小管家
手机看帖
扫描二维码
随时随地手机跟帖
21
FPGA 是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array,中文名是现场可编程门阵列。

使用特权

评论回复
22
blust5| | 2020-11-30 15:04 | 只看该作者
之前有一段时间接触过FPGA,确实和搭积木很像,当时用的是Verilog语言,Quartus工具。
其实就相当于用门电路搭出需要的功能。

使用特权

评论回复
23
qjp1988113| | 2020-11-30 15:09 | 只看该作者
FPGA不是那么好学的,至少你对时序的把握这一块一定要强,还要会一定的逻辑算法。普通MCU的各个外设几乎都有对应模块,只要配置配置寄存器就玩起来,但是FPGA你必须了解通讯协议的每个步骤。会者不难难者不会。
看别人的例子,也能看懂,但轮到自己做,就有点傻眼了,不知从何处下笔。
目前市面上大都推荐用Verilog HDL语言学习FPGA,它和C还是比较类似的,好入门,语法也不多,但是玩起来还是要下点功夫的。当然FPGA的优点是速度快,并行执行,使用灵活,在高速流的应用上占绝对的地位,几乎可以模拟所以的外设及IP。我目前接触的Intel的,当然就用Quartus来进行编程仿真了,软件还是挺好用的。学好的秘诀就是多练,千万不能眼高手低。

使用特权

评论回复
24
CludyWhite| | 2020-11-30 15:16 | 只看该作者
哎,想学学不会

使用特权

评论回复
25
yichunshan| | 2020-11-30 15:35 | 只看该作者
玩FPGA前提是对数字电路、逻辑、、触发器等十分熟悉。
按我理解,还要对美学有点概念,有点玄学意味,不过真的,同样实现功能,不同逻辑组合、不同语句,最后综合出的结果完全不同,导致布局布线天壤之别。

使用特权

评论回复
26
土司Apple| | 2020-11-30 15:40 | 只看该作者
本帖最后由 土司Apple 于 2020-11-30 15:44 编辑

FPGA 能做到软件可裁剪硬件可裁剪,可以说FPGA是任何东西,你可以把它写成51 写成ARM 写成别的其他的什么结构的IP。 因为软件能干的事儿其实硬件都能干只是成本问题。芯片设计也是可以先在FPGA上实现来验证稳定性的,所以X和A两家FPGA厂商被Intel和AMD收购并不稀奇,因为如果被别的厂商收购把这一部分的制造利润释放出来那就会杀死他们。技术上讲GPGA灵活 高速 有些难度(写程序并不是顺序的执行,是并行的等等)甚至现在都要集成一个ARM的内核在FPGA上,这就为开发带来了无尽的想象空间,因为数字电路的调试本来很费劲,一旦能够通过编程可以改变那么成本和效率自然很高。再有很多对于速度要求高的场合FPGA非常适合。从业务上来讲这业务不好做因为既要做芯片又要做EDA工具。

使用特权

评论回复
27
木野臻| | 2020-11-30 15:56 | 只看该作者
只是大学有这本公选课FPGA,考试时开卷考试,但是到目前为止只是或有这么个软件存在,但是要说使用它做个成品的项目还是有很大的难度。

使用特权

评论回复
28
137017878| | 2020-11-30 16:01 | 只看该作者
做FPGA开发的还是比MCU的少很多吧

使用特权

评论回复
29
hk386| | 2020-11-30 16:14 | 只看该作者
关于FPGA,读书的时候学过一点,一开始接触的时候感觉好像天书,很难懂,工作以后接触的FPGA不多,因为现在的市场要嘛是低阶的8位MCU,要嘛是功能强大的STM32,关于FPGA就基本上很少听到,FPGA很难学,Verilog HDL/VHDL硬件描述语言编程基本上就劝退了很多人,其实FPGA能出现而且存在基本上它的功能也是很厉害的,只是没有很多的机会基础学习,可能是资源也少吧,希望其能出个爆点能吸引大家的目光,这样才能让大家去学习和接触才行。

使用特权

评论回复
30
gz297743| | 2020-11-30 16:20 | 只看该作者
路漫漫兮其修远,还在慢慢摸索

使用特权

评论回复
31
shendu0032| | 2020-11-30 16:21 | 只看该作者
我自己没接触过FPGA 只有跟学长听说过。之前实验室有一位做硬件的大佬,到了研究生阶段就做关于FPGA的项目。听他说FPGA对底层的硬件知识很重要,其实跟玩乐高没啥区别。FPGA是纯硬件,由很多的逻辑单元,我们要实现什么功能都是通过逻辑门来实现的,所以对数电要求也很高。我们使用VHDL或者其他EDA语言编写程序控制的也是一些逻辑门。处理速度会更快一些。跟单片机是两种完全不同的控制方法。之前上EDA课程还专门下来Quartus II 8.1 软件(版本太老了 为了跟学校实验平台兼容)

使用特权

评论回复
32
zhujun615| | 2020-11-30 16:46 | 只看该作者
这玩意,需要静下心来学习,不能一蹴而就!

使用特权

评论回复
33
lzdestiny| | 2020-11-30 17:00 | 只看该作者
FPGA概念小科普。
FPGA是什么:它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。

FPGA组成:采用了逻辑单元阵列LCA这样一个概念,内部包括可配置逻辑模块CLB、输入输出模块IOB和内部连线三个部分。 他就是利用内部的小型查找表来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。这样也就具有了像单片机一样的IO模块了,FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,他时上电后立马就可以执行程序了,并且可以无限次的编程。

优点:比较灵活、允许无限次的编程、加载程序快;
缺点:所有功能均依靠硬件实现,无法实现分支条件跳转等操作;还有就是成本高,开发起来比较困难,功耗问题。

编程方式:VHDL、Verilog HDL等语言,就是一种硬件描述语言,类似于C语言,上手容易,灵活。语法严谨。
通常使用的是Quartus_Ⅱ软件作为开发环境。

应用:
FPGA在数据采集领域的应用:由于自然界的信号大部分是模拟信号,因此一般的信号处理系统中都要包括数据的采集功能。通常的实现方法是利用A/D转换器将模拟信号转换为数字信号后,送给处理器,比如利用单片机(MCU)或者数字信号处理器(DSP)进行运算和处理对于低速的A/D和D/A转换器,可以采用标准的SPI接口来与MCU或者DSP通信。但是,高速的A/D和D/A转换芯片,比如视频Decoder或者Encoder,不能与通用的MCU或者DSP直接接口。在这种场合下,FPGA可以完成数据采集的粘合逻辑功能。
通信行业:在终端设备数量比较多的位置,FPGA的用量比较大,基*最适合使用FPGA,因为可以处理复杂的物理协议,实现逻辑控制。或是在一些同步通信系统中比较常用,因为FPGA延时低的特点。
科研领域:一些高校的科研工作者有时候研究需要创新性,就常常把FPGA和其方向相联系,像是和图像处理相联系。
人工智能:一些AI芯片常常用的是FPGA了。


使用特权

评论回复
34
jameswangchip| | 2020-11-30 17:02 | 只看该作者
FPGA 厂家老大XILINX被AMD收购了,ALTERA被INTEL收购了。FPGA和CPU 如何互补呢?

使用特权

评论回复
35
grhr| | 2020-11-30 17:02 | 只看该作者
读研用了三年的FPGA
那时候还是遥远的7年前了。。。。。
那时候的FPGA还很贵,altera还没有被收购。。。。

回归正题,FPGA就是一个你随便玩的芯片,这里可以说是一张纯白纯白的纸,任你用硬件描述语言(HDL)随意发挥;
他内部是真的硬件电路,所以速度很快发型很帅。

其他的,也就没什么了。

使用特权

评论回复
36
zhangbtj| | 2020-11-30 17:19 | 只看该作者
只能说学过FPGA,对于一些需要ASIC的地方,可以使用FPGA替代以降低开发成本,并实现快速开发。

使用特权

评论回复
37
shaler| | 2020-11-30 17:27 | 只看该作者
fpga核心做用:它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:

1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期短、开发费用低、风险小的器件之一。

5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的佳选择之一。

目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
(引用)   非常有用。

使用特权

评论回复
38
WoodData| | 2020-11-30 17:37 | 只看该作者
FPGA说成搭积木很形象,可是想要搭好还是很难的。里面都是逻辑时序单元类似一个个小积木。FPGA比单片机性能强,真正的并行运算,还能实现一个单片机内核和外设功能。单片机能做的FPGA都能做,单片机不能做的FPGA也能做。想要学好FPGA要学好的知识比单片机的内容多。

使用特权

评论回复
39
imdx| | 2020-11-30 18:17 | 只看该作者
FPGA就是介于MCU和专用ASIC之间的一种东西。
成本高于MCU和ASIC,功耗也更高,开发也更困难,大多数时候,相同的功能使用HDL来写比C来写困难多了。
这些缺点带来的好处是灵活性,有些功能用软件是无法实现的,比如你需要一个33位的UART,没有一款现成的MCU或者ASIC可以用,那么这时候可以买一片FPGA自己来写HDL实现。
当然,如果你是大款钱多得花不完,或者这个产品市场需求巨大,你也可以去定制一款ASIC。ASIC巨大的量可以把成本摊薄到比FPGA便宜。
总之,FPGA的地位比较尴尬,被MCU和ASIC两头挤压,刚刚开发用FPGA实现,如果量上来了,马上就会有ASIC来替换,导致FPGA越来越边缘化,目前两大FPGA巨头X和A都被收购了。

使用特权

评论回复
40
gyh974| | 2020-11-30 18:30 | 只看该作者
是不是跟搭电路一样,可是要编程

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则