本篇专门分析FPGA的上电过程,主要分析和总结了如下文章和博客:
https://www.cnblogs.com/synow/p/5500346.html
总结Xilinx FPGA的上电模式可以分为以下4类型:
主模式
典型的主模式都是加载片外非易失( 断电不丢数据) 性存储器中的配置比特流,配置所需的时钟信号( 称为CCLK) 由FPGA内部产生,且FPGA控制整个配置过程。
在主模式下,FPGA上电后,自动将配置数据从相应的外存储器读入到SRAM中,实现内部结构映射;主模式根据比特流的位宽又可以分为:串行模式( 单比特流) 和并行模式( 字节宽度比特流) 两大类。如:主串行模式、主SPI Flash 串行模式、主并行模式等
从模式
从模式需要外部的主智能终端( 如处理器、微控制器或者DSP等) 将数据下载到FPGA中,其最大的优点就是FPGA 的配置数据可以放在系统的任何存储部位,包括:Flash、硬盘、网络,甚至在其余处理器的运行代码中。
在从模式下,FPGA 作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。从模式也根据比特流的位宽不同分为串、并模式两类。
JTAG模式(调试模式)
JTAG 模式为调试模式,可将PC 中的比特文件流下载到FPGA中,断电即丢失。赛灵思公司的FPGA芯片具有IEEE 1149.1/1532协议所规定的JTAG接口,只要FPGA上电,不论模式选择管脚M[2:0] 的电平,都可用采用该配置模式。但是将模式配置管脚设置为JTAG模式,即M[2:0]=3’b101时,FPGA芯片上电后或者PROG_B管脚有低脉冲出现后,只能通过JTAG模式配置。
在JTAG模式中,PC和FPGA通信的时钟为JTAG接口的TCLK,数据直接从TDI进入FPGA,完成相应功能的配置。
系统模式(多片配置模式)
为了解决大规模FPGA的配置问题,赛灵思公司推出了系统级的System ACE(Advanced Configuration Environment) 解决方案。System ACE可在一个系统内,甚至在多个板上,对赛灵思的所有FPGA进行配置,使用Flash存储卡或微硬盘保存配置数据,通过System ACE控制器把数据配置到FPGA中。
附:System ACE的CF(Compact Flash) 模式
System ACE CF存储设备包括赛灵思的ACE Flash卡或其它厂家的Compact Flash卡以及IBM的微硬盘。Compact Flash卡的容量为32MB~4GB,微硬盘的容量为2GB~6GB,至少可配置数百片FPGA芯片。
System ACE CF控制器提供了存储单元和FPGA器件之间的接口,PC和存储器的标准JTAG接口。控制器芯片默认的配置模式也是通过边界扫描的方式将数据配置到FPGA 链中,同样可由边界扫描链的测试和编程接口来辅助进行系统原形的调试。