| 另外FPGA上还有两个比较重要的引脚:M0、M1,这两个引脚的高低电平组合不同代表了不同模式的选择,以Spartan6为例具体如下: Configuration Mode           M[1:0]       Bus Width         CCLK Direction
 Master Serial/SPI                 01             1, 2, 4                Output
 Master SelectMAP/BPI         00               8, 16                Output
 JTAG                                    xx                  1                   Input (TCK)
 Slave SelectMAP                 10               8, 16                   Input
 Slave Serial                         11                   1                     Input
 所以这里M1接地,M0接高电平,采用主串模式读取。
 
 当M0、M1引脚配置无误之后FPGA在上电时就可以从PROM里读取数据了,此时相关的几个引脚有:CCLK、INTB、DONE、ProgramB和DIN如图所示可以看到它们分别与clk、OE/RESET、CE、CF、D0相连。这几个引脚的定义可以参见PROM和相关型号FPGA文档,作用分别是配置时钟、复位和使能、配置完成、串行数据传输。这几个引脚除了D0不需要上拉外在datasheet上都要求上拉了,不过在许多开发板上CCLK信号时候不下拉的,本人尝试了未接下拉依然可以正常传输,不知这样有什么影响。
 每次上电的操作时序如下:
 BUSY信号可以不接,在CE拉低和OE拉高之后开始传输数据,PROM中数据传输完成之后DONE拉高。
 主要配置流程分4个阶段:存储器清除、初始化、装入配置数据、启动器件。
 
 |