主串模式——最常用的FPGA配置模式。
在主串模式下,由 FPGA 的 CCLK 管脚给 PROM 提供工作时钟,相应的 PROM 在 CCLK 的上升沿将数据。从 D0 管脚送到 FPGA 的 DIN 管脚。无论 PROM 芯片类型 ( 即使其支持并行配置 ),都只利用其串行配置功能。
主串配置电路最关键的 3 点就是 JTAG 链的完整性、电源电压的设置以及 CCLK 信号的考虑。
多片FPGA通信:
SPI串行Flash($44.9500)配置模式:
串行Flash($44.9500)的特点是占用管脚比较少,作为系统的数据存贮非常合适,一般都是采用串行外设接口 (SPI 总线接口 )。
FPGA 通过 SCLK 控制双方通信的时序,在 SS_n 为低时,FPGA 通过 MOSI 信号线将数据传送到Flash($44.9500),在同一个时钟周期中,Flash($44.9500)通过 SOMI 将数据传输到FPGA 芯片。无论主、从设备,数据都是在时钟电平跳转时输出,并在下一个相反的电平跳转沿,送入另外一个芯片。
从串配置模式:
在串行模式下,需要微处理器或微控制器等外部主机通过同步串行接口将配置数据串行写入 FPGA 芯片,其模式选择信号 M[2:0]=3’b111。
DIN 输入管脚的串行配置数据需要在外部时钟CCLK 信号前有足够的建立时间。其中单片FPGA 芯片构成了完整的JTAG 链,仅用来测试芯片状态,以及支持 JTAG 在线调试模式,与从串配置模式没有关系。外部主机通过下拉 PROG_B启动配置并检测 INIT_B 电平,当 INIT_B 为高时,表明 FPGA 做好准备,开始接收数据。此时,主机开始提供数据和时钟信号直到 FPGA 配置完毕且 DONE 管脚为高,或者 INIT_B 变低表明发生配置错误才停止。整个过程需要比配置文件大小更多的时钟周期,这是由于部分时钟用于时序建立,特别当 FPGA 被配置为等待 DCM锁存其时钟输入。
以下是重串模式的多片FPGA通信:
JTAG配置模式:
将模式配置管脚设置为 JTAG 模式,即 M[2:0]=3’b101时,FPGA 芯片上电后或者 PROG_B 管脚有低脉冲出现后,只能通过 JTAG 模式配置。JTAG 模式不需要额外的掉电非易失存储器,因此通过其配置的比特文件在 FPGA 断电后即丢失,每次上电后都需要重新配置。由于JTAG 模式已更改,配置效率高,是项目研发阶段必不可少的配置模式。
System ACE配置方案:
随着 FPGA 成为系统级解决方案的核心,大型、复杂设备常需要多片大规模的 FPGA。如果使用 PROM 进行配置,需要很大的 PCB 面积和高昂的成本,因此很多情况下都利用微处理由从模式配置 FPGA 芯片,但该配置方案容易出现总线竞争且延长了系统启动时间。为了解决大规模 FPGA 的配置问题,赛灵思公司推出了系统级的 System ACE(Advanced($339.6600)Configuration Environment) 解决方案。
System ACE 可在一个系统内,甚至在多个板上,对赛灵思的所有 FPGA 进行配置,使用Flash($44.9500)存储卡或微硬盘保存配置数据,通过 System ACE 控制器把数据配置到 FPGA 中。目前,System ACE 有 System ACE CF(CompactFlash($44.9500))、System ACE SC(Soft Controller) 以 及 System ACE MPM(Muti-Package Module) 三 种。