3. FPGA基础与选型:工作原理、主流厂商与开发板推荐

好,咱们进入第三章。这一章我打算聊聊FPGA的基础知识,以及怎么选型。

很多刚入行的朋友问我:“FPGA到底是个什么东西?跟CPU有什么区别?”

嗯,这个问题问得好。我当年刚接触FPGA时,也是一头雾水。后来做了几个项目,才慢慢摸到门道。

3.1 FPGA工作原理:说白了就是“可编程的积木”

FPGA的全称是Field Programmable Gate Array,现场可编程门阵列。

名字挺长,但核心就两个字:可编程

CPU是固定的硬件架构,你只能通过软件去控制它。FPGA不一样,它的硬件逻辑是可以重新配置的。你想想看,这就像你手里有一堆乐高积木,今天可以搭个房子,明天可以拆了搭个汽车。

FPGA内部主要由三部分组成:

  • 可配置逻辑块(CLB):这是FPGA的基本单元,用来实现各种逻辑功能。说白了就是一堆查找表(LUT)和触发器(FF)。
  • 可编程互连资源:用来连接各个逻辑块。就像积木之间的卡扣。
  • 可编程I/O模块:负责与外部芯片通信。

我在项目中遇到过一个问题:用CPU做图像处理,帧率死活上不去。后来换成FPGA,直接把算法用硬件实现,速度提升了十几倍。为什么?因为FPGA是并行执行的,不像CPU一条指令一条指令地跑。

核心要点:FPGA的并行计算能力,是它最大的优势。你设计了多少个逻辑块,它们就能同时干活。

3.2 主流FPGA厂商:Xilinx vs Altera

目前市场上两大巨头:Xilinx(现在叫AMD Xilinx)和Altera(现在叫Intel Altera)。

我个人习惯用Xilinx,因为它的Vivado开发环境我用得顺手。但Altera的Quartus也不差,看个人喜好。

对比项 Xilinx (AMD) Altera (Intel)
开发工具 Vivado / ISE Quartus Prime
主流系列 Artix-7, Kintex-7, Virtex-7, Zynq Cyclone V, Arria 10, Stratix 10
特点 生态成熟,文档丰富,IP核多 功耗控制好,性价比高
适合场景 通信、AI加速、科研 工业控制、消费电子

选哪个?我建议你从Xilinx入门。原因很简单:网上资料多,遇到问题容易找到答案。

个人经验:我最早用的是Altera的Cyclone II,后来转Xilinx的Spartan-6。说实话,工具链熟悉了都差不多。但Xilinx的Vivado在综合和布局布线方面,确实更智能一些。

3.3 芯片选型:别盲目追求高端

选型是个技术活。我见过不少新手,一上来就选Virtex-7或者Stratix 10,结果发现根本用不上那么多资源,还贵得要命。

选型要考虑几个因素:

  • 逻辑资源(LUT/FF):你的设计需要多少逻辑门?
  • DSP资源:做数字信号处理,比如滤波、FFT,需要多少DSP Slice?
  • BRAM资源:需要多少块片内存储?
  • I/O数量:要接多少外部设备?
  • 速度等级:你的设计要跑多快?
  • 功耗:散热条件如何?

举个例子:如果你只是做个简单的LED控制器,用Artix-7或者Cyclone IV就绰绰有余。但如果你要做4K视频处理,那至少得Kintex-7起步。

避坑指南:我曾经在一个项目中,选了一款I/O数量刚好够用的芯片。结果后期要加功能,I/O不够了,只能换芯片,重新画板子。嗯,那叫一个惨。所以选型时,I/O和逻辑资源最好留20%-30%的余量。

3.4 开发板推荐:从入门到进阶

开发板是学习FPGA的最佳途径。我整理了几款常用的:

开发板 芯片 适合人群 参考价格
Nexys A7 Artix-7 入门/学生 约1500元
Basys 3 Artix-7 入门/初学者 约800元
Zynq-7020 Zynq-7000 进阶/嵌入式 约2000元
DE10-Nano Cyclone V 入门/工业 约1000元
VCU118 Virtex UltraScale+ 高级/科研 约3万元

我个人推荐:Nexys A7。性价比高,资源够用,而且Xilinx的生态支持好。你想想看,几百块钱就能跑一个完整的RISC-V软核,多划算。

如果你预算有限,Basys 3也不错。虽然资源少点,但学基础完全够用。

我的建议:别一上来就买高端板。先用便宜的板子把基础打牢,等真正做项目了,再根据需求选合适的芯片。

3.5 知识体系总览

下面这张图,是我画的FPGA与RISC-V联合开发的知识体系。你可以对照着看,心里有个谱。

FPGA与RISC-V联合开发 FPGA工作原理 可配置逻辑块 (CLB) 可编程互连资源 可编程I/O模块 主流厂商与芯片选型 Xilinx (AMD) Altera (Intel) 选型考量因素 开发板推荐 FPGA基础 厂商与选型 开发板

这张图把本章的知识点串起来了。你看,FPGA工作原理是基础,厂商选型是实战,开发板是工具。三者缺一不可。

3.6 小结

这一章我们聊了FPGA的工作原理,对比了Xilinx和Altera两大厂商,也给出了选型和开发板的建议。

嗯,内容不少。但别急,慢慢消化。下一章我们会开始搭建开发环境,到时候你会用到今天学到的知识。

记住一句话:选型不是越贵越好,合适才是王道


公众号:蓝海资料掘金营,微信deep3321