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工作原理是基础,厂商选型是实战,开发板是工具。三者缺一不可。
3.6 小结
这一章我们聊了FPGA的工作原理,对比了Xilinx和Altera两大厂商,也给出了选型和开发板的建议。
嗯,内容不少。但别急,慢慢消化。下一章我们会开始搭建开发环境,到时候你会用到今天学到的知识。
记住一句话:选型不是越贵越好,合适才是王道。
公众号:蓝海资料掘金营,微信deep3321