初识FPGA

1.1 FPGA是什么

1.1.1 名词解释

FPGA是一种以数字电路为主的集成芯片,于1985年由Xilinx创始人之一发明,属于可编程逻辑器件(PLD)的一种。这个时间比摩尔定律出现晚了20年左右,但是FPGA一经发明,后续的发展速度之快,超出了大多数人的想象。

1.1.2 FPGA 发展历程

在PLD未发明之前,工程师使用若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂逻辑的功能实现比较困难。

为了解决这个问题,20世纪70年代,可编程逻辑阵列(Programmable logic array, PLA)问世,PLA中包含了一些固定数量的与门、非门,分别组成了 与平面 和 或平面 ,即 与链接矩阵 和 或链接矩阵 。以及仅可编程一次的连接矩阵,因此可以实现一些相对复杂的与、或多项表达式。

与PLA一起问世的还有可编程只读存储器(Programmable Read-Only memory ,PROM),与PLA相同,PROM内部包含 与链接矩阵 和 或链接矩阵 ,但是与门链接矩阵是硬件固定的,只有或门链接矩阵是可以编程的。

若只有 与门 的连接矩阵可编程,而或门 的连接矩阵是硬件固定的,这种芯片叫做可编程阵列逻辑器件(Programmable array logic,PAL),根据输出电路工作模式的不同,PLA可分为三态输出、寄存器输出、互补输出,但是PAL任然使用熔丝工艺,只可编译一次。

在PAL的基础上,有发展出了通用阵列逻辑器件(Generic array logic,GAL),相比与PLA,GAL有两点改进:一是采用了电可擦除的CMOS工艺,可以多次编程。二是采用了可编程的输出逻辑宏单元。通过编程OLMC可将GAL的输出设置成不同的状态,仅用一个型号的GAL就可以实现所有的PAL器件输出电路的工作模式,增强了器件的通用性。

|--------|-------------------------|-------------------|
| 器件种类特性 | FPGA | CPLD |
| 内部结构 | 查找表(look up table) | 乘积项(product term) |
| 程序存储 | 内部为SRAM,外部为Flash或EEPROM | 内部为Flash或EEPROM |
| 资源类型 | 触发器资源丰富 | 组合逻辑资源丰富 |
| 集成度 | 高 | 低 |
| 使用场合 | 完成比较复杂的算法 | 完成控制逻辑 |
| 速度 | 快 | 慢 |
| 其他资源 | RAM,PLL,DSP等 | / |
| 保密性 | 一般不能保密(可以使用加密 IP) | 可加密 |

FPGA的类型是从内部的实现机理来讲的,可以分为SRAM技术、基于反熔丝技术、基于EEPROM/Flash技术。就电路结构结构来讲,FPGA可编程是指三个方面的可编程:可编程逻辑块、可编程IO、可编程布线资源。可编程逻辑块是FPGA可编程的核心,上面提到的三个技术也是针对可编程逻辑块的技术。

相关推荐
ALINX技术博客24 分钟前
【黑金云课堂】FPGA技术教程Linux开发:系统进阶-PS DMA
linux·fpga开发
喵喵苗4 小时前
FPGA Verilog 入门避坑:寄存器与锁存器的本质区别 & 为什么时序逻辑缺 else 不会生成锁存器
fpga开发
Thinker3615 小时前
笔记本外接创新5.1声卡实战:M.2转PCIe软排线方案 vs 雷电扩展卡方案对比
fpga开发·声卡·笔记本外接pcie·显卡坞
传感器与混合集成电路9 小时前
136通道采集模块SPI接口设计:协议结构、时序要求与多模块级联扩展方案
fpga开发
ALINX技术博客1 天前
AMD MoP 封装策略解读 | HBM 大热,为何 AMD Versal 系列反选 LPDDR5X?
fpga开发·fpga·amd·versal
zlinear数据采集卡1 天前
从万用表的6步调零到硅片级微秒自校准:硬核拆解LHAMP188的宽压轨到轨与零漂移实战
arm开发·stm32·单片机·嵌入式硬件·fpga开发
Rambo.xia1 天前
AXI-Stream反压与背靠背传输——TREADY反压丢帧、TDEST路由错误、反压死锁,流式数据一反压就出事
fpga开发
传感器与混合集成电路1 天前
128路模拟通道轮询切换技术解析:模拟开关配置机制与精度影响抑制策略
嵌入式硬件·fpga开发
国科安芯1 天前
ASC8T245S 8通道电平转换设计实战:从系统架构到QFN24 Layout再到量产测试
网络·单片机·物联网·安全·fpga开发·系统架构
传感器与混合集成电路2 天前
基于FPGA与ADC协同架构的高密度数据采集模块设计原理与应用场景分析
fpga开发·架构