|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合你设计需求的芯片。/ X& c: x( E F' L$ @2 @3 @
但是芯片种类那么多,老板又要你越省越好,硬件工程师也天天问你到底该用哪块芯片,怎么办?$ [# k2 S+ |! h* T1 A' T
今天正好可以跟大家聊聊这些问题,帮助大家从一个工程师走向一个设计师。
- z: i+ I$ b9 o. L' T5 h/ M 总而言之,遵循下面几个选型原则,基本上不会有大问题:
$ L/ ~, X# D% W# e2 c% W+ H3 i 1. 器件特色 选片第一个关注的应该是FPGA器件的专用资源。) T- L- z" B: ]/ l. k+ B4 Y- C' o$ ~
例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需要的最高收发速度是多少。
1 J4 m; [7 Q$ X. |1 I# W- R5 r0 l 同样,如果需要实现运算量较大的算法模块时,则要求FPGA器件需要有大量的DSP模块,并拥有足够多的RAM块来配合这些DSP模块。
9 E' G% s# w! h) J1 N# [7 G 3 C) Z- p5 j G y% _, C
2 规模大小 在选型时,因为FPGA设计还未开始,很难确定FPGA器件的规模。
# u# c( F7 h2 b* V7 p8 p, b 通常的做法是,针对本次设计中想要用的FPGA器件系列,重新编译之前的某些功能模块,以便获得一个大致正确的规模估计。
m. Z8 F; P# A! M) I* {+ V( z 如果设计中使用了IP,这些IP核也需要编译后,加入到总面积估算中。
4 K7 B( c" z/ F4 }, E0 r 再将需要加入的新功能进行设计估算。
5 |. m* Y( r+ I3 j' N; |7 w 两方面加起来后,在此基础上预估再增加20%-30%,基本上可以满足之后的设计需求。
/ I, Q1 B6 P; {* T' r 甚至有时,现有的嵌入式逻辑分析仪也需要耗费内部存储模块,调试过程的资源消耗可能也需要考虑在内。
, }; H9 s2 j7 F. b, N. i! Y7 U 若FPGA留有余量:9 U0 D- \3 q0 ~$ r3 }6 Z% H
- 避免时序收敛对设计的影响,减少开发周期,快速进入板上调试阶段;
- 则对设计后期修改或产品版本更新所增加的逻辑单元,就能比较容易的被接纳;
/ T$ @ C$ P& |/ x . i( q0 A4 c; Q7 {
设计在FPGA上正常运行后,如果FPGA上有大量未使用的资源,此时可以考虑换区一个比较小的器件以降低成本,这时候要注意的就是引脚在移植代码时的修改问题。$ y8 a0 I2 k+ \2 Y2 I/ K
6 h- `# e' I2 N. N4 v 3 速度需求 首先需要分析功能需求,然后在平衡资源与速度后,估计速度需求。
1 y7 c Y& w9 B: Q 同样也可以根据之前的设计来确定,根据FPGA供应商提供的datasheet,在最大速度的基础上,留出足够的安全余量,确定选型。
1 p% r5 F8 ?2 A 当然,也可以直接选择同类型的速度等级最高的器件,尽早的进入设计调试阶段。等功能完善之后,再选用一个较慢的FPGA器件来做降成本的设计。1 Q0 H) l$ l; P& F
+ W8 R3 W7 s7 p- n+ B0 q: p4 W
4 引脚 设计需要I/O接口类型,直接影响到FPGA器件所需要的引脚数目和封装类型。在此必须知道I/O标准和驱动强度,以及外部的接口电气标准。
9 o y. b. k2 H& g7 u$ L" Q: r 同时需要关注设计中的信号完整性问题,这些都需要与硬件工程师讨论后,进行确定。
& l. j6 Q8 w1 l# D 甚至有时候调试阶段,也需要预留部分引脚作为调试引脚(内嵌逻辑分析仪的资源不够时)。
* o: \0 h8 g3 b% u' x- @ 4 {3 y2 V G o1 Y
5 IP的可用性 包括两方面:
I( j3 _+ u* r 一是芯片厂家的IP核的丰富性,如果提供足够多的IP核,覆盖我们的设计,当然是最好不过的;4 g/ x6 y! k( _( Z
二是芯片厂家是否愿意以可接受的价格(更多可能是免费)的方式将这些IP核提供给我们。
9 Y- e- H3 n) y9 s& x, ^ 因为IP核的使用可以大大减少开发周期,缩短工时,降低开发成本,因此选型时也需要考虑这部分。6 u! z: b0 l8 u
- p2 t% N, @7 K, x: y7 W% A 6 器件的可用性 一些老旧器件可能会面临停产的风险,如果开发周期超过两年以上,建议选择最新或者次新的器件,因为几年后,目前最新或者次新的FPGA器件在经济上是比较划算的,也不用担心停产,导致供货不足影响产品出货;
3 t, K c2 I! k$ n+ F' h* v+ s , R9 h! B7 }0 L7 w! h% O! n
7 功耗 根据设计的功能需求,确定FPGA需要使用的电源。例如对IP核、I/O、transceiver等模块,提供各自独立的电源层,FPGA需要的电源个数越多,电路板上的元器件成本就越高。6 u- y- e; _. m
所以需要根据之前的设计、FPGA供应商提供的功耗评估软件等估算将要消耗的功耗,从而确定所需的器件。
- m( \8 e2 V+ u2 ~. t6 x 8 c. ?" Y5 V0 d
8 其他 其他方面包括:
& a: G! U- }. P0 F- }7 ~ - 器件的工具软件易用性,对于一些国产的FPGA器件,其开发软件稳定性较低,可能会额外增加开发成本,提高风险,因此在选型时,需要注意;
- 器件在高低温、强辐射等极端环境下的性能表现;
- 产品的继承性,一些常用功能模块的可移植性,考虑选型时,可能需要多考虑可以继承上一代产品的可用器件。
* V# \2 m" c% X2 s7 B3 V
1 @& I G/ U; W% l9 K+ Y- P9 U) W ; r, [' R6 ?' o7 k" Y* L+ ?
最后小结一个,说了那么多,其实记住两点就行:
* \' j: F0 e- f, L- `4 u4 K" x6 t 给老板和领导省钱;
' h. z, J2 g+ H 给自己和同事省事。! `2 b/ o; z& d. x! o# L* v
祝各位好运!
+ c" A. z4 A0 M/ l5 d9 @: t# t' h, ~0 g# C( ?* X. k/ e, n4 e' ^ x
! A6 B/ j- m/ j0 {3 j |
|