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

注意及引用

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

FPGA整体概述

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

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

FPGA与ASIC运行流程对比 图片来源于网络

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对外的接口。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值