|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
结合Xilinx、Altera 等公司的FPGA 芯片,简要罗列一下FPGA 内部的资源或专用模块,并简要说明这些资源的一些作用或用途。(至少列出5 项,越多越好)' p+ x& c0 k7 R3 s& B
: d' g0 w4 i5 Z* M" I @4 _1. 可编程输入输出单元(IOB)
! }; c7 u4 _9 Y0 w1 v2 t4 k: ]$ h 可编程输入/输出单元简称I/O 单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,其示意结构如图1-2 所示。PGA 内的I/O 按组分类,每组都能够独立地支持不同的I/O 标准。通过软件的灵活配置,可适配不同的电气标准与I/O 物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。目前,I/O 口的频率也越来越高,一些高端的FPGA 通过DDR 寄存器技术可以支持高达2Gbps 的数据速率。
8 J N7 B$ V( m! s% F E* X4 N3 @; E% |- b
外部输入信号可以通过 IOB 模块的存储单元输入到FPGA 的内部,也可以直接输入FPGA 内部。当外部输入信号经过IOB 模块的存储单元输入到FPGA 内部时,其保持时间(Hold Time)的要求可以降低,通常默认为0。为了便于管理和适应多种电器FPGA 的IOB 被划分为若干个组(bank),每个bank 的接口标准由其接口电压VCCO 决定,一个bank 只能有一种VCCO,但不同bank 的VCCO 可以不同。只有相同电气标准的端口才能连接在一起,VCCO 电压相同是接口标准的基本条件。
/ m7 j8 r0 x0 F! h) g0 e- J
$ j; Y$ y8 W5 ^/ r0 d2. 可配置逻辑块(CLB)7 Q( j8 w1 f- h c$ n, s& O7 j
CLB是FPGA(xilinx)内的基本逻辑单元,CLB的实际数量和特性会因为器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(MUX)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以组成组合逻辑、移位寄存器或RAM。* \5 o6 d; m2 ]: a& l& ?) c0 q
在Xilinx公司的FPGA器件中,CLB有多个相同的Slice和附加逻辑组成,每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。而在ALTERA公司的FPGA器件中LE(logic elements)是描述内部逻辑的基本单元,比如cyclone IV 系列的LE由一个4输入LUT+FF构成。" |6 `! i: B7 q! u2 _
Slice是Xilinx公司定义的基本逻辑单位,一个Slice由两个4输入的函数发生器(LUT)、进位逻辑、算数逻辑、存储逻辑和函数复用器组成。
z/ V2 X' g! d4 ~ 而在ALTERA公司的FPGA器件中LE(logic elements)赛灵思 LC 是描述内部逻辑的基本单元,比如cyclone IV 系列的LE由一个4输入LUT+FF构成。
! u) N2 N1 i; i, I. r% T: i$ ^6 D* u* ?, g3 X
3. 数字时钟管理模块(DCM)
& T" R, k% i! k" W, S 业内大多数 FPGA 均提供数字时钟管理(Xilinx 的全部FPGA 均具有这种特性)。Xilinx 推出最先进的FPGA 提供数字时钟管理和相位环路锁定。相位环锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。
0 c6 L8 E+ X+ B' P5 ~4. 嵌入式块 RAM(BRAM)7 T' Q9 k* V" {0 Q4 r2 k
大多数 FPGA 都具有内嵌的块RAM,这大大拓展了FPGA 的应用范围和灵活性。块RAM 可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO 等常用存储结构。可以根据需要改变其位宽和深度,但要满足两个原则:首先,修改后的容量(位宽深度)不能大于 18k 比特;其次,位宽最大不能超过36 比特。当然,可以将多片块RAM 级联起来形成更大的RAM,此时只受限于芯片内块RAM 的数量,而不再受上面两条原则约束。9 M+ V* f2 c2 o
8 _7 S' V0 u# ]; A! c, I! s6 k: H# YFPGA芯片内有两种存储器资源:一种叫block ram,另一种是由LUT配置成的内部存储器(也就是分布式ram)。Block ram由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。
/ A6 w9 \" f# O8 m) v& s3 b& W7 R
/ ]. p. u) X/ j) Y5. 丰富的布线资源
. s9 o. ^$ G0 u# t 布线资源连通 FPGA 内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA 芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank 间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。- X; n7 L! H: [8 i+ }
8 u. u! C2 g2 j: i- o4 U. F2 h) I
6. 底层内嵌功能单元$ p4 H X+ j( t: D% T: g
内嵌功能模块主要指 DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP 和CPU 等软处理核(Soft Core)。现在越来越丰富的内嵌功能单元,使得单片FPGA 成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC 平台过渡。 DLL 和PLL 具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。Xilinx 公司生产的芯片上集成了DLL,Altera 公司的芯片集成了PLL。/ L& `+ N- b7 n) T' K& n0 d5 g3 Y
DLL 和PLL 具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。
% Y: \1 L+ @ Z0 U/ d h q% {* h" A9 l, f( q+ T& e0 ^
7. 内嵌专用硬核
+ k) F5 p4 W* o+ N, p% }) |5 _内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA 处理能力强大的硬核(Hard Core),等效于ASIC 电路。
, o0 @& }# g5 F2 J4 G f: I
% v/ y# a3 K- p* H6 T, D: t: r! o$ r
: G/ Z9 {' k2 H7 w
* E( \) m* ]2 ^/ E v; \5 S* \ |
|