找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
楼主: oxygen
打印 上一主题 下一主题

[有奖讨论]FPGA能干嘛??

    [复制链接]

0

主题

6

帖子

-1万

积分

未知游客(0)

积分
-14984
91#
发表于 2008-12-30 13:27 | 只看该作者
ASIC的验证。将ASIC的设计代码在FPGA中进行验证。1 n/ e3 h* k) C
; A. `( t2 D2 p: A
还有就是当ASIC成本较高时可以用FPGA来做,当市场起来之后再把ASIC做出来。这样可以先抢占开拓市场

0

主题

23

帖子

-1万

积分

未知游客(0)

积分
-11969
受到警告 92#
发表于 2009-1-4 10:30 | 只看该作者
1111111

27

主题

205

帖子

4717

积分

五级会员(50)

Rank: 5

积分
4717
93#
发表于 2009-1-5 12:56 | 只看该作者
FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 : b* g1 x# ]8 m3 F' _
; ?+ V' J4 x$ C( H; E
FPGA工作原理
( P* P+ `( a* v- n* R& k* G) v$ a% [  FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
) z6 |, h' T2 E
: g* [& @0 f# |! |5 f. |& J2 I: C; H  1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。   b5 g9 g0 ]' Q

$ u6 n+ N7 C7 U, q$ H; P  2)FPGA可做其它全定制或半定制ASIC电路的中试样片。   x' z* h( h, w; Y% c6 a# z5 b: z
9 J$ k- F6 V' Q' {* D; A. B  ^
  3)FPGA内部有丰富的触发器和I/O引脚。 % V& R1 n, |& N( g( k5 w: ~
+ H0 ?4 ]1 ^! f- Z" @1 s0 W9 n. x1 C
  4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 1 C7 b8 [% H0 L+ d+ _* P6 {

2 W  c  ^- `" R) u  5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
4 g5 N. J0 ^/ S9 g1 Y1 ~& K3 C- E
) }6 q4 |& D2 F. o+ h" f5 Q& `  可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 " @1 _: j! a" n6 e

& W, O$ @# {2 K2 ]9 N  FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 5 \9 C  Q& Q" r" |+ r: f5 w; c' W
" D  Y% Z2 C! s; l( v" e7 P0 W
  加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 9 z( m: E3 o, w# }; {

  o+ \! K: q% a1 Z/ yFPGA配置模式/ l+ |7 U6 g* \+ s
  FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
: Z2 j" u* g: B, S- P( L9 I( S3 Y2 x
  如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。
. a4 R! @  U& j; x* x) W) R& q' K3 n! O8 b9 l1 Z8 s, B3 B8 `0 E5 r5 Y
  例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。 ; D0 `; y8 O9 Y- G

" O2 S$ z2 Q5 P+ u. r$ W# R  幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nm FPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。
# S: z" L) z& L2 X* F' }, p2 Y6 H
3 k0 h/ w/ I5 {' P% e. G  最近FPGA的配置方式已经多元化!
$ ]7 n2 W* j- d% F/ @5 O' z3 X: V, R$ @! a+ [( [
FPGA主要生产厂商介绍  1、Altera
) k! ]. l. H" p+ |6 b- T
* O: m/ x4 }8 L  2、Xilinx
. V  G0 u) q4 x& [0 T: b2 ~4 P, f% C0 s, h
  3、Actel
. l/ `: [4 [- h6 Z. d0 Q) C$ q. |7 f6 {4 |% F/ h8 [- H
  4、Lattice
& [  e/ u( T' g5 L0 n' Q
6 F- }! @& a  h' `+ n: ]7 E6 l  其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。0 m7 i/ o, K7 k5 `

4 P, T# p+ C1 A9 F$ H# ^1 N. V! Z  FPGA设计的注意事项6 h, T/ L5 |1 A- B& t/ U: P7 W

: R' N# x/ U/ Y$ l  不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。 3 f, g* i# j9 c# }% h  `$ |

' L* [$ {+ k* ]: Q' h( b1 n9 S$ Z  s  I/O信号分配
. G2 [1 C$ `) [- n5 z$ q7 Q2 g6 H& y! x8 w
  可提供最多的多功能引脚、I/O标准、端接方案和差分对的FPGA在信号分配方面也具有最复杂的设计指导原则。尽管Altera的FPGA器件没有设计指导原则(因为它实现起来比较容易),但赛灵思的FPGA设计指导原则却很复杂。但不管是哪一种情况,在为I/O引脚分配信号时,都有一些需要牢记的共同步骤: " x- ^: j5 g8 n0 F- N( s
3 C) d" L. h: C' B+ N) U
  1. 使用一个电子数据表列出所有计划的信号分配,以及它们的重要属性,例如I/O标准、电压、需要的端接方法和相关的时钟。
# G. J+ M7 o& R2 `) ?* d. B# W+ y* y2 E+ T8 T0 `
  2. 检查制造商的块/区域兼容性准则。
) C# d* `4 o3 \1 ]$ B6 Z+ d- T
- O( X+ W+ R8 i' q( k  3. 考虑使用第二个电子数据表制订FPGA的布局,以确定哪些管脚是通用的、哪些是专用的、哪些支持差分信号对和全局及局部时钟、哪些需要参考电压。
/ [; c' `& R3 l' j
) V5 S/ Z! Q4 A2 r  4. 利用以上两个电子数据表的信息和区域兼容性准则,先分配受限制程度最大的信号到引脚上,最后分配受限制最小的。例如,你可能需要先分配串行总线和时钟信号,因为它们通常只分配到一些特定引脚。
4 w5 ~0 A; r4 R! P+ D# b, \/ W) g: q% G0 O3 n' a& R
  5. 按照受限制程度重新分配信号总线。在这个阶段,可能需要仔细权衡同时开关输出(SSO)和不兼容I/O标准等设计问题,尤其是当你具有很多个高速输出或使用了好几个不同的I/O标准时。如果你的设计需要局部/区域时钟,你将可能需要使用高速总线附近的管脚,最好提前记住这个要求,以免最后无法为其安排最合适的引脚。如果某个特定块所选择的I/O标准需要参考电压信号,记住先不要分配这些引脚。差分信号的分配始终要先于单端信号。如果某个FPGA提供了片内端接,那么它也可能适用于其他兼容性规则。 6 Q/ O% \" c4 h; j
+ E; v. C6 I7 o: i8 h2 b* K; L" d
  6. 在合适的地方分配剩余的信号。 2 l$ J5 t0 _3 `$ \4 D' w

. z. Q2 j3 R, q/ ]( {, T  在这个阶段,考虑写一个只包含端口分配的HDL文件。然后通过使用供应商提供的工具或使用一个文本编辑器手动创建一个限制文件,为I/O标准和SSO等增加必要的支持信息。准备好这些基本文件后,你可以运行布局布线工具来确认是否忽视了一些准则或者做了一个错误的分配。 2 ?" k" l& f% t$ t
  I2 |9 \7 ]3 R6 I3 W) g
  这将使你在设计的初始阶段就和布局工程师一起工作,共同规划PCB的走线、冗余规划、散热问题和信号完整性。FPGA工具可能可以在这些方面提供帮助,并协助你解决这些问题,因此你必须确保了解你的工具包的功能。 / K) q( c1 F" c# F+ o/ f
# e! D- `- w9 ]2 x
  你咨询一位布局专家的时间越晚,你就越有可能需要去处理一些复杂的问题和设计反复,而这些可能可以通过一些前期分析加以避免。一旦你实现了满意的信号分配,你就要用限制文件锁定它们。  f' x9 y7 g) E- W

) X4 s* w( Z0 R" s3 P  基于CMOS的设计主要消耗三类切率:内部的(短路)、漏电的(静态的)以及开关的(电容)。当门电路瞬变时,VDD与地之间短路连接消耗内部功率。漏电功耗是CMOS工艺普遍存在的寄生效应引起的。而开关功耗则是自负载电容,放电造成的。开关功耗与短路功耗合在一起称为动态功耗。下面介绍降低静态功耗和动态功耗的设计技巧。$ l  e; G: [* K  U' G% v

0 l. f5 G% C& O  降低静态功耗* j4 {0 s% I2 ]  K+ U

' W8 X( }% w+ Z. ]! x$ I; ?7 I  虽然静态电流与动态电流相比可以忽略不计,然而对电池供电的手持设备就显得十分重要,在设备通电而不工作时更是如此。静态电流的因素众多,包括处于没有完全关断或接通的状态下的I/O以及内部晶体管的工作电流、内部连线的电阻、输入与三态电驱动器上的拉或下拉电阻。在易失性技术中,保持编程信息也需一定的静态功率。抗熔断是一种非易失性技术,因此信息存储不消耗静态电流。$ S7 j; A9 d! M8 I1 N$ B

7 r: y8 q3 z0 D  下面介绍几种降低静态功耗的设计方法:
( _6 j4 O) h3 H" x- ^( T* m' w
4 e2 z' T& Z" H. T' n; u# S  •驱动输入应有充分的电压电平,因而所有晶体管都是完全通导或关闭的。
% w  K9 e1 A5 ^- ]) J; g5 r' \
  •由于I/O线上的上拉或下拉电阻要消耗一定的电流,因此尽量避免使用这些电阻。
6 Z9 Z3 T/ ]1 o. B6 k# F' H7 w/ g
  •少用驱动电阻或双极晶体管,这些器件需维持一个恒定电流,从而增加了静态电流。4 B  [4 ?' V9 i& e. x

$ o8 q; C3 F' w3 H, z; t  •将时钟引脚按参数表推荐条件连接至低电平。悬空的时钟输入会大大增加静态电流。
) m+ z) D1 p9 O- F8 d- @
9 h% x! _3 M8 c  •在将设计划分为多个器件时,减少器件间I/O的使用。' n) m; K( W( O  S# ]

. `1 b1 d2 i0 N  eX器件LP方式引脚的使用
7 a# w' W4 D  u* F/ y$ t4 a/ ?$ B# a- H; C3 _/ Y
  Actel eX系列设计了特殊的低功率“休眠”模式。在该引脚驱动至高电平800ns后,器件进入极低功率待机模式,待机电流小于100μA。在低功率模式下,所有I/O(除时钟输入外)都处于三态,而内核全部断电。由于内核被断电,触发器中存储的信息会丢失,在进入工作模式(在引脚驱动至低平200ms后)时,用户需再次对器件初始化。同样,用户也应关闭所有通过CLKA、CLKB以及HCLK输入的时钟。然而这些时钟并不处于三态,时钟就可进入器件,从而增加功耗,因此在低功率模式下,时钟输入必须处于逻辑0或逻辑1。/ y# k8 [$ l& E6 B% P; [3 z

$ a6 V1 H/ a9 A& g: B  有时用户很难阻止时钟进入器件。在此场合,用户可使用与CLKA或CLKA相邻的正常输入引脚并在设计中加进CLKINT。这样,时钟将通过靠近时钟引脚的正常输入进入器件,再通过CLKINT向器件提供时钟资源。* U5 ~8 @4 {* S& e- N" r6 ~6 L
: c3 C/ y- t; m
  采用这种输入电路后,由于常规I/O是三态的,因此用户不必担心时钟进入器件。当然,增加一级门电路会产生0.6ns的较大时钟延时,幸好这在多数低功率设计中是可以接受的。注意应将与CLKINT缓冲器相关的CLKA或CLKB引脚接地。
. `: h* X4 J6 K9 H9 u3 f* Q* w6 G. h% o1 E' o
  此外还要注意,CLKINT只可用作连线时钟,HCLK并不具备将内部走线网连接到HCLK的能力,因而HCLK资源不能被常规输入驱动。换句话说,如果使用LP引脚就不能使用HCLK;使用HCLK时就应在外部截断时钟信号。
5 J" z/ g- ]# C, {" m$ y5 i# O4 z& U5 o7 l: S, t1 l3 U
  降低动态功耗
8 d9 p9 X$ v0 B4 ]7 i: C% {1 K7 x) ^. m+ r# Z- M7 B- d5 R
  动态功耗是在时钟工作且输入正在开关时的功耗。对CMOS电路,动态功耗基本上确定了总功耗。动态功耗包括几个成分,主要是电容负载充电与放电(内部与I/O)以及短路电流。多数动态功率是内部或外部电容向器件充、放电消耗的。如果器件驱动多个I/O负载,大量的动态电流构成总功耗的主要部分。8 X$ s8 O$ f9 @1 e' ?* D5 T3 |

* V$ K! T7 ^; V( C+ n. E  对设计中给定的驱动器,动态功耗由下式计算
2 B: w; W- F- K& k2 @
3 j) |7 I& D) g" F! q- D9 n& k  p=CL×V 2 DD×f# A9 s+ f* X/ ^1 F: v
; M, W6 t: a* U# p9 K! m( L/ }1 G
  式中,CL是电容负载,VDD是电源电压,f则是开关频率。总功耗是每个驱动器功耗之总和。6 z9 Z& _. ?: l

