FPGA的配置及接口电路
发布时间:2008/5/28 0:00:00 访问次数:744
与cpld不同,fpga是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据通过外部控制电路或微处理器加载到fpga内部的sram中,由于sram的易失性,每次上电时,都必须对fpga进行重新配置,在不掉电的情况下,这些逻辑结构将会始终被保持,从而完成用户编程所要实现的功能。
fpga的配置方式分为主动式和被动式,数据宽度有8位并行方式和串行方式两种。在主动模式下,fpga在上电后,自动将配置数据从相应的外存储器读入到sram中,实现内部结构映射;而在被动模式下,fpga则作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。 1配置引脚
fpga的配置引脚可分为两类:专用配置引脚和非专用配置引脚。专用配置引脚只有在配置时起作用,而非专用配置引脚在配置完成后则可以作为普通的i/o口使用。
专用的配置引脚有:配置模式脚m2、m1、m0;配置时钟cclk;配置逻辑异步复位prog,启动控制done及边界扫描tdi,tdo,tms,tck。非专用配置引脚有din,d0:d7,cs,write,busy,init。
在不同的配置模式下,配置时钟cclk可由fpga内部产生,也可以由外部控制电路提供。
2 fpga的配置模式
fpga共有四种配置模式:从串模式(slave serial),主串模式(masterserial),从并模式(slave farallel/s e 1 e c tmap)以及边界扫描模式(boundary-scan)。具体的配置模式由模式选择引脚m2、m1、m0决定。表1为不同的配置模式所对应的m2、m1、m0,配置时钟的方向以及相应的数据位宽。
3配置过程
(1)初始化
系统上电后,如果fpga满足以下条件:bank2 的i/o输出驱动电压vcc0_2大于lv;器件内部的供电电压vccint为2.5v,器件便会自动进行初始化。在系统上电的情况下,通过对prog引脚置低电子,便可以对fpga进行重新配置。初始化过程完成后,done信
号将会变低。
(2)清空配置存储器
在完成初始化过程后,器件会将init信号置低电平,同时开始清空配置存储器。在清空完配置存储器后,init信号将会重新被置为高电平。用户可以通过将prog或init信号(1nit为双向信号)置为低电平,从而达到延长清空配置存储器的时间,以确保存储器被清空的目的。
(3)加载配置数据
配置存储器的清空完成后,器件对配置模式脚m2、n1、m0进行采样,以确定用何种方式来加载配置数据。图1为并行配置方式的时序图。
(4)crc错误检查
器件在加载配置数据的同时,会根据一定的算法产生一个crc值,这个值将会和配置文件中内置的crc值进行比较,如果两者不一致,则说明加载发生错误,init引脚将会被置低电平,加载过程被中断。此时若要进行重新配置,只需将prog置为低电平即可。
(5)start-up
start-up阶段是fpga由配置状态过渡到用户状态的过程。在start-up完成后,fpga便可实现用户编程的功能。在start-up阶段中,fpga会进行一下操作:
①将done信号置高电平,若done信号没有置高,则说明数据加载过程失败;
②在配置过程中,器件的所有i/o引脚均为三态,此时,全局三态信号gts置低电平,这些i/o脚将会从三态切换到用户设置的状态;
③全局复位信号gsr置低电平,所有触发器进入工作状态;
④全局写允许信号gwe置低电平,所有内部ram有效;
整个过程共有8个时钟周期c0-c7。在默认的情况下,这些操作都和配置时钟cclk同步,在done信号置高电子之前,gts,gsr,gwe都保持高电平。
图2为fpga配
与cpld不同,fpga是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据通过外部控制电路或微处理器加载到fpga内部的sram中,由于sram的易失性,每次上电时,都必须对fpga进行重新配置,在不掉电的情况下,这些逻辑结构将会始终被保持,从而完成用户编程所要实现的功能。
fpga的配置方式分为主动式和被动式,数据宽度有8位并行方式和串行方式两种。在主动模式下,fpga在上电后,自动将配置数据从相应的外存储器读入到sram中,实现内部结构映射;而在被动模式下,fpga则作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。 1配置引脚
fpga的配置引脚可分为两类:专用配置引脚和非专用配置引脚。专用配置引脚只有在配置时起作用,而非专用配置引脚在配置完成后则可以作为普通的i/o口使用。
专用的配置引脚有:配置模式脚m2、m1、m0;配置时钟cclk;配置逻辑异步复位prog,启动控制done及边界扫描tdi,tdo,tms,tck。非专用配置引脚有din,d0:d7,cs,write,busy,init。
在不同的配置模式下,配置时钟cclk可由fpga内部产生,也可以由外部控制电路提供。
2 fpga的配置模式
fpga共有四种配置模式:从串模式(slave serial),主串模式(masterserial),从并模式(slave farallel/s e 1 e c tmap)以及边界扫描模式(boundary-scan)。具体的配置模式由模式选择引脚m2、m1、m0决定。表1为不同的配置模式所对应的m2、m1、m0,配置时钟的方向以及相应的数据位宽。
3配置过程
(1)初始化
系统上电后,如果fpga满足以下条件:bank2 的i/o输出驱动电压vcc0_2大于lv;器件内部的供电电压vccint为2.5v,器件便会自动进行初始化。在系统上电的情况下,通过对prog引脚置低电子,便可以对fpga进行重新配置。初始化过程完成后,done信
号将会变低。
(2)清空配置存储器
在完成初始化过程后,器件会将init信号置低电平,同时开始清空配置存储器。在清空完配置存储器后,init信号将会重新被置为高电平。用户可以通过将prog或init信号(1nit为双向信号)置为低电平,从而达到延长清空配置存储器的时间,以确保存储器被清空的目的。
(3)加载配置数据
配置存储器的清空完成后,器件对配置模式脚m2、n1、m0进行采样,以确定用何种方式来加载配置数据。图1为并行配置方式的时序图。
(4)crc错误检查
器件在加载配置数据的同时,会根据一定的算法产生一个crc值,这个值将会和配置文件中内置的crc值进行比较,如果两者不一致,则说明加载发生错误,init引脚将会被置低电平,加载过程被中断。此时若要进行重新配置,只需将prog置为低电平即可。
(5)start-up
start-up阶段是fpga由配置状态过渡到用户状态的过程。在start-up完成后,fpga便可实现用户编程的功能。在start-up阶段中,fpga会进行一下操作:
①将done信号置高电平,若done信号没有置高,则说明数据加载过程失败;
②在配置过程中,器件的所有i/o引脚均为三态,此时,全局三态信号gts置低电平,这些i/o脚将会从三态切换到用户设置的状态;
③全局复位信号gsr置低电平,所有触发器进入工作状态;
④全局写允许信号gwe置低电平,所有内部ram有效;
整个过程共有8个时钟周期c0-c7。在默认的情况下,这些操作都和配置时钟cclk同步,在done信号置高电子之前,gts,gsr,gwe都保持高电平。
图2为fpga配
上一篇:硬件在环(HIL)仿真应用中的LabVIEW FPGA
上一篇:光存储的原理介绍