现在,大多数FPGA芯片是依据 SRAM 的结构的, 而 SRAM 单元中的数据掉电就会丢掉,因而体系上电后,有必要要由装备电路将正确的装备数据加载到 SRAM 中,尔后 FPGA 才能够正常的运转。
常见的装备芯片有EPCS 芯片 (EPCS4、EPCS8、EPCS16、EPCS64、EPCS128),还有通用的串行 SPI FLASH 芯片如 M25P40、 M25P16、 W25Q16 等。
装备(configuration)是对FPGA的内容进行编程的进程。每次上电后都需求进行装备是依据SRAM工艺FPGA的一个特色,也能够说是一个缺陷。FPGA装备进程如下:
FPGA装备方法
依据FPGA在装备电路中的人物,能够将装备方法分为三类:
1.FPGA主动串行(AS)方法
2. JTAG方法
3. FPGA被迫(Passive)方法
FPGA装备进程
FPGA的装备包含3各阶段:复位、装备和初始化。
FPGA正常上电后,当其nCONFIG管脚被拉低时,器材处于复位状况,这时一切的装备RAM内容被清空,而且一切I/O处于高阻态,FPGA的状况管脚nSTATUS和CONFIG_DONE管脚也将输出为低。当FPGA的nCONFIG管脚上呈现一个从低到高的跳变今后,装备就开端了,一起芯片还会去采样装备形式(MSEL)管脚的信号状况,决议承受何种装备形式。
随之,芯片将开释漏极开路(open-drain)输出的nSTATUS管脚,使其由片外的上拉电阻拉高,这样,就表明FPGA能够接纳装备数据了。在装备之前和装备进程中,FPGA的用户I/O均处于高阻态。
在接纳装备数据的进程中,装备数据由DATA管脚送入,而装备时钟信号由DCLK管脚送入,装备数据在DCLK的上升沿被锁存到FPGA中,当装备数据被悉数载入到FPGA中今后,FPGA上的CONF_DONE信号就会被开释,而漏极开路输出的CONF_DONE信号相同将由外部的上拉电阻拉高。因而,CONF_DONE管脚的从低到高的跳变意味着装备的完结,初始化进程的开端,而并不是芯片开端正常作业。
INIT_DONE是初始化完结的指示信号,它是FPGA中可选的信号,需求经过Quartus II东西中的设置决议是否运用该管脚。在初始化进程中,内部逻辑、内部寄存器和I/O寄存器将被初始化,I/O驱动器将被使能。
当初始化完结今后,器材上漏极开端输出的INIT_DONE管脚被开释,一起被外部的上拉电阻拉高。这时,FPGA彻底进入用户形式,一切的内部逻辑以及I/O都依照用户的规划运转,这时,那些FPGA装备进程中的I/O弱上拉将不复存在。不过,还有一些器材在用户形式下I/O也有可编程的弱上拉电阻。在完结装备今后,DCLK信号和DATA管脚不该该被浮空(floaTIng),而应该被拉成固定电平,高或低都能够。
FPGA装备形式挑选
用户能够经过设置FPGA上的MSEL0、MESL1两个引脚的状况来挑选装备方法。各种方法的MSEL0、MESL1设置如下表所列:
阐明:
在上表中,假如只选用一种装备方法,则能够直接将MSEL0、MESL1衔接到VCC(留意要与FPGA的IO口的供电VCCIO相同)或GND;
假如需求多种装备方法,那么MSEL要用操控器(单片机、CPLD等)来操控以进行切换;
MSEL管脚在装备开端前有必要处于一个固定的状况,因而不能将MSEL管脚悬空。
主动串行装备
主动串行装备方法(AS)是将装备数据事前存储在串行装备器材EPCS中,然后在体系上电时Cyclone IV FPGA经过串行接口读取装备数据(假如是紧缩数据,还会进行解紧缩处理)对内部的SRAM单元进行装备。
由于上述装备进程中FPGA操控装备接口,因而一般称为主动装备方法。在装备期间,Cyclone IV用过串行接口来读装备数据,来对里边的SRAM编程。串行装备器材的四个接口包含,串行时钟输入DCLK,串行数据输出DATA,低有用的片选信号NCE,串行数据输入ASDI。
主动串行装备电路图:
由于FPGA上的nSTATUS、CONFIG_DONE管脚都是开漏结构,所以都要接上拉电阻。FPGA的片选脚nCE有必要接地。
JTAG装备
经过JTAG接口,运用Quartus II软件能够直接对FPGA进行独自的硬件重新装备。Quartus II软件在编译时会主动生成用于JTAG装备的.sof文件。
假如一起运用AS方法和JTAG方法来装备FPGA,JTAG装备方法具有最高的优先级,此刻AS方法将中止,而履行JTAG方法装备。
运用Quartus II软件和USB Blaster等下载电缆可下载装备数据到FPGA。Quartus II软件能够验证JTAG装备是否成功。JTAG装备经过下载电缆运用SOF、Jam或许JBC文件直接对FPGA进行装备,这种装备方法只能用于调试阶段,由于,掉电后FPGA中的装备数据将丢掉。
被迫串行装备
被迫串行PS装备方法是Altera Cyclone IV系列FPGA装备方法中比较常用的方法。可是,在工程使用中若选用这种装备方法,FPGA需求衔接一个智能主机(比方杂乱可编程逻辑器材CPLD/微操控单元MCU等)以给其供给装备时钟和装备数据。
在该装备方法下,智能主机在确保与存储装备数据的闪存通讯无误的情况下,只需向FPGA供给一个DCLK信号和一个DATA0信号即可完成对FPGA的装备。别的,该DCLK信号还能够完成多种频率以满意用户对装备时刻的需求,这是该装备方法的一大亮点。
本文介绍了以Altera型的FPGA芯片为例介绍了FPGA的上电进程,并描绘了三种常见的装备形式,用户能够依据不同的需求来选用对应的装备形式,每种装备形式下对应的装备数据类型也是不相同的。