FPGA固件配置:解决SRAM丢失问题与主动串行配置方案

需积分: 34 13 下载量 172 浏览量 更新于2024-09-05 收藏 150KB DOCX 举报
本文档主要探讨了FPGA固件程序烧写配置方案,特别是针对Intel和Xilinx的FPGA芯片,它们通常采用基于SRAM的查找表结构。由于SRAM在断电时会丢失数据,这导致了在使用JTAG下载SOF固件后,如果FPGA芯片掉电,先前配置的数据将不再有效。这就引出了如何确保FPGA长期保持固件的问题。 常规的解决方案是采用主动串行配置(AS)技术。AS通过在FPGA外部连接一个非易失性存储器,如EPCS、QFLASH或并口FLASH,用来存储预先设计的电路固件。FPGA内部有一个专门的硬件电路,在上电时会自动从这些存储器加载并配置SRAM,从而实现上电后立即具有有效配置数据的能力。这种配置方式不需要每次都依赖于JTAG下载,提高了效率和稳定性。 早期,Altera曾推荐自家的EPCS作为配置芯片,它实际上是带有SPI接口的串行Flash,经过严格的测试性能优良。然而,随着半导体工艺的进步,许多其他厂商生产的SPI接口Flash芯片也达到了EPCS的技术标准,如芯路恒AC620中使用的华邦W25Q16,它以性价比高和性能稳定著称,可以替代EPCS作为配置芯片。 对于Cyclone系列的FPGA,烧写配置固件有两条途径:一是传统的方式,使用专用的AS接口直接对配置芯片进行烧写;另一种是利用FPGA的AS功能,通过独立于JTAG的接口进行操作,这提供了更加灵活且稳定的配置选项。本文档详细解释了如何在FPGA设计中处理掉电数据丢失问题,并介绍了不同厂商的产品和技术选择,帮助工程师理解和实施有效的FPGA固件配置策略。