|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uperrua 于 2019-5-9 10:35 编辑
0 Z1 S2 v5 a; b: K# |5 n; S& p7 H' Y1 U, q& U5 ]2 y
主流的FPGA仍是基于查找表技术的,并且整合了常用功能(如RAM、DCM和DSP)的硬核(ASIC型)模块,如下图所示FPGA的结构主要包括:- G2 {, A+ @! c
8 G0 U% T6 o4 x( ]' S
% z3 Q$ x& \1 ]
可编程输入输出单元(IOB)4 z' F( j: W& Y. E% v+ D
可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内的I/O按组分类,每组都能狗独立地支持不同的I/O标准。通过软件的灵活配置,可是配不通电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。I/O口的频率也越来越高, w/ R# o: R+ G4 H4 ?& s$ J
为了便于管理和适应多种电气标准,FPGA的IOB被划分为若干组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同的bank可以有不同的VCCO,只有相同电气标准的接口才能连接在一起。
' I2 ?: n! t( X" o5 Y r* i( }+ Z$ p* K& |' P6 ~& G
可配置逻辑块(CLB)
- l- Y7 q3 F& K, D8 d( V CLB是FPGA(xilinx)内的基本逻辑单元,CLB的实际数量和特性会因为器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(MUX)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以组成组合逻辑、移位寄存器或RAM。
6 {& u0 d8 `! T9 A) S 在Xilinx公司的FPGA器件中,CLB有多个相同的Slice和附加逻辑组成,每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。
9 N7 K( \4 t/ X 而在ALTERA公司的FPGA器件中LE(logic elements)是描述内部逻辑的基本单元,比如cyclone IV 系列的LE由一个4输入LUT+可编程的寄存器 构成。+ O- D7 I1 F7 j/ ^- `
Slice是Xilinx公司定义的基本逻辑单位,一个Slice由两个4输入的函数发生器(LUT)、进位逻辑、算数逻辑、存储逻辑和函数复用器组成。
5 n, S- V3 P' J. `% e, \ U; c" D, J0 `( s, L) g ]
丰富的布线资源! ^) ] o9 R% ~8 r5 \% [
布线资源连通FPGA内部所有单元,而连线长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的不限资源,根据工艺、长度、宽度和分布位置而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;二、长线资源,用以完成芯片bank之间的高速信号和第二全局时钟信号的布线;三、是短线资源,用于完成基本逻辑单元之间的逻辑链接和布线;四、分布式的布线资源,用于专有时钟、复位等控制信号线。
0 s/ o& {4 D+ W4 O Y8 O* W( w# _9 |, _! l. Y/ t( t
嵌入式块RAM(BRAM), H$ r `' U3 x; H! c; x9 |( l
BRAM有很高的灵活性,可以被配置位单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。在实际应用中,芯片内部BRAM数量是芯片选型的一个重要因素。; C6 P- P0 T6 r2 _
ps:FPGA芯片内有两种存储器资源:一种叫block ram,另一种是由LUT配置成的内部存储器(也就是分布式ram)。Block ram由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。
% f, e- P" K' x( y; m: _9 x% M) U9 \
$ p: V0 ]: }$ v0 W8 l' E# d. @底层内嵌功能单元6 n5 d7 W0 ~9 I0 |0 B# O* Z
内嵌功能模块主要是指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核
: p- k0 m' s! [! |4 V; i& y
, T% v7 X, R% H; P$ h
; I/ f( l% t/ ^
3 ?3 x5 C H2 e" [4 `! j; w |
|