FPGA配置芯片的网上汇总较杂需自己总结Word文件下载.docx
《FPGA配置芯片的网上汇总较杂需自己总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《FPGA配置芯片的网上汇总较杂需自己总结Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
![FPGA配置芯片的网上汇总较杂需自己总结Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/30/aaa1da21-4637-4c8d-b475-d6205f695a69/aaa1da21-4637-4c8d-b475-d6205f695a691.gif)
除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。
当然所外挂的电路也和PS有一些区别。
还有处理器配置比如JRUNNER等等,如果需要再baidu吧,至少不下十种。
比如Altera公司的配置方式主要有PassiveSerial(PS),ActiveSerial(AS),FastPassiveParallel(FPP),PassiveParallelSynchronous(PPS),PassiveParallelAsynchronous(PPA),PassiveSerialAsynchronous(PSA),JTAG等七种配置方式,其中Cyclone支持的配置方式有PS,AS,JTAG三种.
对FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通过一条下载线进行烧写的话,那么开始的"
nCONFIG,nSTATUS"
应该上拉,要是考虑多种配置模式,可以采用跳线设计。
让配置方式在跳线中切换,上拉电阻的阻值可以采用10K
在PS模式下tip:
如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号.(祥见下图).一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序.只有在调试完成以后,才把程序烧在配置芯片中,然后将芯片焊上.或者配置芯片就是可以方便取下焊上的那种.这样出了问题还可以方便地调试.
在AS模式下tip:
用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔离。
一般是用jtag配置epc2和flex10k,然后epc2用ps方式配置flex10k.这样用比较好.(这是我在网上看到的,可以这样用吗?
怀疑中)望达人告知.
下载电缆,Altera下的下载电缆分为byteblaster和byteblasterMV,以及ByteBlasterII,现在还推出了基于USB-blaster.由于BB基本已经很少有人使用,而USB-Blaster现在又过于昂贵,这里就说一下BBII和BBMV的区别.
BBII支持多电压供电5.5v,3.3v,2.5v,1.8v;
BBII支持三种下载模式:
AS,可对Altera的As串行配置芯片(EPCS系列)进行编程
PS,可对FPGA进行配置
JTAG,可对FPGA,CPLD,即Altera配置芯片(EPC系列)编程而BBMV只支持PS和JTAG
6,一般在做FPGA实验板,(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus自带的工具生成JTAG模式下可以利用jic文件来验证配置芯片是否已经损坏,方法祥见附件.
7.Altera的FPGA可以通过单片机,CPLD等加以配置,主要原理是满足datasheet中的时序即可,这里我就不多说了,有兴趣的朋友可以看看下面几篇文章,应该就能够明白是怎么回事了.
8.配置时,quartus软件操作部分:
(1).assignment-->
device-->
device&
pinoptions-->
选择configurationscheme,configuarationmode,configurationdevice,注
意在不支持远程和本地更新的机器中configurationmode不可选择,而configurationdevice中会根据不同的配置芯片产生pof文件,
如果选择自动,会选择最小密度的器件和适合设计
(2).可以定义双口引脚在配置完毕后的作用,在刚才的device&
pinoption-->
dual-purposepins-->
可以在配置完毕后继续当I/O口使用
(3).在general菜单下也有很多可钩选项,默认情况下一般不做改动,具体用法参见alteraconfigurationhandbook,volume2,sectionII.
(4)关于不同后缀名的文件的适用范围:
sof(SRAMObjectFile)当直接用PS模式下将配置数据下到FPGA里用到,USBBLASTER,MASTERBLASER,BBII,BBMV适用,quartusII会自动生成,所有其他的配置文件都是由sof生成的.
pof(ProgrammerObjectFile)也是由quartusII自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中
rbf(RawBinaryFile)用于微处理器的二进制文件.在PS,FPP,PPS,PPA配置下有用处
rpd(RawProgramingDataFile)包含bitstream的二进制文件,可用AS模式配置,只能由pof文件生成
hex(hexadecimalfile)这个就不多说了,单片机里很多
ttf(TabularTextFile)适用于FPP,PPS,PPA,和bit-widePS配置方式
sbf(SerialBitstreamFile)用PS模式配置Flex10k和Flex6000的
jam(JamFile)专门用于program,verigy,blank-check
FPGA配置方式和配置器件介绍
配置,就是对FPGA的内容进行编程的一个过程。
在一般的应用中,都是选择用Altera的配置芯片配合完成配置过程。
在Altera的产品中,可以根据FPGA在整个配置过程的角色,可以分为3类:
FPGA主动方式(AS);
FPGA被动方式(PS);
JTAG方式。
在FPGA主动方式下(以下简称AS),由板上的FPGA主动输出输出控制和同步信号给Altera专用的一种串行配置芯片(如EPCS1等),在配置芯片收到命令后,就把配置芯片数据发到FPGA,完成配置过程。
注意:
该方式只能与Altera提供的主动串行配置芯片配合使用(即EPCS系列),该配置方式只有在StratixII系列和Cyclone系列(包括I,II,III代)中使用。
在FPGA被动方式下,由系统的其他设备发起并控制配置过程。
这些设备包括Altera的配置芯片(EPC系列),或者是微控制器(如单片机),CPLD等。
FPGA完全处于被动地位,只是简单的输出一些状态信号配合配置过程。
在FPGA被动方式中,包括被动串行(PS),快速被动并行(FPP),被动并行同步(PPS),被动并行异步(PPA)等。
我们主要介绍一下最常用的,具有代表性的PS模式。
PS模式是所有AlteraFPGA都支持的,一般最常见的是用Altera的配置芯片EPC系列来完成配置过程。
在做PS配置时,FPGA配置数据从存储器(一般是EPC系列)里读出,在时钟的上升沿到来时降数据打入FPGA。
JTAG是IEEE1149.1边界扫描测试的标准接口,主要用于芯片的测试等功能。
AlteraFPGA基本上都支持由JTAG命令来配置FPGA的方式,而且JTAG的配置方式比其他任何一种配置方式都高级。
不同的AlteraFPGA系列所支持的配置方式:
下面介绍下配置芯片:
Altera的配置芯片可以分为以下三种:
1.
增强型配置器件:
EPC16,EPC8,EPC4
2.
AS串行配置器件:
EPCS64,EPCS16,EPCS4和EPCS1
3.
普通配置器件:
EPC2,EPC1和EPC1441
如下是各个配置芯片的属性:
增强型配置器件可以支持对大容量FPGA单元的配置,可以由JTAG接口进行在线系统编程(ISP)
普通配置器件容量较小,其中只有EPC2具有可重复编程的特点。
AS配置芯片是专为为StratixII,Cyclone系列(包括I,II,III代)设计的单片、低成本的配置芯片,可以由下载电缆进行可重复编程。
漫谈xilinxFPGA配置电路
这里要谈的时xilinx的spartan-3系列FPGA的配置电路。
当然了,其它系列的FPGA配置电路都是大同小异的,读者可以类推,重点参考官方提供的datasheet,毕竟那才是最权威的资料。
这里特权同学只是结合自己的理解,用通俗的语言作一点描述。
所谓典型,这里要列出一个市面上最常见的spartan-3的xc3s400的配置电路。
所有spartan-3的FPGA配置电路的链接方式都是一样的。
Xc3s400是40万门FPGA,它的Configuration
Bitstream虽然只有1.699136Mbit,但是它还是需要2Mbit的配置芯片XCF02S,不能想当然的以为我的设计简单,最多用到1Mbit,那么我选XCF01S(1Mbit)就可以了。
事实并非如此,即使你只是用xc3s400做一个流水灯的设计,那么你下载到ROM(XCF02S)里的数据也是1.699136Mbit的,所以对于FPGA的配置ROM的选择宜大不宜小。
配置电路无非有下面五种:
主串,从串,主并,从并,JTAG。
前四种是相对于下载到PROM而言的(串并是相对于不同配置芯片是串口和时并口协议和FPGA通讯区分的),只有JTAG是相对于调试是将配置下载到FPGA的RAM而言的(掉电后丢失)。
FPGA和CPLD相比,CPLD是基于ROM型的,就是在数据下载到CPLD上,掉电后不丢失。
而FPGA则是基于RAM的,如果没有外部ROM存储配置数据,那么掉电后就丢失数据。
所以FPGA都需要外接有配置芯片(当然现在也有基于FLASH的FPGA出现)。
那么我们就来看一下主串模式下FPGA的配置电路的连接。
官方的硬件连接如下:
点击看原图
为了增加配置电路的可靠性,通常我们我们增加一些抗干扰的设计(如增加滤波电容、匹配电阻):
先看PROM芯片的各个管脚吧。
18,19,20脚就不谈了,根据datasheet给供相对应的电平;
3脚CLK是接了FPGA的CCLK,数据通信的同步就是通过FPGA的CCLK产生的时钟进行的;
因为使用的芯片时串行的配置芯片,所以只有一个数据信号口DO,连接到FPGA的DIN口(上图没有画出),和上面的时钟信号协同工作完成串行数据传输,每当CLK的上升沿锁存数据,同时PROM内部的地址计数器自动增加;
另外还有两条控制信号线时INIT(连接PROM的OE/RESET)和DONE(连接PROM的CE),OE/RESET是为了确保每次重新配置前PROM的地址计数器复位;
关于CE脚,官方资料说得也不是很详细,以我个人的理解,CE应该是chipenable的缩写,从它和FPGA的DONE脚连接我们不难推断出,FPGA未配置完成时DONE=0,那么配置芯片PROM处于片选状态,而一旦配置完成DONE=1,那么PROM就不再被选通,同时datasheet也说到这个管脚可以直接接地,就是一直片选中,但是这样会使DATA口有持续的数据信号输出,同时导致不必要的电流消耗;
CEO脚这里不接,因为它在多个PROM的配置电路中时作为下一个PROM的OE端信号连接用的;
CF信号时连接FPAG的PROG_B接口的,它的作用就是产生开始配置信号,它连接了一个上拉电阻,如果PROG_B产生低电平脉冲则PROM会重新开始一次配置,所以我们会在这条线上接一个按键到地,如果按键按下那么就会使能PROM重新配置FPGA;
还有几个信号接口TDI,TCK,TMS,TDO都是PROM和PC连接的信号,PC通过这些电路(通常接一片驱动隔离芯片后通过并口通信,这里不重点介绍了)下载数据到PROM中。
上面谈及PROM的信号接口时都附带的谈到了FPGA的配置管脚。
这里再做一些归纳性的说明。
FPGA有7个专用的配置管脚(CCLK,DIN,PROG_B,DONE,HS),4个专用的JTAG管脚(TDI,TCK,TMS,TDO),这些管脚是由VCCAUX专门供电的(该系列FPGA通常接VCCAUX=2.5V)。
FPGA的M0,M1,M2脚是进行配置模式选择用的,该电路主串模式下{M0,M1,M2}=000,如果时JTAG下载模式{M0,M1,M2}=101。
上面没有提及的HS管脚接地,则是用于设置当FPAG处于配置状态下其它闲置管脚为上拉状态,而如果该管脚接高电平,则FPAG处于配置状态下其它闲置管脚浮空。
所以为了减少FPGA配置过程的干扰,一般把此脚接地。
XilinxFPGA电路配置
FPGA配置电路可以看成用户设计和硬件电路之间的连接纽带,最终目的是在一定外部条件下,准确快速地实现FPGA系统配置。
在FPGA的配置系统中,软件编程由FPGA提供商提供,设计人员要掌握其操作方法,
将配置数据从PC加载到XilinxFPGA芯片的整个配置过程,可分为以下步骤:
初始化;
清空配置存储器;
加载配置数据;
CRC错误检查,START-UP
FPGA配置方式灵活多样,根据芯片是否能够自己主动加载配置数据分为主模式、从模式以及JTAG模式。
典型的主模式都是加载片外非易失(
断电不丢数据)
性存储器中的配置比特流,配置所需的时钟信号(
称为CCLK)
由FPGA内部产生,且FPGA控制整个配置过程。
从模式需要外部的主智能终端(
如处理器、微控制器或者DSP等)
将数据下载到FPGA中,其最大的优点就是FPGA
的配置数据可以放在系统的任何存储部位,包括:
Flash、硬盘、网络,甚至在其余处理器的运行代码中。
JTAG
模式为调试模式,可将PC
中的比特文件流下载到FPGA中,断电即丢失。
此外,目前赛灵思还有基于Internet
的、成熟的可重构逻辑技术SystemACE解决方案。
(1)
主模式
在主模式下,FPGA上电后,自动将配置数据从相应的外存储器读入到SRAM中,实现内部结构映射;
主模式根据比特流的位宽又可以分为:
串行模式(
单比特流)
和并行模式(
字节宽度比特流)
两大类。
如:
主串行模式、主SPIFlash
串行模式、内部主SPIFlash串行模式、主BPI
并行模式以及主并行模式,如图5-19所示。
(2)
从模式
在从模式下,FPGA
作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。
从模式也根据比特流的位宽不同分为串、并模式两类,具体包括:
从串行模式、JTAG模式和从并行模式三大类,其概要说明如图5-20所示。
(3)JTAG模式
在JTAG模式中,PC和FPGA通信的时钟为JTAG接口的TCLK,数据直接从TDI进入FPGA,完成相应功能的配置。
目前,主流的FPGA芯片都支持各类常用的主、从配置模式以及JTAG,以减少配置电路失配性对整体系统的影响。
在主配置模式中,FPGA自己产生时钟,并从外部存储器中加载配置数据,其位宽可以为单比特或者字节;
在从模式中,外部的处理器通过同步串行接口,按照比特或字节宽度将配置数据送入FPGA芯片。
此外,多片FPGA可以通过JTAG菊花链的形式共享同一块外部存储器,同样一片/
多片FPGA也可以从多片外部存储器中读取配置数据以及用户自定义数据。
XilinxFPGA的常用配置模式有5
类:
主串模式、从串模式、SelectMAP模式、Desktop配置和直接SPI配置。
在从串配置中,FPGA接收来自于外部PROM或其它器件的配置比特数据,在FPGA产生的时钟CCLK的作用下完成配置,多个FPGA可以形成菊花链,从同一配置源中获取数据。
SelectMAP模式中配置数据是并行的,是速度最快的配置模式。
SPI配置主要在具有SPI接口的FLASH电路中使用。
下面以Spartan-3E系列芯片为例,给出各种模式的配置电路。
主串模式——最常用的FPGA配置模式
1.配置单片FPGA
在主串模式下,由FPGA的CCLK管脚给PROM提供工作时钟,相应的PROM在CCLK的上升沿将数据从D0管脚送到FPGA的DIN管脚。
无论PROM芯片类型(
即使其支持并行配置),都只利用其串行配置功能。
Spartan3E系列FPGA的单片主串配置电路如图5-21所示。
主串模式是赛灵思公司各种配置方式中最简单,也最常用的方式,基本所有的可编程芯片都支持主串模式。
2.配置电路的关键点
主串配置电路最关键的3点就是JTAG链的完整性、电源电压的设置以及CCLK信号的考虑。
只要这3步任何一个环节出现问题,都不能正确配置PROM芯片。
(1)JTAG链的完整性
FPGA和PROM芯片都有自身的JTAG接口电路,所谓的JTAG链完整性指的是将JTAG连接器、FPGA、PROM的TMS、TCK连在一起,保证从JTAG连接器TDI到其TDO之间,形成JTAG连接器的“TDI→(TDI~TDO)→(TDI~TDO)→JTAG连接器TDO”的闭合回路,其中(TDI~TDO)为FPGA或者PROM芯片自身的一对输入、输出管脚。
图5-12中配置电路的JTAG链从连接器的TDI到FPGA的TDI,再从FPGA的TDO到PROM的TDI,最后从PROM的TDO到连接器的TDO,形成了完整的JTAG链,FPGA芯片被称为链首芯片。
也可以根据需要调换FPGA和PROM的位置,使PROM成为链首芯片。
电源适配性
如图5-22所示,由于FPGA和PROM要完成数据通信,二者的接口电平必须一致,即FPGA相应分组的管脚电压Vcco_2必须和PROMVcco的输入电压大小一致,且理想值为2.5V,这是由于FPGA的PROG_B和DONE管脚由2.5V的Vccaux供电。
此外,由于JTAG连接器的电压也由2.5V的Vccaux提供,因此PROM的VCCJ也必须为2.5V。
因此,如果接口电压和参考电压不同,在配置阶段需要将相应分组的管脚电压和参考电压设置为一致;
在配置完成后,再将其切换到用户所需的工作电压。
当然,FPGA和PROM也可以自适应3.3V的I/O电平以及JTAG电平,但需要进行一定的改动,即添加几个外部限流电阻,如图5-22所示。
在主串模式下,XCFxxS系列PROM的核电压必须为3.3V,XCFxxP系列PROM的核电压必须为1.8V。
RSER、RPAR这两个电阻要特别注意。
首先,RSER=68Ω将流入每个输入的电流限制到9.5mA
;
其次,N=3三个输入的二极管导通,
RPAR=VCCAUXmin/NIIN=2.375V/(3*9.5mA)
=83Ω或82Ω(
与标准值误差小于5%的电阻
)
(3)CCLK的信号完整性
CCLK信号是JTAG配置数据传输的时钟信号,其信号完整性非常关键。
FPGA
配置电路刚开始以最低时钟工作,如果没有特别指定,将逐渐提高频率。
CCLK信号是由FPGA内部产生的,对于不同的芯片和电平,其最大值如表F-1所示。
3.配置多片FPGA
多片FPGA的配置电路和单片的类似,但是多片FPGA之间有主(Master)、从(Slave)
之分,且需要选择不同的配置模式。
两片Spartan3E系列FPGA的典型配置电路如图5-23所示,两片FPGA存在主、从地位之分。