% J; E$ F& M/ R) { R8 L6 u
9 h1 P. F" @- z( N5 J \& X- v2 x+ l1 _& d/ v
FPGA的三种配置方式
2 @2 \7 y. K8 _3 ?$ D4 e8 w5 w0 @8 `! w" p2 k" {
( O# R7 W3 J8 ?& F0 o# `% L
2 w# _8 S: h! ~( g8 S 本篇主要说一下FPGA的配置方式,让我们来了解一下除了JTAG,还有其他哪几种方式。FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式。AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列:如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件来完成。Cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过DATA0引脚送入 FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。
) w3 }5 ^+ T6 S0 [/ h" e% w1 {3 n9 O- I9 Z/ B2 F3 j0 L0 c( P+ e
9 q1 @0 U. Y! S9 ?- _9 q4 G/ | PS则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。
) j+ v6 O0 d8 g; W7 n
3 B2 b3 n9 r. O9 D& l7 g, g; F
JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。
% H; ? z' [) r* a$ q; B @+ k$ M! ]9 ?# P, s
R5 n8 _5 X+ q' o专用配置器件:epc型号的存储器 常用配置器件:epc2,epc1,epc4,epc8,epc1441(现在已经被逐步淘汰了)等。对于cyclone cycloneII系列器件,Altera 还提供了针对AS方式的配置器件,EPCS系列:如EPCS1,EPCS4配置器件也是串行配置的注意,他们只适用于cyclone系列。除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。当然所外挂的电路也和PS有一些区别。还有处理器配置比如JRUNNER 等等,如果需要再baidu吧,至少不下十种。比如 Altera 公司的配置方式主要有Passive Serial(PS)、Active Serial(AS)、Fast Passive Parallel(FPP)、Passive Parallel Synchronous(PPS)、Passive Parallel Asynchronous(PPA)、Passive Serial Asynchronous(PSA)、JTAG等七种配置方式,其中Cyclone支持的配置方式有PS、AS、JTAG三种。
4 u8 t% Y/ S5 uBBII支持多电压供电5.5v,3.3v,2.5v,1.8v;BBII支持三种下载模式:AS,可对 Altera的As串行配置芯片(EPCS系列)进行编程,可对FPGA进行配置;JTAG,可对FPGA,
cpld,即Altera配置芯片(EPC系列)编程;而BBMV只支持PS和JTAG。
3 i$ a+ g2 i2 |% k. o% Q
Altera的FPGA可以通过
单片机、CPLD等加以配置,主要原理是满足datasheet中的时序即可,这里我就不多说了,有兴趣的朋友可以自己研究一下。
6 [+ y! I/ h' B
(1).assignment-->device-->device&pin options-->选择configuration scheme,configuaration mode,configuration device,注意在不支持远程和本地更新的机器中configuration mode不可选择,而configuration device中会根据不同的配置芯片产生pof文件,如果选择自动,会选择最小密度的器件和适合设计
% c8 M+ G: j0 k, ~! w- H
(3).在general菜单下也有很多可钩选项,默认情况下一般不做改动。
. |" D4 @* p# }+ H& f sof(SRAM Object File)当直接用PS模式下将配置数据下到FPGA里,USB BLASTER、MASTERBLASER、BBII、BBMV适用,quartusII会自动生成,所有其他的配置文件都是由sof生成的。
5 D5 C; c7 O/ I v b6 w- f sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的 jam(Jam File)专门用于program,verigy,blank-check 。
) X+ k+ R3 m" m* ?! P; g
/ A) l: ^# j$ Q7 [
对FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通过一条下载线进行烧写的话,那么开始的"nCONFIG,nSTATUS"应该上拉,要是考虑多种配置模式,可以采用跳线设计,让配置方式在跳线中切换,上拉电阻的阻值可以采用10K。
8 y( s! u, m8 x# B0 v: w0 }% P
2 ?8 s8 \7 U7 s4 S" n+ o/ u0 r% M* F; U7 X$ C
在PS模式下tip:如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号。一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序。只有在调试完成以后,才把程序烧在配置芯片中, 然后将芯片焊上,或者配置芯片就是可以方便取下焊上的那种。这样出了问题还可以方便地调试。
`' ^( x( E/ V! M( Y/ _6 Y2 v9 S+ ? `- [* L
" r) x# S' E( H# c: t4 E l
8 z$ I) y$ F, e
在AS模式下tip:用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