Xilinx FPGA在线升级——升级思路

2024-08-30 15:20
文章标签 fpga 在线 升级 思路 xilinx

本文主要是介绍Xilinx FPGA在线升级——升级思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、绪论

网上很多文章都讲述了Xilinx FPGA在线升级即回退的优势,在这里仅简述一遍。优势在于可不拆机的情况下改变FPGA的功能,可进行产品迭代。回退的优势是避免升级过程中一些突发情况导致板卡成为废板。至少Golden里面包含了可进行升级的部分代码。

二、通信架构

在线升级架构

FPGA上电后,会从FLASH的0地址中根据模式进行读取配置数据,进而实现FPGA的加载启动。因此实现FPGA在线升级的本质就是FLASH的控制,为此有上图所示的通信架构。

PC为上位机,用来监控整个整机流程。FPGA内部的decode模块实现了对上位机的解码,并将控制命令传输到falsh_ctrl模块,falsh_ctrl模块则是实现了flash的所用控制功能。encode模块则是实现了升级状态的上传,用于上位机检测是否升级完成。

三、升级思路

1.整体思路

在线升级就是更改flash的内容,在对flash内容改写前需要对falsh进行擦除,因为falsh只能同1变成0,在擦除时是讲内存数据全部变成1。
然后就需要将升级数据从上位机写入到flash中,这部分是由你的通信方式决定,大部分时间会在这个阶段被浪费掉,因此通信速率决定了升级时间。我测试过使用UART进行升级,一个3M的升级文件大概需要仅半个小时。
为了验证数据正确被写入,还需要把写入的升级数据回读回来,与升级文件进行对比,只有回读的数据与写入的相同才认为升级成功。
综上,升级整体思路如下:

  1. 擦除flash
  2. 写入升级数据
  3. 回读升级数据,并与升级文件做对比

2. 传统的升级思路

该部分升级思路是按照整体升级思路进行升级。首先进行擦除,其次将升级数据写入到flash中,紧接着就是将升级数据在回读到上位机上,通过上位机与升级文件进行对比,从而判断升级是否成功。

3.改良版升级思路

该部分主要是为了降低升级的时间。传统的升级思路消耗的时间主要是在擦除过程、通信过程,还有就是文件对比过程。FPGA的速度肯定是比PC快的。把大部分时间用FPGA做可节省大量的时间。

  1. 从擦除过程中节省
    擦除分全擦除、block擦除等。可根据文件大小,只擦除指定的block块。

  2. 从通信速度上节省
    选择一个比较块的通信方式,如PCIE、GTX等。作者实测过使用UART升级一个3M多的文件大约需要半个小时。

  3. 校验方式进行改进
    传统的是将所有写入的数据再回读到上位机,并于升级文件做对比,这将消耗大量的通信时间以及对比时间。可在软件下发升级文件时先对升级文件做CRC校验(soft_crc),FPGA接收到升级文件后再对升级数据进行一次CRC校验(fpga_crc),在回读flash时再对flash数据进行CRC校验(flash_crc)。最后对比这三个数据是否相等,仅有三个同时相等才认为升级成功。并且通过这种方式还可以判断升级过程中是哪些原因导致的升级失败。

这篇关于Xilinx FPGA在线升级——升级思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121194

相关文章

kkFileView在线预览office的常见问题以及解决方案

《kkFileView在线预览office的常见问题以及解决方案》kkFileView在线预览Office常见问题包括base64编码配置、Office组件安装、乱码处理及水印添加,解决方案涉及版本适... 目录kkFileView在线预览office的常见问题1.base642.提示找不到OFFICE组件

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。