搜档网
当前位置:搜档网 › FPGA的配置引脚说明

FPGA的配置引脚说明

FPGA的配置引脚说明
FPGA的配置引脚说明

FPGA是基于SRAM编程的,编程信息在系统掉电时会丢失,每次上电时,都需要从器件外部的FLASH或EEPROM中存储的编程数据重现写入内部的SRAM中。FPGA在线加载需要有CPU的帮助,并且在加载前CPU已经启动并工作。

FPGA的加载模式主要有以下几种:

1) .PS模式(Passive Serial Configuration Mode)即被动串行加载模式。

PS模式适合于逻辑规模小,对加载速度要求不高的FPGA加载场合。在此模式下,加载所需的配置时钟信号CCLK由FPGA外部时钟源或外部控制信号提供。另外,PS加载模式需要外部微控制器的支持。

2) .AS 模式(Active Serial Con figuration Mode),即主动串行加载模式。

在AS模式下,FPGA主动从外部存储设备中读取逻辑信息来为自己进行配

置,此模式的配置时钟信号CCLK由FPGA内部提供。

3) .PP模式(Passive Parallel Configuration Mode,即被动并行加载模式。

此模式适合于逻辑规模较大,对加载速度要求较高的FPGA加载场合。PP 模式下,外部设备通过8bit并行数据线对FPGA进行逻辑加载,CCLK信号由外部提供。

4) .BS 模式(Bou ndary Sca n Con figuratio n Mode),即边界扫描加载模式。

也就是我们通常所说的JTAG加载模式。所有的FPGA芯片都有三个或四个加载模式配置管脚,通过配置MESL[0..3]来选取不同的加载模式。首先来介绍下PS加载模式,各个厂商FPGA产品的PS加载端口定义存在一些差异,下面就对目前主流的三个FPGA厂商Altera, Xilinx,Lattice的PS加载方式进行——介绍。Altera公司的FPGA产品PS加载接口如下图所示。

CONFIO_DONE

门STATUS

门匚也Al tcra

FPGA nCEO

nCONFIG

WSELO

DCLK MSEL1

DATAO MSEL2

1) .CONFIG_DONE :

加载完成指示输出信号,I/O接口,高有效,实际使用中通过4.7K电阻上拉到VCC ,使其默认状态为高电平,表示芯片已加载完毕,当FPGA正在加载时,会将其驱动为低电平。

2) . nSTATUS:

芯片复位完成状态信号,I/O接口,低有效,为低时表示可以接收来自外部的加载数据。实际使用中通过4.7K电阻上拉到VCC,使其默认状态为高,表示不接收加载数据。

3) . nCE:

芯片使能管脚,输入信号,低有效,表示芯片被使能。当nCE为高电平时,芯片为去使能状态,禁止对芯片进行任何操作。对于单FPGA芯片单板,nCE

直接接GND即可,而对于多FPGA芯片单板,第一片芯片的nCE接GND,下一芯片的nCE接上一芯片的nCEO。

4) . nCEO:

使能输出信号,当芯片加载完成时,该管脚输出为低电平,未加载完成时输出为高电平。对于单FPGA芯片单板,nCEO悬空,对于多FPGA芯片单板,nCEO 接下一芯片的nCE。

5) . nCONFIG:

启动加载输入信号,低电平时表示外部要求FPGA需要重新加载,复位FPGA 芯片,清空芯片中现有数据。实际使用中该管脚通过4.7K电阻上拉到VCC,使其默认状态为高。

6) .DCLK :

加载数据参考时钟。PS模式下为输入,AS模式下为输出。

7) .DATA0 :

加载数据输入,输入信号。

8) .MSEL[0:3]:

加载模式配置管脚。控制加载模式。

CPU

上图为利用CPU 扩展I/O 端口对多片FPGA 进行PS 加载的硬件连接实例。 CPU 可以利用自己的I/O 端口来对FPGA 进行直接加载,不过,由于CPU 的I/O 端口有限,在大多数情况下,都是利用扩展I/O 端口,扩展器件可以是CPLD 或 FPGA ,不过在大多数情况下都是 CPLD 。上图为同步加载方案,两片 FPGA 的 nCE 管脚都接GND ,所以两片FPGA 的加载操作会同时开始和结束,此种设计 方案适用于两片FPGA 来自同一个厂家,并且逻辑数据相同。如果两片 FPGA 的逻辑数据不同,则需要采取异步加载模式,如下图所示。

