从0开始设计FPGA最小系统(1)初始化配置

1 Overview

配置信息参考UG470.

配置的主要目的是将数据流文件bitstream写入 FPGA。对于同一型号的FPGA,如果不启用压缩,每次烧录的比特流长度是固定的。所以不论代码复杂或简单,烧录时间是相同的。其配置的flash memory也是固定的,对A7 35T/100T,需要至少32Mb/4MB的空间。bitstream有两种配置:

  1. 第一种是串行数据写入
  2. 第二种是并行数据写入

超声项目中对速率要求不高,采用串行数据线以节省空间和引脚。

配置模式由M[2:0]引脚决定,称为mode pins,应保持固定电平上拉/下拉。JTAG模式在任意配置模式下都可使用。模式的选择主要取决于项目速度和成本要求。此说明中对快速配置没有探讨。

配置引脚涉及三个 bank,bank 0, bank 14 and bank 15. 注:A7 35T不包含bank 15。

1.1 配置电压

配置引脚电压支持三种:3.3V、2.5V 和 1.8V,由 CFGBVS 引脚决定。CFGBVS 引脚配置为低GND时,配置电压为 1.8V;当 CFGBVS 引脚为高Vcco_0时,配置电压为 3.3V/2.5V。CFGBVS 引脚配置为低时,Vcco_0必须为1.8V供电或者更低如1.5V。注:V7系列bank 0 只支持1.8V.

当bank 14, 15也用于配置时,operating voltage应当与bank 0保持一致。也就是Vcco_0, Vcco_14, Vcco_15电压应保持一致。

1.2 配置模式

一般采用master SPI配置和JTAG配置,称为basic configuration solution。涉及bank的主要有bank 0和bank 14,不同配置模式具体需要的引脚可以见Table 2-2和Table 2-4. 我们需要用到引脚CFGBVS、M[2:0]、TCK、TMS、TDI、TDO、PROGRAM_B、INIT_B、DONE、CCLK、PUDC_B、EMCCLK、FCS_B、D00_MOSI、D01_DIN、D02、D03。

 

1.3 引脚详解

CFGBVS为电压配置引脚,configure bank voltage supply. 不能悬空。

TCK、TMS、TDI、TDO为JTAG通信引脚。手册建议如果有buffer的情况下可以弱上拉10k欧。不推荐下拉,因为芯片默认内部弱上拉(见Table 3-1),外部再下拉会形成串联分压发生错误。

PROGRAM_B引脚,Program (bar) 低电平有效,用来复位配置。Reset 发生在下降沿,上升沿后开始重新programming。一般用来接复位按钮。

INIT_B引脚,Initialization (bar) 低电平有效表示正在初始化,当初始化完成后变为高阻态。需要外接上拉电阻,接测试点作为测试。FPGA启动流程分为上电、初始化、bitstream配置、启动代码逻辑。

DONE引脚为高表示配置完成。一般接LED用作人机交互,配置完成后灯亮。需要注意,DONE引脚为开漏输出,内部接上拉电阻,驱动能力弱。通过三极管或者MOS管增强驱动打开LED。

CCLK引脚为Master SPI模式的时钟引脚。同D00_MOSI、D01_DIN、D02、D03都共同为SPI需要。注意,此处供电需要保持一致。如果Vcco_0为1.8V,那么flash芯片也需要按照1.8V规格,比如选择芯片W25Q128JW 或 AT25QL1281C。一般我是选择3.3V。

PUDC_B引脚为配置Select IO pins为默认内部上拉/三态,此引脚禁止悬空。一般同时提供上拉/下拉电阻供开发者自由配置。属于bank 14.

EMCCLK为配置阶段外部时钟,可悬空。

FCS_B为Flash Chip Select (bar)引脚,用于使能flash器件进行初始化配置,为高阻态,可悬空或接上拉电阻。属于bank 14. 当需要读取数据时,此引脚会变为低电平。

VCCBATT引脚用于给密钥供电. 没有加密必要的话可以接地。

2 参考连接图

 

posted @ 2026-08-21 21:59  我千五可以  阅读(1)  评论(0)    收藏  举报