|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
/ X/ ]5 ?7 \7 F7 Q# U- x- B
1 q9 W) O; j6 y$ z* B; N) W 目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。
& B8 G% E5 t$ U- v, ?- O9 E6 b6 ^" @( I Z# H$ x7 j7 ]' f
FPGA如何从入门到高手?4 J, w5 I! `1 d5 s; A
( i2 z/ \; f+ C1 \: T
1 W2 c" t3 y; r 1.可编程输入输出单元(IOB)5 ^2 l5 I R {7 ?; V5 w1 l/ a0 o
3 K2 c0 G" Q( D% M" k
可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。: g+ ~) U) x9 N: E1 S3 {2 Y
. `: P( \% _3 s) i) ~) w) i
2.可配置逻辑块(CLB)/ H, }0 f) X4 o$ d) e% f" ]. V
7 m( L5 R$ P& e$ \; ~# | CLB是FPGA内的基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。
( M1 m( _9 t3 l1 `
4 t2 W+ i( f* a) `- i# Q6 k 3.嵌入式块RAM(BRAM)' {8 k, W( ~! U- e, c b3 ~
1 `& k$ L" K; Y( ?4 h
大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块RAM,还可以将FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。
- v. H' D5 X F: X+ M5 k4 d7 c0 V' M4 d1 A1 ~' ?
4.丰富的布线资源
" e) F2 L8 m" e8 @# q9 Z! C
7 j( V0 `& V% D5 a+ P7 H3 Q 布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。2 o, f: U# D6 G }1 H0 m( B \
- U: s' \1 ^+ H: L! @1 x: K& W: r 在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。
% v$ ^+ x Z4 x# g, b* b# ]# d0 Z/ B+ _. i9 i- J2 J- B2 s
5.底层内嵌功能单元 s: D- t$ T/ Z# a) @- M2 u2 [! Y
$ \0 _' ^1 j# S7 b/ B2 ?6 E8 m 内嵌功能模块主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等软处理核。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。
. \) E* s3 M* J6 {4 q+ T. ?9 d7 O" h
DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。
) a( T! a- |3 |
3 r2 x8 u' F. n% P 6.内嵌专用硬核' G6 w+ e& ?# v4 `
, F' n- O% k2 P# x7 e$ G$ z/ G1 f( K: P
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(HardCore),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。
. M' k8 A0 m$ A$ L$ j/ s: j1 L |
|