3.配置操作过程 CPU按下列步骤操作I/O口线,即可完成对FPGA的配置:
1. nCONFIG="0"、DCLK="0",保持2μS以上。 2. 检测nSTATUS,如果为"0",表明FPGA已响应配置要求,可开始进行配置。否则报错。正常情况下,nCONFIG="0"后1μS内nSTATUS将为"0"。 3. nCONFIG="1",并等待5μS。 4. Data0上放置数据(LSB first),DCLK="1",延时。 5. DCLK="0",并检测nSTATUS,若为"0",则报错并重新开始。 6. 准备下一位数据,并重复执行步骤4、5,直到所有数据送出为止。 7. 此时Conf_done应变成"1",表明FPGA的配置已完成。如果所有数据送出后,Conf_done不为"1",必须重新配置(从步骤1开始)。 8. 配置完成后,再送出10个周期的DCLK,以使FPGA完成初始化。
注意事项:
1. DCLK时钟频率的上限对不同器件是不一样的,具体限制见下表:
型号 | 最高频率 | ACEX1K、FLEX10KE、APEX20K | 33MHz | FLEX10K | 16MHz | APEXII、APEX20KE、APEX20KC | 57MHz | Mercury | 50MHz |
2. 步骤7中FPGA完成初始化所需要的10个周期的DCLK是针对ACEX 1K和FLEX 10KE的。如果是APEX 20K,则需要40个周期。 3. 在配置过程中,如果检测到nSTATUS为"0",表明FPGA配置有错误,则应回到步骤1重新开始。
图 5 操作流程框图 |