TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 M- K7 n6 b5 o1 u
% x/ A& R' z$ q' q& \
很多人对于cpld下JTAG的下载很熟悉了,可转到FPGA来的时候,多多少少有些迷惑,怎么 出现配置芯片了,为什么要用不同的下载电缆,不同的下载模式?我就自己知道的一点东西谈一些个人的见解,并发一些资料.有问题大家也一起讨论,欢迎拍砖.
0 g! _: B$ ]( @% Z# c6 U1.FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用 的(JTAG)配置方式。
|; ?& x& T1 a3 zAS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPC S1,EPCS4配置器件专供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件来
4 W2 M/ I6 h f `) C: J$ M: Q) o; }完成。Cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过DATA0引脚送入 FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。PS则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。
9 ?% p- h3 \0 }" VJTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。 FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。4 \% Y! Z$ B3 q. L3 _
专用配置器件:epc型号的存储器/ |" \ R5 D6 h1 s( [* ]
常用配置器件:epc2,epc1,epc4,epc8,epc1441(现在好象已经被逐步淘汰了)等
7 N1 w7 _7 t" z# }对于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三种.
; d' Y( W& j2 E" ?. b4 |2 对FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通过一条下载线进行烧写的话,那么开始的'nCONFIG,nSTATUS'应该上拉,要是考虑多种配置模式,可7 @4 ~& h/ g/ q1 z/ ?9 @) W3 _
以采用跳线设计。让配置方式在跳线中切换,上拉电阻的阻值可以采用10K
0 r3 x4 b" R) Y5 y3,在PS模式下tip:如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号.(祥见下图).一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序.只有在调试完成以后,才把程序烧在配置芯片中, 然后将芯片焊上.或者配置芯片就是可以方便取下焊上的那种.这样出了问题还可以方便地调试.9 z1 h+ Z* M! I( v# s" K
在AS模式下tip: 用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔离。& C% u9 S9 G( F
4,一般是用jtag配置epc2和flex10k,然后 epc2用ps方式配置flex10k.这样用比较好.(这是我在网上看到的,可以这样用吗?怀疑中)望达人告知.4 n4 w7 s1 A$ V4 @4 p$ j3 U
5,下载电缆,Altera下的下载电缆分为byteblaster和byteblasterMV,以及ByteBlaster II,现在还推出了基于USB-blaster.由于BB基本已经很少有人使用,而USB-Blaster现在又过于昂贵,这里就说一下BBII和 BBMV的区别.
8 D0 ?% l7 S4 Y% \. `0 XBBII支持多电压供电5.5v,3.3v,2.5v,1.8v;
( `! S& p, x$ |! |5 B4 EBBII支持三种下载模式:AS,可对Altera的As串行配置芯片(EPCS系列)进行编程 PS,可对FPGA进行配置 JTAG,可对FPGA,CPLD,即Altera配置芯片(EPC系列)编程 而BBMV只支持PS和JTAG7 S; P' z. D4 T1 F# E
6,一般在做FPGA实验板,(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus自带的工具生成JTAG模式下可以利用的jic文件来验证配置芯片是否已经损坏,方法祥见附件(这是骏龙的人写的,. O0 U4 o2 E5 {$ F. [
摘自咱们的坛子,如有版权问题,包涵包涵).
6 S3 q) Z% f) C% N* I5 B! ]7.Altera的FPGA可以通过单片机,CPLD等加以配置,主要原理是满足datasheet中的时序即可,这里我就不多说了,有兴趣的朋友可以看看下面几篇文章,应该就能够明白是怎么回事了.
! b5 _ V! [4 Q6 t7 q3 A8.配置时,quartus软件操作部分:
6 a' ]0 n& w B3 ]9 Z5 b(1).assignment-->device-->device&pin options-->选择configuration scheme,configuaration mode,configuration device,注意在不支持远程和本地更新的机器中configuration mode不可选择,而configuration device中会根据不同的配置芯片产生pof文件, 如果选择自动,会选择最小密度的器件和适合设计
t4 e: i) C# `4 k1 e(2).可以定义双口引脚在配置完毕后的作用,在刚才的device&pin option-->dual-purpose pins-->,可以在配置完毕后继续当I/O口使用
O3 V! s$ b/ Q9 x9 [(3).在general菜单下也有很多可钩选项,默认情况下一般不做改动,具体用法参见alter a configuration handbook,volume2,sectionII.
2 U e0 X. ]9 @7 U2 U) ?* X0 X, |" y(4)关于不同后缀名的文件的适用范围: sof(SRAM Object File)当直接用PS模式下将配置数据下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV适用,quartusII会自
% G2 Q+ C, l3 V7 V$ A4 y动生成,所有其他的配置文件都是由sof生成的. pof(Programmer Object File)也是由quartusII自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中rbf(Raw Binary File)用于微处理器的二进制文件.在PS,FPP,PPS,PPA配置下有用处rpd(Raw Programing Data File)包含bitstream的二进制文件,可用AS模式配置,只能由pof文件生成hex(hexadecimal file)这个就不多说了,单片机里很多ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS配置方式sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的jam(Jam File)专门用于program,verigy,blank-check
7 t5 X2 g: s. p' |/ ?; p这几天查看了altera的FPGA下载配置的资料,现将学习心得总结如下:- p- Q- X: t' O: L& O1 b
1、根据FPGA在配置电路中的角色,配置数据可以使用3种方式载入到目标器件中:
/ s: U& N5 Z) W(1) FPGA主动方式:由FPGA来主动输出控制和同步信号给FPGA的串行配置芯片(EPCS系列),配置芯片收到命令后,把配置数据发给FPGA,完成配置过程;在AS模式下,FPGA必须与AS串行配置芯片配合使用,它与FPGA的接口为四跟信号线,分别为:串行时钟输入(DCLK),AS控制信号输入 (ASDI),片选信号(nCS),串行数据输出(DATA)。/ t* E/ n! w2 p U5 A% U
(2) FPGA被动方式:被动模式下,由系统的其他设备发起并控制配置过程,这些设备可以是配置芯片(EPC系列),或者单板的微处理器、CPLD等。 FPGA在配置过程中完全处于被动地位,只是输出一些状态信号来配合配置过程;在PS模式下,需要配置时钟(DCLK),配置数据(DATA0),配置命令(nCONFIG),状态信号(nSTATUS),配置完成指示(CONF_DONE)这四个信号来完成配置过程。" A* h2 P4 s" u. r# Q+ ]# n% H
(3) JTAG模式:使用JTAG进行配置可以使用Altera的下载电缆,或者通过智能主机模拟JTAG的时序来进行配置;JTAG接口由四个必须的信号TDI、TDO、TMS和TCK,以及一个可选的TRST构成。1 ?) R$ d! g) I. S5 T/ Y4 x& M
2、若使用ByteBlasterII下载电缆,支持的配置方式有以下3种:
' ^ V; b2 F) Y: f' fAS方式:对AS配置芯片(ECPS系列)进行编程;
! l) h G. R8 aPS方式:可以对FPGA进行配置;' W# r f4 E. |
JTAG方式:可以对FPGA、CPLD以及Altera配置芯片(EPC系列)编程。
7 b! x( _4 U0 x7 l: \" A3、AS及PS模式下的注意事项* w& ?9 w& M' b* [) @( i. D
PS 模式:如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序.只有在调试完成以后,才把程序烧在配置芯片中,然后将芯片焊上.或者配置芯片就是可以方便取下焊上的那种.这样出了问题还可以方便地调试.
1 {! b7 \$ ]( I' {& r' w; S7 O" xAS模式下: 用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔离。6 O! U6 J6 V, ~6 [8 p- O( |( n# X; b
4、一般在做FPGA实验板,(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus自带的工具生成JTAG模式下可以利用的jic文件来验证配置芯片是否已经损坏。 | 7 D! }$ ?3 V' v6 }( N
|
|