当前位置:   article > 正文

FPGA开发之上电加载过程_fpga 上电 加载

fpga 上电 加载

1、说明
\quad\enspace 此文概述了7系列fpga上电及程序加载流程。参考文件Ug470 fpga configuration
2、硬件架构图
\quad\enspace 以此硬件架构为例。
在这里插入图片描述
3、加载流程及时序图
\quad\enspace fpga上电启动包含三个大流程,setup、bitstream loading、startup sequence
在这里插入图片描述

在这里插入图片描述
4、加载过程详解
4.1 setup
1) 设备上电
在这里插入图片描述

\quad\enspace 对于上电启动,VCCINT必须提供1.0V或0.9V(对于-2L)电源。在JTAG模式下,除了VCCO_0外,所有I/O电压电源都不需要为7系列FPGA配置供电。当配置模式被选择使用多功能引脚(串行,主BPI, SPI, SelectMAP)时,VCCO_14, VCCO_15,或两者都必须提供。表5-7显示了配置所需的电源。表5-8显示了启动电源的时间。有关电压额定值,请参阅Table71。

Table 5-7 Power Supplies Required for Configuration

Pin NameDescription
VCCINTPower supply for the internal core logic.
VCCBATTAES decryptor key memory backup power supply; If the key memory is not used, the user should tie this pin to VCCAUX or GND.
VCCAUX1.8V power supply for auxiliary circuits.
VCCAUX_IO1.8V/2.0V power-supply pins for auxiliary I/O circuits.
VCCBRAMPower-supply pins for the FPGA’s logic block RAM.
VCCO_0Configuration bank supply voltage.
VCCO_14 VCCO_15Multi-function configuration pin output supply voltage.Standard I/O voltage levels supported for configuration are 1.5V, 1.8V, 2.5V, and 3.3V

Table 5-8 Power-Up Timing

DescriptionSymbol
Program LatencyTPL
Power-on Reset (POR)TPOR
CCLK Output DelayTICCK
Program Pulse WidthTPROGRAM

在这里插入图片描述
\quad\enspace 为了确保正确的开机行为,必须遵循相应的7系列fpga数据表中的指导方针。电源应在相应的7系列fpga数据表中规定的电源斜坡时间范围内单调斜坡。所有电源电压应在建议的工作范围内;任何的电源跌落,如VCCINT跌落到VDRINT以下,或VCCAUX跌落到VDRI以下都会导致丢失配置数据。

\quad\enspace 如果不可能实现单调斜坡,则在系统电源达到VCCO_0、VCCAUX、VCCBRAM和VCCINT的最小建议工作电压时,通过保持INIT_B低进行延迟配置。一些配置模式涉及bank14或bank15,或者两者都涉及,当这些组涉及到配置时,它们各自的电压供应VCCO_14和/或VCCO_15也必须在INIT_B高之前达到它们的最小建议工作电压。

\quad\enspace 上电完成之后,设备可以通过拉低PROGRAM_B管脚进行重新配置。

2) 清除配置内存数据(clear configuration memory)
\quad\enspace 上电完成之后在使用JTAG_JPROGRAM或IPROG指令,或PROGRAM_B脚拉低时,配置内存将按顺序清除。
\quad\enspace 块RAM复位到初始状态,通过声明GSR重新初始化触发器,在这期间IO脚被设置为高阻态(GTS)。
\quad\enspace 如果INIT_B引脚被外部持续拉低,设备会在初始化流程一直等待直到这个IO脚被释放。在程序完成配置内存清除工作后释放INIT_B信号,此信号由外部电源拉高。

3) 采集配置模式信息(sample mode pins)
\quad\enspace 当INIT_B信号被拉高后,设备采集M[2:0]模式配置IO,如果做为主模式则开始驱动CCLK。这时设备在CCLK的上升沿开始采集配置数据。

4.2 bitstream loading
1) 同步化(synchronization)
\quad\enspace 检测总线位宽,然后必须将一个特殊的32位同步字(0xAA995566)发送到配置逻辑。同步字向设备发出即将到来的配置数据的警报,并将配置数据与内部配置逻辑对齐。除了“总线宽度自动检测”序列之外,同步之前的配置输入引脚上的任何数据都将被忽略。
\quad\enspace 同步对大多数用户是透明的,因为由工具生成的所有配置位流(位文件)都包括总线宽度检测模式和同步字。

2) 检查设备ID(device ID Check)
\quad\enspace 在设备同步之后,必须通过设备ID检查才能加载配置数据帧。这可以防止使用针对不同设备格式化的位流进行配置。
\quad\enspace 如果在配置期间发生ID错误,设备将尝试进行回退重新配置。
\quad\enspace 设备ID检查被内置到位流中,使得这一步对大多数设计人员来说是透明的。对于配置逻辑设备ID检查是通过位流中的命令执行的。

3) 加载配置信息(load configuration data)
\quad\enspace 完成同步字加载和设备ID检测后,配置数据帧将会加载。这个过程对大多数用户是透明的。

4) CRC校验
\quad\enspace 对加载的数据进行CRC校验。

4.3 startup sequence
\quad\enspace 配置帧加载后,位流指示设备进入启动序列。启动顺序由一个8阶段(阶段0-7)顺序状态机控制。默认的启动事件序列如下:
在这里插入图片描述
1)释放DONE信号
2)GTS激活所有IO
3)GWE激活全局写使能。全局写使能使能FPGA上的CLB、IOB触发器和其 \quad\enspace 他同步元件
4)声明EOS。配置和启动流程结束。

可选的启动事件序列如下:
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号