-
FPGA
是基于
SRAM
编程的,编程信息在系统掉电时会丢失,每次上电时,都
需要从器件外部的
FLASH
或
EEPROM
中存储的编程数据重现写入内部的
SRAM
中。
FPGA
在线加载需要有
CPU
的帮助,并且在加载前
CPU
已经启动并
< br>工作。
FPGA
的加载模式主要有以下几种:
1).PS
模式
(Passive
Serial Configuration Mode)
,即被动串行加载模式。
p>
PS
模
式适合于逻辑规模小,
对加载速度要求不高的
FPGA
加载场合。
在此模式下,
加
载所需的配置时钟信号
CCLK
由
FPGA
外
部时钟源或外部控制信号提供。
另外,
PS
加载模式需要外部微控制器的支持。
2).AS
模式
(Active Serial
Configuration Mode)
,即主动串行加载模式。在
< br>AS
模式下,
FPGA
主动从外
部存储设备中读取逻辑信息来为自己进行配置,此模式
的配置时钟信号
< br>CCLK
由
FPGA
内部提供。
3).PP
模式
(Passive
Parallel Configuration Mode)
,
即被动并行加载模式。
此模
式适合于逻辑规模较大,对加载速
度要求较高的
FPGA
加载场合。
PP
模式下,
外部设备通过
8bit
并行数据线对
FPGA
进行逻辑加载,
CCLK
信号由外部提供。
4).BS
模式
(Boundary
Scan Configuration Mode)
,即边界扫描加载模式。也就
p>
是我们通常所说的
JTAG
加载模式。
p>
所有的
FPGA
芯片都有三个或四个加载模式配置管脚,通过配置来选取不同
< br>的加载模式。
首先来介绍下
PS<
/p>
加载模式,各个厂商
FPGA
产品的
p>
PS
加载端口定义存在
一些差异,
下面就对目前主流的三个
FPGA
厂商
Altera, Xilinx,Lattice
的
PS
加载
方式进行一一介绍。
Altera
公司的
FPGA
产品
PS
加载接口如下图所示。
1).CONFIG_DONE
:加载完成指示输出信号,
p>
I/O
接口,高有效,实际使
用中通过
p>
4.7K
电阻上拉到
VCC
,
使其默认状态为高电平,
表示芯片已加载完毕,
p>
当
FPGA
正在加载时,会将其驱动为低电
平。
2).nS
TATUS
:芯片复位完成状态信号,
I/O
< br>接口,低有效,为低时表示可
以接收来自外部的加载数据。实际使用中通过
4.7K
电阻上拉到
VCC
< br>,使其默认
状态为高,表示不接收加载数据。
3).nCE<
/p>
:芯片使能管脚,输入信号,低有效,表示芯片被使能。当
nCE
为
高电平时,
芯片为去使能状态,
p>
禁止对芯片进行任何操作。
对于单
FPGA
芯片单
板,
nCE
直接接
GND
即可,而对于多
FP
GA
芯片单板,第一片芯片的
nCE
接
GND
,下一芯片的
nCE
接上一芯片的
nCEO
。
4).nCEO
:使
能输出信号,当芯片加载完成时,该管脚输出为低电平,未加
载完成时输出为高电平。对
于单
FPGA
芯片单板,
nCEO
p>
悬空,对于多
FPGA
芯
< br>片单板,
nCEO
接下一芯片的
nCE
。
5).nCONFIG
:启动加载输入信号,低电平时表示外部要求
p>
FPGA
需要重新
加载,复位
FPGA
芯片,清空芯片中现有数据。实际使用中该管脚通过
4.7K
电
阻上拉到
VCC<
/p>
,使其默认状态为高。
6).DCLK
:加载数据参考时钟。
PS
模式下为输入,
AS
模式下为输出
。
7).DATA
0
:加载数据输入,输入信号。
8).MSEL[0:3]
:加载模式配置管脚。
上图为利用
CPU
扩展
I/O
端口对多片
FPGA
进行
PS
加载的硬件连接实例。
CPU
可以利用自己的
I/O
端口来对
FPG
A
进行直接加载,
不过,
由于
CPU
的
I/O
端口有
限,在大多数情况下,都是利用扩展
I/O
端口,扩展器件可以
是
CPLD
或
FPGA
,不过在大多数情况下都是
CPLD
。上图为同步加载
方案,两片
FPGA
的
nCE
管脚都接
GND
,所以两片
FPGA
的加载操作会同时开始和结束,此种设计
方案适用
于两片
FPGA
来自同一个厂家,并且逻辑数据相同。如果两片
FPGA
的逻辑数据不同,则需要采取异步加载模式,如下图所
示。
如上图所示,第一片芯片的
nCEO
输出管脚与第二片芯片的
nC
E
管脚连接,
当第一片芯片加载逻辑时,
nCEO
输出高电平,将第二片芯片禁止,直到第一片
芯片加
载完成时,
nCEO
输出低电平,让第二片芯片使能,然后开始
接收加载数
据。
FPGA
的加载流程
< br>1).CPU
的
I/O
端口或扩
展
I/O
端口将
FPGA
的
nCONFIG
驱动为低,通知
< br>FPGA
去完成加载前的准备工作
(
复位芯片,清空
FPGA
内部数据
)
。
2).FPGA
完成准
备工作,
将
nSTATUS
信号驱动为
低,
表示准备工作已完成,
可以接收加载数据。
3).CPU
对
FPGA
加载逻辑,
在此器件,
FPGA
将
CONFIG_DONE
驱动为低,
表
示正在加载。
-
-
-
-
-
-
-
-
-
上一篇:开光是什么意思
下一篇:openvpn配置文件详解