第三章:FPGA开发板选型核心参数

选开发板这事儿,我见过太多人一上来就盯着价格看。结果呢?项目做到一半发现资源不够,或者接口不对,只能换板子重来。今天我就把选型时最关键的几个参数掰开揉碎了讲清楚。

3.1 逻辑单元、查找表与触发器

这三个东西,说白了就是FPGA的"肌肉"。逻辑单元(LE或LC)是基本单位,一个LE通常包含一个查找表(LUT)加一个触发器(FF)。

LUT负责实现组合逻辑,比如与或非运算。FF负责存储状态,比如计数器、状态机。我习惯这么看:LUT管"算",FF管"记"。

避坑指南:我曾经选过一块号称10万LE的板子,结果发现其中一半是"等效逻辑单元"。实际可用的LUT+FF只有5万对。做复杂状态机时直接爆了。所以一定要看具体LUT和FF数量,别被"等效"忽悠了。

参数典型范围我的建议
LUT数量5K - 2M简单控制用5K-20K,图像处理至少50K
FF数量10K - 4M一般跟LUT比例1:1到2:1
逻辑单元10K - 3M别只看这个,拆开看LUT和FF

3.2 块RAM与URAM

BRAM是FPGA的"内存条"。做缓存、FIFO、查找表都靠它。URAM是Xilinx高端芯片才有的,容量更大但数量少。

我个人习惯:先算一下项目需要多少缓存。比如做1080p视频处理,一行数据1920像素,每个像素24bit,那至少需要1920×24=46Kbit的BRAM。再加上几帧的缓存,嗯,10Mbit起步。

小技巧:BRAM可以配置成不同位宽和深度。比如一个18Kb的BRAM,可以配成512×36bit,也可以配成1024×18bit。灵活用能省不少资源。

3.3 DSP Slice

做数字信号处理,DSP Slice就是你的"计算加速器"。一个DSP Slice可以完成一次乘加运算(MAC)。

举个例子:做FIR滤波器,抽头数是N,那至少需要N个DSP Slice。我做过一个256阶的滤波器,直接吃掉256个DSP。选板子时一定要算清楚。

注意:有些低端板子DSP Slice只有几十个,做FFT或者卷积神经网络基本没戏。别想着用LUT拼乘法器,那效率低得吓人。

3.4 高速收发器

GTP、GTX、GTH、GTY,这些名字看着晕?其实就一个区别:速率。

  • GTP:最高6.6Gbps,够用但别指望跑太高
  • GTX:最高12.5Gbps,主流选择
  • GTH:最高16.3Gbps,适合高速通信
  • GTY:最高32.75Gbps,旗舰级

我建议:做千兆以太网,GTP就够了。做PCIe Gen3,至少GTX。做100G光通信,得上GTH或GTY。

3.5 IO Bank与电平标准

FPGA的IO是分Bank的,每个Bank可以独立设置电平标准。比如Bank 35设成3.3V,Bank 36设成1.8V。

这里有个坑:不同Bank之间不能直接连,除非用电平转换芯片。我曾经把两个不同Bank的IO直接连在一起,结果烧了一个Bank。嗯,从那以后我再也不敢乱接了。

关键点:选板子时看IO Bank数量。做多接口项目,比如同时接DDR、HDMI、以太网,至少需要3-4个独立Bank。

3.6 封装与引脚数

封装决定了你能用多少IO。BGA封装引脚多,但焊接难。QFP封装好焊,但引脚少。

我个人习惯:原型验证用BGA,方便接扩展板。小批量生产用QFP,好焊接、成本低。

3.7 板载外设

板载外设决定了你拿到板子能直接做什么。

外设用途我的建议
DDR大容量缓存至少512MB,做图像处理要2GB以上
Flash存储配置QSPI Flash够用,想快就上SD卡
以太网网络通信千兆起步,百兆太慢
USB调试/数据传输USB 3.0最好,2.0也行
HDMI视频输出做视频处理必备
PCIe高速互联做加速卡必须

经验之谈:别贪多。板载外设越多,板子越贵,而且很多你可能根本用不上。先列清楚项目需求,再对着需求选外设。

知识体系总览

下面这张图,把选型核心参数串起来了。你想想看,从逻辑资源到高速接口,每一步都影响最终性能。

FPGA开发板选型核心参数 FPGA 选型 逻辑资源 LUT / FF / LE 存储资源 BRAM / URAM 计算单元 DSP Slice 高速接口 GTP/GTX/GTH/GTY IO系统 Bank / 电平 / 引脚 板载外设 DDR/Flash/以太网 封装 BGA / QFP / 引脚数 选型 = 项目需求 + 资源匹配 + 预算平衡 别只看参数,要结合具体应用场景

选型这事儿,说白了就是平衡。资源多了浪费钱,少了干不了活。我建议你先列清楚项目需求,再对着这张图一个个参数去对。嗯,这样选出来的板子,基本不会翻车。