FPGA 是基于 SRAM 编程的,编程信息在系统掉电时会丢失,每次上电时,都需要从器件外部的 FLASH 或 EEPROM 中存储的编程数据重现写入内部的 SRAM 中。FPGA 在线加载需要有 CPU 的帮助,并且在加载前 CPU 已经启动并工作。FPGA 的加载模式主要有以下几种:1) .PS 模式(Passive Serial Configuration Mo 瑚被动串行加载模式。PS 模式适合于逻辑规模小,对加载速度要求不高的 FPGA 加载场合。在此模式下,加载所需的配置时钟信号 CCLK 由 FPGA 外部时钟源或外部控制信号提供。另外,PS 加载模式需要外部微控制器的支持。2) .AS 模式(Active Serial Configuration Mod 即)主动串行加载模式。在 AS 模式下,FPGA 主动从外部存储设备中读取逻辑信息来为自己进行配置,此模式的配置时钟信号 CCLK 由 FPGA 内部提供。3) .PP 模 式(Passive Parallel Configuration Mode 被动并行加载模式。此模式适合于逻辑规模较大,对加载速度要求较高的 FPGA 加载场合。PP 模式下,外部设备通过 8bit 并行数据线对 FPGA 进行逻辑加载,CCLK 信号由外部提供。4) .BS 模式(Boundary Scan Configuration Mod,)即边界扫描加载模式。也就是我们通常所说的 JTAG 加载模式。所有的 FPGA 芯片都有三个或四个加载模式配置管脚,通过配置 MESL[0..3 来选取不同的加载模式。首先来介绍下 PS 加载模式,各个厂商 FPGA 产品的 PS 加载端定义存在一些差异,下面就对目前主流的三个FPGA 厂商 Altera, *ilin*,La 的 tPSe 加载方式进行一一介绍。Altera 公司的 FPGA 产品 PS 加载接如下图所示。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:使能输出信号,当芯片加载完成时,该管脚...