虽然FPGA的装备形式各不相同,但整个装备进程中FPGA的作业流程是共同的,分为三个部分:设置、加载、发动。
复位完毕装备开端
有多种方法使FPGA的装备进入这一进程。在上电时,电压到达FPGA要求之前,FPGA的上电复位模块将使FPGA保持在复位状况;外部操控PROG_B引脚呈现一个低脉冲也能够使FPGA保持在复位状况。
铲除装备存储内容
这一步称为初始化,当FPGA复位完毕,装备存储器的内容会被自动铲除。在这个进程中,除装备专用接口外,FPGA I/O均被置于高阻态。在整个初始化进程中,INIT_B引脚被置低并在初始化完毕后康复高电平。假如INIT_B信号在外部被拉低,FPGA将一向停留在初始化状况。留意PROG_B信号的脉宽不能太窄。
采样操控信号
初始化完毕后,INIT_B信号回到高电平。FPGA开端收集形式挑选引脚M[1:0]和变量挑选引脚VS。假如为自动形式,FPGA很快就会给出有用的CCLK。VS信号只在自动BPI及其SPI形式中收效。此刻,FPGA开端在装备时钟的上升沿对装备数据进行采样。
同步化
每一个FPGA装备数据流都有一个同步头,它是一段特别的同步字。同步字首要用于协助FPGA确认正确的数据方位。同步字之前的装备数据都会被FPGA疏忽,也便是FPGA仅仅在同步化之后才正式开端接纳装备数据。一般来说,同步字都是由0/1数目相同的二进制数组成的,如Spartan3为AA995566。
ID查看
FPGA同步化后,会自动检测装备流中的器材ID和方针器材ID是否共同。这一步保证了FPGA不会被过错的装备流误装备。
32位的ID中包含了28位的特征值和4位掩码。特征值包含厂商信息,器材族,器材规划等。当器材ID查看遇到问题时,FPGA会将内部寄存器的第一位ID_Err置高,软件也会显现过错信息。
载入装备内容
在ID查看顺畅通往后,FPGA开端加载装备数据。
CRC校验
在加载数据进程中,FPGA会对每一帧数据进行CRC校验。假如失利,FPGA会将INIT_B信号拉低并停止装备进程。
发动序列
FPGA装备数据加载完后,FPGA进入发动序列。发动序列事情的默许次序为先开释DONE引脚,然后激活I/O,最终发动写使能。实际使用中,能够经过BitGen参数对发动次序进行设置来满意不同的需求。