FPGA基础配置
1 常见配置引脚
序号 | 配置引脚 | 功能描述 |
---|---|---|
1 | TCK/TMS/TDI/TDO | JTAG配置模式,其中TCK/TMS采用10K上拉电阻,使用JTAG菊花链时TDO连接到下一级TDI,TCK不同型号需求频率不同。 |
2 | M[2:0] | 配置模式选择位。M2,M1,M0均接上拉电阻,即M[2:0]=111时为从串模式。 |
3 | CCLK | 配置时钟位,上升沿有效,主模式为输出,从模式为输入,JTAG模式输出高阻。 |
4 | DIN | 串行数据输入位 |
5 | DOUT | 行数据输出位 |
6 | PROG_B | 低电平异步复位FPGA内部逻辑位。内部配置空间完全复位后,该引脚输出高电平。 |
7 | INIT_B | 由低电平到高电平跳变时,采样配置模式选择位M[2:0],确定配置方式。 |
8 | DONE | 复位时为低电平,若配置成功则为高电平。 |
9 | PUDC_B | 低电平是时内部上拉电阻使能,所有BANK IO管脚默认输出高电平。 |
10 | EMCCLK | 外部主模式配置时钟。 |
11 | CSB_I | 片选信号输入。 |
12 | CSO_B | 片选信号输出。 |
13 | RDWR_B | 决定了SelectMAP数据总线方向。 |
14 | D00_MOSI | 主机输出、从机输入,不同模式下功能有差距,具体见手册。 |
15 | D01_DIN | 数据输入,不同模式下功能有差距,具体见手册。 |
2 配置顺序
配置顺序概述:
①系统上电后,首先将PROG_B置为高电平(通过外接上拉电阻),之后FPGA将PROG_B置为低电平,此时配置存储、BRAM、FF等复位为初始状态,INIT_B被拉低电平,IO倍配置为高阻态,如果PUDC_B为低电平,IO配置内部上拉电阻使能,PROG_B延时100 μs充分复位内部逻辑后,将PROG_B置为高电平。
②INIT_B保持低电平直到PROG_B置高电平大于50us后,FPGA将INIT_B置为高电平,在INIT_B由低向高跳变的瞬间,采样配置模式选择位M[2:0],选择配置模式。
③FPGA采样配置模式后,微处理器开始配置FPGA时钟CCLK和数据,在CCLK的每个上升沿,每bit数据被传入到DIN,数据字节先发低位,再发高位,配置过程中若发生错误,则INIT_B呈现低电平。
④配置数据传送过程中,首先传输32位同步码序列,用于对齐FPGA逻辑和配置数据,然后传输设备ID,若配置过程发生错误,DONE和INIT_B将被FPGA拉低,若正确传输,FPGA将进行下一步,加载配置数据并进行CRC校验,无误后配置完成,且DONE、INIT_B呈现高电平。
⑤DONE为高后,FPGA释放全局三态(GTS),激活IO管脚,释放全部置位复位(GSR)和全局写使能(GWE)有效,开始执行配置区里的逻辑,模式配置完成。
3 配置模式
配置模式主要分两种:主模式、从模式。
3.1 主配置模式
FPGA提供时钟主动加载配置数据的方式称为主模式,在主模式下,FPGA上电且初始化完成之后,通过读取模式管脚得到主启动模式,从而启动FPGA内置的主动配置电路,通过从内部产生配置时钟,将外存储器程序加载到FPGA内部,实现内部结构映射。主配置模式根据数据位宽又分为主串和主并两种模式。PS:外存储器的配置文件大小和FPGA芯片有关,与本身设计复杂度无关,因为同一个型号内部SRAM大小是一定的,配置文件就是内部SRAM的总和,且存储器容量一定要大于配置文件大小。
1 主串配置模式
时钟有FPGA输出,且此时常使用PROM存储待加载程序文件。
2 主SelectMAP配置模式
主SelectMAP配置模式和从SelectMAP模式结构类似,只是FPGA时钟方向此时为输出。
3 主SPI FLASH配置模式
主SPI FLASH配置模式根据数据线的位宽也分为两种,此时FPGA时钟为输出。
Series FPGA SPI x1/x2:
Series FPGA SPIx4:
4 主BPI FLASH配置模式
主BPI FLASH控制、地址、数据总线如下所示,时钟方向为输出。
3.2 从配置模式
1 从串配置模式
从串配置方式、和主串配置类似,此时时钟方向为输入。
2 从SelectMAP配置模式
从SelectMAP配置方式、和主 SelectMAP配置类似,此时时钟方向为输入。
3 JTAG配置模式
JTAG配置模式,连接方式如下
4 实战