第一章:FPGA基础与交易系统概述

1.1 什么是FPGA?

FPGA,全称是现场可编程门阵列。说白了,就是一块你可以反复修改逻辑的芯片。

我刚开始接触FPGA时,觉得这东西挺神奇的。普通CPU,指令是固定的,你只能写软件。但FPGA不一样,你可以把硬件逻辑直接烧进去。想加个加法器?写几行Verilog就行。想改?重新烧一次。

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

  • 可编程逻辑块(Logic Block):用来实现各种组合逻辑和时序逻辑
  • 可编程互连资源(Interconnect):把各个逻辑块连起来
  • 可编程I/O(Input/Output):跟外部世界打交道

你想想看,这三部分组合起来,几乎能实现任何数字电路。我在项目中遇到过一位同事,非要用CPU软核去处理高速数据流,结果延迟死活降不下来。后来换成纯硬件逻辑,问题一下子就解决了。

核心要点:FPGA的本质是「硬件可编程」。它不是软件,是硬件。这个认知很重要。

1.2 FPGA架构深度解析

咱们深入一点。FPGA的架构,其实没那么神秘。

每个逻辑块里,核心是一个查找表(LUT)。LUT本质上就是一块小RAM,输入地址,输出结果。比如4输入LUT,可以实现任意4输入的逻辑函数。我习惯把LUT想象成「硬编码的真值表」。

除了LUT,还有触发器(Flip-Flop)。触发器用来存储状态,做时序逻辑必备。嗯,这里要注意:FPGA里的触发器数量远少于LUT,写代码时别乱用。

现代FPGA还集成了很多硬核模块:

模块 用途 我的经验
DSP Slice 乘法、累加、滤波 做交易系统时,DSP用来算价格加权平均,延迟极低
Block RAM 片上存储 存订单簿数据,比外部DDR快一个数量级
SerDes 高速串行收发 接网卡、接交易所,跑10Gbps以上
PLL/MMCM 时钟管理 多时钟域设计必备,我曾经因为时钟没处理好,整个系统跑飞了

我曾经犯过一个低级错误:以为Block RAM随便用,结果资源爆了。后来才学会,写代码前先估算一下存储需求。

1.3 低延迟交易概念

低延迟交易,说白了就是「比别人快」。在金融交易里,快一微秒可能就多赚几百万。

延迟从哪里来?我总结了一下:

  1. 网络延迟:数据从交易所到你的机器,光纤传输有物理极限
  2. 处理延迟:数据到了你的机器,CPU处理需要时间
  3. 决策延迟:算完数据,决定买卖,又要时间
  4. 执行延迟:订单发回交易所,又是网络延迟

CPU处理延迟,通常是微秒级的。FPGA呢?纳秒级。你想想看,差了两个数量级。

我参与过一个项目,客户要求端到端延迟小于1微秒。用CPU根本不可能,最后我们用FPGA实现了500纳秒。嗯,那感觉挺爽的。

避坑指南:低延迟不是只快就行。还要稳定。我曾经见过一个系统,平均延迟200纳秒,但偶尔抖动到10微秒。这种系统在交易里就是灾难。

1.4 为什么用FPGA?

这个问题,我经常被问到。答案其实很简单:

  • 确定性延迟:FPGA是硬件,执行路径固定,延迟可预测。CPU有中断、缓存未命中,延迟飘忽不定。
  • 并行处理:FPGA可以同时处理多个数据流。CPU是串行的,一个核一次只能干一件事。
  • 低延迟:从网卡到FPGA再到网卡,中间没有操作系统,没有协议栈,纯硬件直通。
  • 定制化:想要什么功能,直接写硬件。CPU只能跑现成的指令。

我记得有一次,一个做高频交易的朋友问我:「为什么不用GPU?」我说:「GPU延迟太高了。GPU适合吞吐量大的场景,比如深度学习。但交易系统要的是单笔延迟低,GPU不合适。」

当然,FPGA也有缺点。开发周期长,调试困难,价格贵。但为了那几微秒的领先,这些都不算什么。

警告:别以为FPGA是万能的。如果你的策略不需要极低延迟,用CPU更划算。我见过有人为了用FPGA而用FPGA,结果开发成本比收益还高。

1.5 本章知识体系

下面这张图,是我自己画的。它展示了本章的核心逻辑:

FPGA低延迟交易系统知识体系 FPGA基础 架构、LUT、触发器、DSP 低延迟交易 延迟来源、微秒级竞争 为什么用FPGA 确定性、并行、低延迟 逻辑块 互连资源 I/O模块 硬核模块 网络延迟 处理延迟 决策延迟 执行延迟 确定性 并行处理 纳秒级 定制化 核心结论:FPGA = 硬件可编程 + 确定性低延迟

这张图把本章的三个核心模块串起来了。FPGA基础是工具,低延迟交易是需求,为什么用FPGA是答案。三者缺一不可。

1.6 小结

这一章,我们聊了FPGA的基本架构,低延迟交易的核心概念,以及为什么FPGA是交易系统的首选。我个人觉得,理解这些基础,比会写几行Verilog更重要。方向对了,努力才有意义。

嗯,下一章我们会开始动手。但今天先到这里。记住:FPGA不是魔法,它只是一块可以让你随心所欲定制硬件的芯片。用好了,它就是你的利器。

一句话总结:FPGA低延迟交易系统,就是用硬件思维解决软件解决不了的速度问题。


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