布嘉迪

首页 » 常识 » 问答 » 搭积木给孩子看的FPGA
TUhjnbcbe - 2022/2/22 14:18:00

什么是FPGA?

FPGA的全称是Field-ProgrammableGateArray,现场可编程门阵列,一种可以当积木来拼搭的芯片。

FPGA是干什么的?

FPGA是芯片中的“积木”,可以通过拼搭组件(编程),获得不同的形状(功能)。“搭积木”的过程不用自己手动进行,而是通过积木厂商所提供的工具(EDA软件)来完成,你只需要把想要搭出的形状(电路功能)向工具描述清楚就可以,描述的过程可以用抽象一点的高层次语言(比如C++、OpenCL),也可以用具体一点的低层次语言(比如Verilog、VHDL),当然了,用自然语言(中文、英文)和积木进行交流也是科学家们在研究的事情。

为什么那么多孩子,甚至成年人都喜欢拼搭积木,因为拼积木不仅可以开发智力,还可以让人从中获得乐趣和成就感。开发FPGA也是一样的道理,并且更有意义的是,FPGA拼出的成果真的可以作为实际芯片去使用,而不像积木一样拼出的只是一副玩具。

看过变形金刚电影的人都知道,里面有一种元素“钅变”,FPGA很像这样一种元素,有了它,就可以制造出各种类型的变形金刚(芯片)。

积木品牌两巨头(一红一蓝):

FPGA品牌两巨头(一红一蓝):

FPGA怎么用?

积木往往需要我们自己动手搭,而FPGA作为“数字电路积木”,一样需要我们进行“拼搭”,只不过不用我们用手一块一块去搭而已。EDA工具简化了这个拼接过程,很多厂家的工具都有可视化功能,实现“所见即所得”的搭积木模式。但很可惜的是,目前FPGA的“拼搭”难度还是很高,即使通过EDA工具,也需要用户掌握相当的专业知识,甚至要经过多年的专业培训,才能够进行。

积木拼搭工具还是有些复杂

各个厂商为了进一步简化拼搭难度,还提供了很多已经搭好的通用模块(IP),这样你在很多时候就不用自己从头一点一点来搭了。

积木拼出来的玩具不好看?

用积木可以搭出目前世界上最酷炫的布加迪跑车。(其实,现代汽车制造也是模块化组装的,类似将一个一个的IP拼在一起)

LegoBuggatiChiron

RealBuggatiChiron

就像FPGA实现的数字电路在功能上可以做到和专用集成电路ASIC一模一样,虽然性能比不上后者,但性价比高,成型快,哪天不高兴了还能拆了重新搭。

有些造型用积木搭不好?

用积木来搭出一辆车,会面临很多困难,比如复杂的发动机就很难用积木实现,怎么办呢?那干脆装个真的发动机上去(比如嵌入CPU),再比如轮毂想更精致耐用些,那干脆装个真车的轮毂上去吧(比如一些模拟电路组件)。这就是异构思想——在积木搭的车里放一些真车零件进去。

如何学习搭积木?

首先你需要有一个积木垫(开发板)作为平台(如何挑选开发板见之前的推文年FPGA开发板详尽选型指南),然后还需要有说明书(你的设计Spec,可参看你一般如何做可编程逻辑设计的架构?),最后,和学习任何事物地方法一样,不断练习,加入各种学习社区,持之以恒。

有朋友吐槽

1
查看完整版本: 搭积木给孩子看的FPGA