【FPGA学习笔记】(一)什么是FPGA?和单片机ARM有什么区别?

目录

  • 注意及引用
  • FPGA整体概述
  • FPGA相关术语
  • FPGA基本逻辑结构
    • 可配置逻辑单元(CLB)
      • 1.查找表
      • 2.存储元件
      • 3.分布式RAM资源
    • 输入输出单元(IOB)

注意及引用

由于本人学习FPGA尚处于初级阶段,大部分资料学习来源于 Xilinx暑期学校以及《Xilinx FPGA原理与实践》,故部分内容引用于以上两处,且一般以目前流行的 Xilinx 7 系列 FPGA 进行分析,由于个人能力问题,思考难免出现问题,恳请各位大佬进行批评指正。

FPGA整体概述

FPGAField-Programmable Gate Array,学术解释为现场可编程门阵列,用人话来说就是由多个 可以编程互连连接的可配置逻辑块 (CLB),组成矩阵,构成的一个整体半导体器件
FPGA, 其实是很多代可编程器件升级迭代的集成化产物,他经历了PAL(70年代,一次性的可编程阵列逻辑)、GAL(通用阵列逻辑)、CPLD(复杂可编程阵列逻辑)。他改变了专用集成电路(ASIC)中大部分算法“冻结”无法更改的缺陷,一旦设计制造完成后电路就固定的问题在FPGA中得以解决,并且也克服了可编程器件门电路数量有限的缺点。但不可否认的是,ASIC由于其特定性,成本低体积小是它的一个优势。

总结:FPGA是制程工艺上年的逻辑实现虚拟化层,允许芯片流片后再决定电路

【FPGA学习笔记】(一)什么是FPGA?和单片机ARM有什么区别?_第1张图片

FPGA相关术语

可编程(Programmable)
开发者视角,可以对FPGA进行编程

可重构(Reconfigurable)
针对器件特性的描述,器件上的电路可以被重构

可定制(Customizable)
针对应用/客户,可以为其定制硬件

软件定义(Software)
可用软件设计方式重新定义硬件功能

FPGA基本逻辑结构

FPGA因为其采用逻辑单元阵列,故分为 可配置逻辑模块(CLB)、输入输出模块(IOB)、内部连线(Interconnect)三个部分。

整体来讲,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器(具有记忆功能的,两个稳定状态“0”和“1”)的输入端,模块之间通过连线互相连接,通过触发器再去驱动其他逻辑电路。

可配置逻辑单元(CLB)

CLB是FPGA体系结构的核心。在CLB中一般情况下包含很多个Slice。Slice是一个包括查找表、进位链和寄存器的组合模块。
Slice又分为SliceM和SliceL,配合使用使芯片在保证能力和性能的同时,实现低成本和低功耗。
SliceM:能够实现补码运算、移位寄存器、储存器功能
SliceL:只能实现逻辑函数的查找表

1.查找表

基于7系列的FPGA,每个查找表LUT都有1个6输入和2个独立输出。

2.存储元件

每一个Slice具有8个存储元件,可以配置为触发器和锁存器。

3.分布式RAM资源

分布式RAM资源是同步资源,对一个Slice,所有的触发器有统一的时钟输入。

输入输出单元(IOB)

与外界电平兼容的输入输出IO接口,IOB是FPGA对外的接口。

你可能感兴趣的:(单片机,arm,嵌入式硬件)