FPGA学习笔记(1)——初识FPGA
前言
本专栏记录博主跟随野火教程学习FPGA的过程,内容为教学内容的笔记与自己的学习总结。教程连接如下:野火FPGA教程
一、FPGA原理与结构
这一部分内容主要参考书籍《数字电子电路基础第六版》——阎石中附录一对FPGA的介绍
FPGA:Field Programmable Gate Array,现场可编程逻辑门阵列。
FPGA由许多的“可组态逻辑模块”(CLB:Configurable Logic Block)、输入/输出单元(IOB:I/O Block)和分布式的可编程互联矩阵(PIM:Programmable Interconnection Matrix)组成。
FPGA中的可编程的连接元件是一个MOS管,它的开关状态由静态随机存储器SRAM中的一位存储单元的数据控制。
FPGA结构的示意型框图:
每个CLB可以通过PIM连接其他CLB,CLB由查表逻辑和辅助逻辑组成。
1.查表逻辑电路
查表逻辑电路实际上是译码器和线或连接形成的。以三变量为例:
译码器输出全部最小项,SRAM控制的存储单元若为1则打开对应通道进行线或,否则关闭通道,最终得到积之和,即SOP:Sum of Products。
2.辅助逻辑电路
辅助逻辑电路一般与下图结构类似,一般由数个数据选择器和一个或两个触发器构成。
FPGA的I/O口可以被编程为双向传输缓冲器。
**FPGA 可编程是指三个方面的可编程:可编程逻辑块、可编程 I/O、可编程布线资源。**结构图如下:
另外存储变成数据的SRAM因为是易失性的,因此常常配置一个E2PROM或者闪存存储编程数据,启动或者复位后重新写入SRAM。
二、FPGA优势以及应用场景
FPGA相较于单片机,应用场景少,而且又贵,有什么独特的地方呢?总结起来是以下几点:灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,这些工作只能 FPGA 胜任。
1.优势
- 灵活性:通过对 FPGA 编程,FPGA 能够执行 ASIC 能够执行的任何逻辑功能。
- 上市时间:由于 FPGA 买来编程后既可直接使用,FPGA 方案无需等待三个月至一年
的芯片流片周期,为企业争取了产品上市时间。 - 成本:FPGA 与 ASIC 主要区别在 ASIC 方案有固定成本而 FPGA 方案几乎没有,超过某一使用量后,ASIC 方案由于大量流片产生了规模经济,在成本上更有优势。
2.应用场景
视频图像处理:用 FPGA 做 图像处理最关键的一点优势就是:FPGA 能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本只能用 FPGA。
高速接口,数字信号处理,编码/解码,IC原型验证······
FPGA和数字芯片IC的区别
- FPGA项目时间较短。
- 时钟网络:FPGA的网络较简单,芯片复杂。
- FPGA EDA提供了复杂功能的IP核。
- FPGA:formality不用检查,布局布线EDA完成,语法约束更简单。
- FPGA不需要专门的验证。
- FPGA项目用处:显卡的核心,示波器,和IC验证一同对芯片验证。