深入浅出玩转FPGA阅读笔记(1):初识FPGA

一、关于FPGA的一些基本概念

1.FPGA是什么?

简单讲就是可以反复编程的逻辑器件。

2.FPGA/ASIC/ASSP

asic和assp功能固定,就好比印刷好的纸张,而fpga则是可以随时擦写的白纸一张。

3.FPGA/ARM/DSP

fpga、arm、dsp都或多或少集成了一些asic的功能。
arm:廉价、功能多、功耗低,擅长控制与管理。
dsp:有专用的指令系统,能进行高速、高吞吐量的数字信号处理。
fpga:可以实现arm和dsp所能实现以及它们所不能实现的功能,但功耗高,成本高,编程复杂。

4.Verilog与VHDL

verilog随性适合初学、VHDL严谨,后期需掌握

5.Altera(intel)/Xilinx/Lattice

Altera(intel)/Xilinx共占据全球60%左右的市场份额,各厂商的FPGA器件在开发流程,开发工具都换汤不换药,用户只要掌握一套方法论,所有厂商可以通吃

二、FPGA基本结构

1.基本单元

(1)查找表(LUT):逻辑操作,LUT可以用于实现真值表,将不同组合输入产生特定输出,通过位扩展可以实现多位的数据存储单元。具体扩展可参考:RAM的存储容量,以及地址线,数据线
(2)触发器(FF) :存储LUT结果的寄存单元,包含数据输入、时钟输入、使能输入、复位输入,数据输出。
(3)线(Wires):用于连接不同模块的单元
(4)输入输出端口(IO):FPGA与外部互联的引脚

2.额外单元

用基本单元组成一些在工程中经常会用到的一些模块,方便直接使用。
(1)片上存储器:块RAM(BRAM)、LUT、移位寄存器
(2)锁相环(PLL):用于产生时钟
(3)高速串行收发器:
(4)片外存储控制器:
(5)乘累加模块(DSP48):加减器+乘法器+乘累加器

在这里插入图片描述

其中CLB由两个slice组成:
在这里插入图片描述

每个slice由4个6输入LUT和8个寄存器组成,(中间应该还有一些选择器、与非门、或非门之类的东西),LUT只提供一个时钟端口,一个写使能端口,因此,向LUT-RAM中写数据是同步的,但读数据则是异步的,为此,只需添加额外的寄存器即可实现同步读操作。这虽然增加了Latency,但改善了时序,提升了系统性能。:
在这里插入图片描述

当前主流FPGA结构演变为:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值