更新镜像这一概念,会有两个完全不一样的概念,需要先说清楚。
1.更新FPGA的配置
这种方案对应Xilinx的bit文件下载和Intel(Altera)的sof文件下载,更新的是FPGA的配置,立即生效。这种方案存在的问题是配置过程中,FPGA的原有配置会被清除掉。此时系统可能做出不正确的反应。例如使用FPGA实现的PCIE设备可能会由于重配置导致PCIE功能失效,部分服务器检测到PCIE设备异常会触发重启,带来影响。
2.更新存储FPGA配置镜像的Flash
这个方法更新的目标是存储FPGA配置的存储器(通常是Flash)。
更新Flash过程中,通过一些措施使FPGA原有设计继续工作不受影响,完成后并不立即生效,FPGA依然是旧镜像;更新Flash之后,在合适的时间触发FPGA的重新配置,配置过程中更新的镜像数据会送往FPGA进行加载;整个过程是相对可控的,所以对系统的影响较小。
所以,可以看到,远程更新方案的需求,总结为以下三点:
1.利用已有的数据通道传输数据
2.将更新数据写入存储FPGA配置信息的存储器中
3.更新Flash的过程中,不要影响FPGA的正常功能
其中第一点,由于可选方案非常多,需要根据系统的需求来决定。关于第一点这里不再讨论,后两点后续将继续介绍。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号
扫描二维码关注杭州卿萃科技FPGA极客空间