! S! l; F5 T8 d& |/ u+ C' A5 b5 U# Q% T  由于VDD是固定的,降低内部功耗就要降低平均逻辑开关频率,减少每个时钟沿处的逻辑开关总数、减少连线网络,特别是高频信号连线网络中的电容值。对低功率设计,需要从系统至工艺的每个设计级别中采取相应预防措施,级别越高,效果越好。 ) `; o, U& C1 E  W  R$ N7 T

& F+ c8 A7 u6 _1 D6 w, J/ q4 tFPGA与CPLD的辨别和分类  FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:& ?: s+ {" h$ P( U
+ P3 e5 j& f$ \+ w
  将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
. a* C& s6 F( t+ D; t9 P3 R- M
/ D) M( r7 C- M% G/ R4 A  将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。2 E9 F- G) M% e4 J5 @+ o5 I3 L3 [! a8 M

6 D+ H1 \# n3 o0 z(注转于网)

评分

参与人数 1贡献 +2 收起 理由
oxygen + 2 热心解答

查看全部评分

***********昨天已是历史 明天还很神密**********

9

主题

104

帖子

218

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
218
94#
发表于 2009-1-7 18:49 | 只看该作者
凡是电子行业都可以用FPGA.通信设备,工业控制类.能有时序的地方,就可以用到!!

0

主题

23

帖子

-1万

积分

未知游客(0)

积分
-11969
95#
发表于 2009-1-12 11:15 | 只看该作者
11111

1

主题

59

帖子

-9834

积分

未知游客(0)

积分
-9834
96#
发表于 2009-1-20 08:56 | 只看该作者
5# zzly . e- x/ q4 i% s2 @! E5 K! |2 J( v
机顶盒用FPGA是不是奢侈了些

1

主题

59

帖子

-9834

积分

未知游客(0)

积分
-9834
97#
发表于 2009-1-20 08:57 | 只看该作者
是搞通信的 现在我做的交换机、基站、机顶盒等项目里都用到了FPGA
  T9 n3 W: ~, r. M) L7 q- V小鹿笨笨 发表于 2008-11-25 22:46
机顶盒用FPGA是不是奢侈了些

0

主题

17

帖子

-8937

积分

未知游客(0)

积分
-8937
98#
发表于 2009-2-6 16:51 | 只看该作者
只要你想到的,它就能做到;

31

主题

365

帖子

2997

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2997
99#
发表于 2009-2-8 11:45 | 只看该作者
大家说的挺积极
怎么不找别的驴?

23

主题

156

帖子

663

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
663
100#
发表于 2009-2-10 20:04 | 只看该作者
恒等式噶方法机 觉得撒发哈艰苦哈艰苦法

5

主题

68

帖子

921

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
921
101#
发表于 2009-2-11 11:15 | 只看该作者
Fpga,数字领域几乎无所不能了,做芯片的离不开它,现在高端方案都是用它。  h$ x8 c+ H! K  n1 F  R
! P3 X  B8 C, l0 t% g
比如,大数据采集器,lte的好多东西,都是用fpga来做。灵活,方便。
5 @5 Y. C$ h# q/ y* W7 j4 ?% @! G' B
一个Fpga套板,可以用做芯片前端的逻辑测试,也可以写些逻辑进去,变成一个新的产品。比如说网络协议分析仪什么的都是Fpga啊。

2

主题

24

帖子

122

积分

二级会员(20)

Rank: 2Rank: 2

积分
122
102#
发表于 2009-2-11 17:01 | 只看该作者
好像这里没几位做过FPGA,不知道为什么要用FPGA。

2

主题

24

帖子

122

积分

二级会员(20)

Rank: 2Rank: 2

积分
122
103#
发表于 2009-2-11 17:03 | 只看该作者
FPGA特点:灵活,但价格贵。要做MP3也可以,但是贵很多,体积也很大。只是方案验证有用。美国飞火星用FPGA就很正常了,世界上不会有哪家公司针对火星卫星生产一批集成电路,因为没有几个人用。所以用FPGA来代替。

0

主题

8

帖子

-1万

积分

未知游客(0)

积分
-11999
104#
发表于 2009-2-12 17:07 | 只看该作者
FPGA做多路并行运算比较好,现在的电子产品要求考虑性价比,成本压的很低,民用产品上用的就很少了,还是军事上用的多些

2

主题

6

帖子

-8948

积分

未知游客(0)

积分
-8948
105#
发表于 2009-2-13 09:32 | 只看该作者
高门数的FPGA现在越来越便宜了,功耗和电磁辐射也越来越低,几年前还需要几千元一颗芯片的现在只要100元或更低的价格,因此可以应用的领域是越来越多了。预计今后搞数字电路的如果不懂得FPGA设计技术的,将像是失去了左右手一样痛苦。FPGA可以让你的很多想法在很短的时间内变为现实。让你可以自己自由编写你想要的专用硬件控制电路、专用算法硬件电路、专用的微处理器,而你不必等到其它公司来开发。FPGA几乎让你在数字电路里无所不能。这是我几年工作的领悟。

评分

参与人数 1贡献 +2 收起 理由
oxygen + 2 大家都需要这些积极的观点。。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-9 00:29 , Processed in 0.064039 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表