|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1. 芯片选型
; H$ p& C" {1 j/ h! N5 R7 _+ A
9 G9 K6 i: G% O: i7 I在采用FPGA电路设计中,首先要进行芯片选型。而芯片选型都是根据你的设计需求来找器件。需求可能涉及以下几个方面:
, O* p" T' x$ e0 F y, p' Q- e% S- W6 j3 j! m: _
1. 时钟速度(逻辑时钟、IO时钟等),不同Family能达到的速度不同
) z: r1 k3 I/ F6 K5 C, I- ^) N
4 w* K6 D6 t* W `8 k( K* @2. 时钟数量,不同Family的时钟资源不同
; U6 K. X9 e9 ^; Y. C+ D, K* O2 K& G9 K, y& v o ~
3. IO数目和支持的电平标准' I9 Q* P% L6 K* m
% g+ u2 K4 c0 i8 s4. 板上封装(焊接方式、体积大小)
, f; W. r$ g9 d- T7 ~; Q
: m* x6 p6 k) u, K3 ^. j5. 其他各种硬核功能(PowerPC,MGT,GTP,TEMAC等)
) w, F: I+ |* ~+ H3 |+ `# h/ V' n1 F% N% u0 c$ Q$ v
6. 功耗要求,顺便考虑散热空间/ N3 `# x5 J3 A! U @2 V
- Q+ e6 V" l3 e- Y
7. 非易失性要求,Spartan 3A系列有内置Flash2 S& S8 f$ x8 L) j0 l6 B& ~
! y) c5 K' ?3 O$ m h+ Z/ ?
8. 产品调试和升级扩容空间,比如调试时用较大的器件,完成后改用同样封装较小规模的器件% N7 I/ [3 P- I' L9 b Q
1.1 Xilinx芯片
9 ^0 w& Z9 F( g- I7 x7 s
' }/ j6 W |. w0 S" P3 d* Y
0 s, g4 Q/ w, Z- |7 `2 P5 z" a$ s+ Q$ \
6系列用ISE开发,7系列用vivado。
. \0 ?& V$ ?, T9 i4 P) e2 a; w+ o( e: |: I$ Y) U5 B
Spartan-7 的定位为低成本应用,容量中等,性能仅为满足一般的逻辑设计要求。
y+ F# l4 B4 Z: I4 v% n/ d Artix-7 和 Kintex-7 均可认为其定位为高性价比:( y' I$ r6 [0 U- }0 V! v
Artix-7 系列提供了最高性能功耗比结构、收发器线速、DSP 处理能力以及 AMS 集成;+ d1 ~1 y0 C; \. ~
Kintex-7 系列最佳成本/性能/功耗平衡,同时提供高 DSP 率、高性价比封装;: w7 v" x. q( N' P3 m8 p
Virtex-7 则定位为高性能应用,容量大,性能定位为能满足各类高端应用。1 L5 l2 V) o/ x
% O+ j6 q! K2 h5 N' p$ N' u
, @3 J3 m7 |& s7 `, m关于各系列的片上资源,可直接参考各系列的芯片选型手册:# R5 `0 P- m5 c' C5 F% A/ U
+ s6 V# {: d2 z nCost-Optimized Portfolio Product Tables and Product Selection Guide
& J. C0 k3 L$ Z- y" y% o# u+ g" ~3 A$ w/ g
All Programmable 7Series Product Selection Guide! \3 h1 }1 r0 V: C* y
, P0 u, J: d( e' h& _3 G Z8 @
UltraSCALE FPGA Product Tables and Product Selection Guide
2 L/ {/ U1 A4 E) L1 B1.2 Altera芯片
, [# `' J v0 c( g1 ~9 I( z8 f; a
) A: [, Y( q% U: P. w- JAltera 的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件* o8 N2 g( s$ Y: r% k
2. 芯片命名规则
7 ^/ }# q; f1 t1 [- \2.1 Altera命名规则0 F8 h. I2 ?: L
1 L0 a8 w2 n. v$ u& M; P, ^4 ~0 J器件系列 + 器件类型(是否含有高速串行收发器) + LE 逻辑单元数量 + 封装类型 + 高速串行收发器的数量(没有则不写) + 引脚数目 + 器件正常使用的温度范围 + 器件的速度等级 + 后缀举例:
; N- s+ n0 j0 v N; k" d/ M, y% [+ J# y4 {" ~" \
EP4CE10F17C8N 为例7 S; a& b# ~5 F# a# u2 t
1 H3 L# w' i; ~/ l, ?4 v! X
EP4C:Altera 器件 Cyclone IV 系列;; _: O+ |- S2 ]+ d( K
E/GX:E 表示普通逻辑资源丰富的器件,GX 表示带有高速串行收发器的器件;) ]6 }8 }1 r& E+ d$ a) @1 F
10:LE 逻辑单元的数量,单位为 k,10 表示约有 10k 的逻辑单元;. d* o0 Y. G4 Y+ X# h+ A: _+ ^
C:表示高速串行收发器的数量,该芯片没有高速串行收发器所以不写;
5 b1 R% K, j* X- l7 r J F:表示 PCB 封装类型,F 是 FBGA 封装,E(EQFP)、Q(PQFP)、U(UBGA)、M(MBGA);8 s& Y2 b2 o$ h
17:表示引脚数量,17 代表有 256 个引脚;' P4 e i( F" q8 p |7 M! c
C:工作温度,C 表示可以工作在 0℃到 85℃(民用级),I 表示可以工作在-40℃
' t3 |, X& s7 ` U 到 100℃(工业级),A 表示可以工作在-40℃到 125℃(军用级);
4 B) n: ~( `1 g0 A- t, [7 p 8:器件的速度等级,6 最大约是 500MHz,7 最大约是 430MHz,8 最大约是400MHz9 \; ~* h4 V4 x% [, d/ a
N:后缀,N 表示无铅,ES 代表工程样片。0 e8 t) ~9 M$ N+ M
7 p1 y. i2 w9 y5 c5 S/ G2 [2.2 Xilinx的FPGA命名规则
% i6 s- K8 J2 w. `: x; A5 `3 {% U$ ~
UG-112:Device Package User Guide
4 _1 i' Q* c( l$ X
?1 f9 t! K5 `7 l: oUG-116:Device Reliability Report6 E/ ~: i, z' f
* o+ J/ ?9 Q# P6 v& N" }
o' W( a' v( G& |8 {1 s. q
+ `; p& r8 I1 G譬如,对于编号为XC4VLX60-1FFG668CS2的FPGA,器件类型是XC4VLX60-10,封装是FFG668CS2。具体而言% p! C" L' D; i6 K+ [
( B; l; U: N7 q: |1 b ` XC4VLX:代表FPGA的家族,这里是VIRTEX 4LX! I9 n, u! Q& R |/ Y
60: 代表system gates或logic cells的数目,即60,000
2 y" h$ R4 n) c1 U6 ` -1: 代表速度等级6 ?# r1 ^( S+ k% m7 C/ X! `" C6 |
FFG: 是封装方式(Pb-free flip-chip BGA)
" M* w# ^- h o, p7 g 668: 是引脚数目
$ m8 m l) c. Z8 Q% K C: 代表的温度等级Temperature grade ,这里是商用(Commercial)
4 |3 x. u6 C( {5 i3 s7 e- s# @ S2: 即step2, N2 D+ ^8 s8 N$ A9 q
9 L0 Z' j% Q! a6 v
. s9 z7 ?0 ?" S& G( p4 x- k- l9 d) b& y. g; J Q1 Q% N4 Q# q1 ?
2.3 速度等级
% N2 P# K" A! m4 h6 X
: G( Q/ G ?$ s8 o序号越低,速度等级越高 这是Altera FPGA的排序方法,“序号越高,速度等级也越高”这是Xilinx FPGA的排序方法
. J1 X; K. Q; A% r5 j$ H) ^' ^3 E& P. W$ e: a
在芯片生产出来之后,实际测试标定出来的;速度快的芯片在总产量中的比率低,价格也就相应地高。: x# c$ A" R& G9 d: ]* h; i
# K$ c* l. L0 L7 X) H2 P
一般来讲,提高一个速度等级将带来 12%到 15%的性能提升,但是器件的成本却增加了 20%大 30%。如果利用设计结构来将性能提升12%到 15%(通过增加额外的流水线),那么就可以降低速度等级,从而节约20%大 30%的成本;% s! m- M4 {( [3 s
2.4 温度等级
! `/ X* g3 c/ S+ S, [3 W5 C3 |- o4 s
+ }6 `1 j! v k
0 K0 k+ i% ]- K( V8 ~; Y
' O% p& v: K. e( w6 @$ }# Q3. FPGA IO引脚及命名方式
6 J6 a1 |4 X& w! k) l" L t Q3 \: ?
参考:FPGA开发者看过来:IO是怎么命名的?上电又有什么规律?__凤凰网/ ~( G- ?: b1 ]3 V, L
* `+ x9 `1 J+ u! ~
命名方式多样,A13,B14,BANK34,BANK12,MIO0,EMIO···。这是FPGA的特点,FPGA可以兼容多种不同的电压标准,也有丰富的IO。
% z3 c1 J T9 t$ U: o4 `
* L. P m J6 {7 FFPGA的IO物理命名规则,也就是我们做管脚约束时候的命名,芯片通常是长方体或者正方体,所以命名通常采用字母+数字组合的方式。
6 ]8 k- D5 q6 D b2 }* O+ {+ ~
) t5 p2 Y3 G$ Qxilinx的命名(xilinx的文档是行业标杆,其它FPGA厂家的资料多多少少会参考xilinx)通常xilinx 的功能命名格式为:IO_LXXY#/IO_XX。其中:3 `% z( S# [* w# G8 ]7 Y1 v' a
2 a- [3 p" _( V2 Z+ @. E
(1) IO代表用户IO;
/ M E/ \! a: s7 D! j/ n* a (2) L代表差分,XX代表在当前BANK下的唯一标识号,Y=[P|N]表示LVDS信号的P或者N;% t. N# p5 o6 F }" W* J8 f6 i
(3) #表示Bank号。
7 @. G- j$ U! ^' G3 J1 ]" P' V }9 L6 _, x, i
例如:IO_L13P_T2_MRCC_12,这是一个用户IO,支持差分信号,是BANK12的第13对差分的P端口,与此同时它也是全局时钟网络输入管脚(MRCC是全局时钟网络)
" H3 G8 d1 _( ~6 {5 p$ `# L* w2 A+ { s2 f% m6 c7 P1 d
除了FPGA的用户IO外,还有很多其他的功能IO,如下载接口,模式选择接口,还有MRCC,最重要的是FPGA的电源引脚。( I/ P) C+ @6 \( M7 a3 A
/ S9 L0 U; F+ k1 O
Zynq有两套独立的供电系统,(PS和PL),因此没有上电时序需求8 p2 h0 i6 s% ]! h
7 Q& y0 S) ^5 [$ ^9 b5 |6 Q |
|