欢迎光临散文网 会员登陆 & 注册

FPGA学习——FPGA硬件基础常识

2022-10-11 15:57 作者:-遮瑕-  | 我要投稿

一、 FPGA基本原理

(一)厂商发展

    目前FPGA主要厂商有两个——Xilinx和Altera(被Intel收购)。

1. Xilinx简介

    FPGA市场的龙头,占有率达50%,其主要产品为:Sparten系列、Virtex系列、Artix系列、Kintex系列、Virtex系列等。

    其六代以及之前的产品开发工具均为ISE,从七代开始全部移植到vivado平台。

2. Altera简介

    FPGA市场的二把手,占有率40%以上,2015年被Intel收购,主要产品为:Max系列、Cyclone系列、Arria系列、Stratix系列等。

    其开发工具为Quartus。

(二)Xilinx FPGA实现原理

1. 基本电路工艺

    现如今绝大多数集成电路采用CMOS工艺,CMOS电路是互补型金属氧化物半导体电路(Complementary Metal-Oxide-Semiconductor)的英文字头缩写,它由绝缘场效应晶体管组成,由于只有一种载流子,因而是一种单极型晶体管集成电路,其基本结构是一个N沟道MOS管和一个P沟道MOS管。

2. LUT(Look Up Table,查找表)

    FPGA基于查找表技术实现,通过LUT可以实现与门、非门、或门、与非门等基础逻辑运算,LUT本质上就是1bit位宽的RAM,通过输入进行寻址,输出寻址到的数据。

    使用LUT的好处是延迟固定,且由LUT组成的组合逻辑电路的功能只与配置有关,电路复杂度不会指数级提升。

3. Slice

(1)Slice基本组成

    Slice由4个6输入LUT和8个寄存器组成,每4个寄存器为一组,4可配置为D触发器或者锁存器,另外4个只能配置为D触发器。

    同时,Slice内还有多路复用器(1位宽的数据选择器mux),由于足够使用,所以一般不用考虑;其还有进位逻辑(carry chain),它是异或门,是FPGA内自带的进位链逻辑,当实现计数器等功能时可能会调用它。

(2)Slice分类

    其分为SliceM(memory)和SliceL(logic)两种(还有说有SliceX,但是没找到),它们两个的区别是SliceM内含有可以将LUT重新整合为32位的移位寄存器或者Distributed RAM(分布式RAM)。

4. CLB(Configurable Logic Blocks,可配置逻辑块)

    CLB是FPGA的最小逻辑单元,1个CLB包含两个Slice,一般是两个SliceL或者一个SliceL、一个SliceM。

5. block RAM

    块随机存储器,SP3系列含有最多1.87Mbit的Block RAM,主要应用于构造数据高速缓冲存储器、深的FIFO和缓冲器等。

    与分布式RAM的区别是,它是固定存在的,可以减少对于CLB的使用。

6. 时钟管理(CMT)单元

    1个CMT由1个MMCM和1个PLL组成,MMCM、PLL均可实现时钟整数倍的频率综合、去抖、去偏斜,但MMCM还可以实现分数倍的频率综合、反相时钟输出以及动态的时钟相位调整。

7. 数字信号处理(DSP)单元

    对于FPGA来说,它可以进行大量的简单运算,并将其高速并行运行,但是它对于复杂运算并不擅长,比如乘法运算,实现乘法运算需消耗大量的资源,所以厂家就加入了硬件DSP核,从而利用DSP进行复杂运算。

8. 端口控制(IOB)单元

    IOB即可编程输入输出单元,是FPGA与外部连接的电路部分。


FPGA学习——FPGA硬件基础常识的评论 (共 条)

分享到微博请遵守国家法律