不知道为什么,在嵌入式开发中,存在一条隐式的鄙视链:做 51 单片机的看不起做基本电路的,而做 STM32 开发的看不起 51 单片机的,而做 FPGA 的开发的看不起 STM32 开发的。今天,我们的主角就是 FPGA!
什么是 FPGA?
FPGA(现场可编程门阵列)是一种可配置的集成电路,在制造后可以反复编程。
许多用户更青睐 FPGA 而不是 MCU,因为 FPGA 的可编程性和灵活性允许用户根据自己的需求定制电路。此外,FPGA 拥有更高的性能,因为其并行结构使其能够在一个时钟周期内处理比 MCU 更多的数据。因此,FPGA 芯片通常比 MCU 更昂贵。
工作原理
-
布尔代数
在逻辑中,我们通常使用 真 (1) 或 假 (0) 来判断某个事件是否发生。例如,我们可以用变量 A 表示明天是否下雨。如果下雨,A 等于 1,表示事件发生;否则,A 等于 0。
这种逻辑与电路中使用的 高电平 (1) 和 低电平 (0) 类似,用来检测特定事件是否发生,并使电路做出相应反应。
为了执行这些逻辑操作,电路依赖于 逻辑门。逻辑门的等效布尔代数操作如下:
- 或门 (Or Gate):执行布尔加法</