400-035-6699
当前位置: 首页 » 技术支持 » 博文资讯 »

FPGA入门教程:掌握基础配置方法与技巧

FPGA(现场可编程门阵列)是一种高度集成的可编程逻辑器件,与CPLD(复杂可编程逻辑器件)相比,FPGA采用门阵列方式提供用户可编程资源。其内部逻辑结构的形成完全依赖于配置数据的设定。FPGA的配置方式主要分为两种:主动式和被动式。
首先,我们来看看FPGA的配置引脚。FPGA的配置引脚分为专用和非专用两大类。专用配置引脚仅在配置过程中发挥作用,而配置完成后,非专用配置引脚可作为普通的I/O口使用。
专用配置引脚包括:配置模式脚M2、M1、M0;配置时钟CCLK;配置逻辑异步复位PROG,启动控制DONE以及边界扫描TDI、TDO、TMS、TCK。非专用配置引脚有Din、D0:D7、CS、WRITE、BUSY、INIT。在不同的配置模式下,配置时钟CCLK可以由FPGA内部产生,也可以由外部控制电路提供。
接下来,详细介绍一下FPGA的配置过程:
1. 初始化:系统上电后,如果FPGA满足一定条件(如Bank2的I/O输出驱动电压Vcc0_2大于lv,器件内部供电电压Vccint为2.5v),器件会自动进行初始化。在系统上电的情况下,通过对PROG引脚置低电平,可以重新配置FPGA。初始化完成后,DONE信号会变低。
2. 清空配置存储器:初始化过程结束后,器件将INIT信号置低电平,并开始清空配置存储器。清空完成后,INIT信号会重新置为高电平。用户可以通过将PROG或INIT信号(INIT为双向信号)置为低电平,延长清空配置存储器的时间,确保存储器被彻底清空。
3. 加载配置数据:配置存储器清空完成后,器件对配置模式脚M2、M1、M0进行采样,以确定加载配置数据的方式。
4. CRC错误检查:在加载配置数据的过程中,器件会根据特定算法生成一个CRC值,并与配置文件中内置的CRC值进行比较。如果两者不一致,说明加载过程中出现错误,INIT引脚将被置低电平,加载过程被中断。此时,重新配置只需将PROG置为低电平。
5. 启动阶段:在启动阶段,FPGA会执行以下操作: - 将DONE信号置高电平,若DONE信号未置高,说明数据加载过程失败; - 在配置过程中,所有I/O引脚均为三态,此时,全局三态信号GTS置低电平,I/O引脚从三态切换到用户设置的状态; - 全局复位信号GSR置低电平,所有触发器进入工作状态; - 全局写允许信号GWE置低电平,所有内部RAM有效。
整个启动过程分为8个时钟周期C0-C7,默认情况下,这些操作都与配置时钟CCLK同步。在DONE信号置高电平之前,GTS、GSR、GWE均保持高电平。
FPGA作为一种高度灵活的可编程逻辑器件,广泛应用于各类电子系统中。理解其配置过程,有助于更好地设计和应用FPGA。在此过程中,我们还需关注配置引脚的作用、配置模式的选择以及CRC错误检查等关键环节,以确保FPGA的正常运行。

FPGA配置基本介绍

FPGA入门教程:掌握基础配置方法与技巧

CPLD不同,FPGA是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。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配置过程

(1)初始化

系统上电后,如果FPGA满足以下条件:Bank2的I/O输出驱动电压Vcc0_2大于lv;器件内部的供电电压Vccint为2.5v,器件便会自动进行初始化。在系统上电的情况下,通过对PROG引脚置低电子,便可以对FPGA进行重新配置。初始化过程完成后,DONE信号将会变低。

(2)清空配置存储器

在完成初始化过程后,器件会将INIT信号置低电平,同时开始清空配置存储器。在清空完配置存储器后,INIT信号将会重新被置为高电平。用户可以通过将PROG或INIT信号(1NIT为双向信号)置为低电平,从而达到延长清空配置存储器的时间,以确保存储器被清空的目的。

(3)加载配置数据

配置存储器的清空完成后,器件对配置模式脚M2、N1、M0进行采样,以确定用何种方式来加载配置数据。

(4)CRC错误检查

器件在加载配置数据的同时,会根据一定的算法产生一个CRC值,这个值将会和配置文件中内置的CRC值进行比较,如果两者不一致,则说明加载发生错误,INIT引脚将会被置低电平,加载过程被中断。此时若要进行重新配置,只需将PROG置为低电平即可。

(5)START-UP

在START-UP阶段中,FPGA会进行一下操作:

①将DONE信号置高电平,若DONE信号没有置高,则说明数据加载过程失败;

②在配置过程中,器件的所有I/O引脚均为三态,此时,全局三态信号GTS置低电平,这些I/O脚将会从三态切换到用户设置的状态;

③全局复位信号GSR置低电平,所有触发器进入工作状态;

④全局写允许信号GWE置低电平,所有内部RAM有效;

整个过程共有8个时钟周期C0-C7。在默认的情况下,这些操作都和配置时钟CCLK同步,在DONE信号置高电子之前,GTS,GSR,GWE都保持高电平。

审核编辑 :李倩

【限时免费】一键获取网络规划系统模板+传输架构设计+连通性评估方案

FPGA相关文章

服务电话:
400-035-6699
企服商城