串疔加载端口

V

I/O I Al CPLD/

FFGA I A3 I/O I/O

CONFICJONE nSTATUS

nSTAIUS

FPGA nCEO nCOMFIG WSEL

O

DCLK MSEL1 DATAO

MSEL3

r£OMFIG

MSELO

DCLK 1IISEL 1 DATAO

MSEL2

MSEL3

nJ 也 Al tera

□CE Alte^a

FPGA nCEO

当第一片芯片加载逻辑时,nCEO 输出高电平,将第二片芯片禁止,直到第一片 芯片加载完成时,n CEO 输出低电平,让第二片芯片使能,然后开始接收加载数

FPGA 的加载流程

1) .CPU 的I/O 端口或扩展I/O 端口将FPGA 的nCONFIG [启动加载输入信号]

驱动为低,通知FPGA 去完成加载前的准备工作(复位芯片,清空FPGA 内部数

2) .FPGA 完成准备工作,将nSTATUS [芯片复位完成状态信号]信号驱动为

低, 表示准备工作已完成,可以接收加载数据。

3) .CPU 对FPGA 加载逻辑,在此期间,FPGA 将CONFIG_DONE [加载完成

CP1T

針行加義端口

.

数据揑制访口

I/O 加 CPLD/ FPGA

I/O

I/O

I/O

CONFIG_DONE nSTATUS nCONFIG

ISELQ

DCLK ISEL1 DATA0

HSEL2

MSEL 3

iiCONFK

MSEL0 DCLE

MSEL1 DATA0

HSEL2

HISEL 3

二:

如上图所示,第一片芯片的 nCEO 输出管脚与第二片芯片的nCE 管脚连接,

COWIG_DONE nSTMUS

v c

ME Altera

FPGA nCE0

口CE t era

FPGA 山瓯

信号]驱动为低,表示正在加载。

4) .加载完成后,FPGA将CONFIG_DONE驱动为高,通知CPU加载已完成。如果加载过程出现错误,需要重新加载的话,FPGA会将CONFIG_DONE保持

为低,通知CPU重新加载。

Xilinx公司FPGA产品的逻辑加载端口信号跟Altera公司的有点差别,如下图所示。

1) .DONE:加载完成指示信号,I/O信号,OD输出,低有效,使用时需要上拉到VCC,此信号与Altera芯片的CONFIG_DONE信号功能相同。

2) .INTI_B : I/O信号,OD输出,在配置模式采样之前,此信号为输入,为

低电平时,表示延迟配置。在配置模式采样后,用于指示配置过程中是否有CRC 错误,为低电平时表示有CRC错误。使用时需要上拉到VCC。

3) .PROG_B:输入信号,低电平时,异步复位芯片,为接收加载数据作准

备。与Altera芯片的nCONFIG信号功能相同。

4) .CCLK: I/O信号,JTAG模式外的所有配置模式下的时钟输入。

5) .D_IN :输入信号,加载数据输入,与CCLK信号的上升沿同步。

6) .D_OUT:输出信号,串行数据输出。当FPGA芯片配置为bypass模式

时,D」N可以直接透传过芯片从D_OUT管脚输出

Minx芯片PS加载的硬件连接方式同Altera芯片的相同,这里就不画了,同样的,Xilinx芯片多片加载时也支持同步和异步两种方式。同步方式下,加载数据分别跟每一片FPGA芯片的D_IN信号连接。异步方式下,前一芯片的D_OUT接后一芯片的D」N,等前一芯片加载完毕后,切换到bypass模式,数据直接从D_OUT管脚透传过去给后面一片芯片加载。

Lattice公司的FPGA产品逻辑加载端口跟Xilinx很相似,如下图所示。

DONE

INTIN

Lattitc JPGA

DOIT

T

PK0GRAMN

CFGO

CCLK CFG1

DI CFG2

CFG是加载模式配置管脚,PROGRAMN是加载控制管脚,输入信号,低电平进入加载状态。DI是加载数据输入管脚,非加载状态下可作为普通I/O端口使用。

下面是Lattice FPGA芯片的PS和AS加载模式混合使用的实例,如下图所示。

相关主题