基于物理资源-配置帧映射的FPGA比特流直接修改:从模型构建到功能验证
《Integration》:Direct Modification of FPGA Bitstream Under Physical Resource-Configuration Frame Mapping: From Model Construction to Functional Verification
【字体:
大
中
小
】
时间:2026年10月17日
来源:Integration 2.5
编辑推荐:
• 我们提出了一种基于逆向工程的 LUT 级 FPGA 比特流修改方法。
• 构建了物理资源 - 配置帧映射模型 (RFMM) 以实现精确的位定位。
• 实现了静态离线和基于 ICAP 的动态运行时修改策略。
• 在 Xilinx 7 系列 FPGA 上的实验显示,单 LUT
• 我们提出了一种基于逆向工程的 LUT 级 FPGA 比特流修改方法。
• 构建了物理资源 - 配置帧映射模型 (RFMM) 以实现精确的位定位。
• 实现了静态离线和基于 ICAP 的动态运行时修改策略。
• 在 Xilinx 7 系列 FPGA 上的实验显示,单 LUT 修改准确率达 100%,跨 SLICE 修改准确率达 94.4% 以上。
• 与传统设计流程相比,静态修改实现了 85%–95% 的稳定迭代时间缩减,而动态修改则能够在不中断 FPGA 操作的情况下实现毫秒级的功能响应。
引言
现场可编程门阵列 (FPGAs) 是灵活可编程和可重构的集成电路,由于其效率、灵活性和低开发成本,广泛应用于数据中心、AI/ML 加速、物联网和嵌入式系统 [1, 2, 3]。与传统软件开发不同,FPGA 设计需要大量的硬件专业知识。开发者通常使用 VHDL 或 Verilog 描述电路行为,然后使用厂商工具(例如 Xilinx Vivado)生成比特流文件——将逻辑设计映射到可配置硬件资源(如可配置逻辑块 (CLBs)、路由开关、数字信号处理 (DSP) 单元、块随机访问存储器 (BRAM) 单元和输入/输出块 (IOBs))的二进制配置 [4]。生成过程涉及多个复杂步骤,包括前端设计、逻辑综合、实现和比特流生成 [5]。
然而,流程中的每个步骤都涉及复杂的计算和漫长的执行时间,这源于两个关键因素。首先,拥有数百万逻辑门的大型设计具有庞大的模块和互连,加剧了综合、实现和路由的复杂性,并延长了执行时间。其次,为实现高效的 FPGA 操作进行的多轮优化(例如时序、资源利用率)增加了计算负载,从而延长了时间。此外,主流厂商工具(例如 Vivado, Quartus)在大规模或迭代比特流生成方面表现出性能瓶颈,导致开发周期延长、设计质量不确定以及市场竞争力降低 [6, 7]。
为缓解这些问题,研究人员提出了几种方法。高层次综合 (HLS) 允许设计师使用 C/C++ 或 OpenCL,提高抽象级别并使软件工程师能够参与 FPGA 设计 [8]。机器学习技术已集成到各种 EDA 阶段(例如逻辑综合、布局、布线),以修剪参数空间探索并缩短运行时间 [9]。动态部分重构 (DPR) 能够在不停止操作的情况下实现运行时修改 FPGA 区域,增强了功能灵活性 [10]。尽管通过 HLS、机器学习集成和 DPR 等技术,开发效率得到了显著改善,但开发周期长、工具链封闭性质和复杂的调试过程等挑战仍然存在。特别是,这些方法仍然依赖于复杂、专有的闭源计算机辅助设计 (CAD) 工具 [11, 12]。为了充分利用 FPGA 在各种应用中的潜力,亟需进一步的研究和改进。
在本工作中,我们采用了一种根本不同的方法:直接比特流操作。比特流包含架构特定的配置指令,这些指令定义了物理资源(CLBs, BRAM, 路由等)的行为。通过直接修改比特流,我们可以在不经过冗长的设计和综合步骤的情况下,实现 FPGA 原语的细粒度重构。图 1 比较了传统设计流程与基于比特流操作的提议流程,展示了显著的简化。
近年来,学者们提出了比特流操作的方法和工具。例如,基于比特流逆向工程,TORC [13]、BITMAN [14] 和 RapidSmith [15] 等工具能够修改比特流以重构内部 FPGA 资源。然而,它们不支持 Xilinx 7 系列 FPGA 或更新的世代。比特流修改主要应用于网络安全相关领域,实施硬件木马、故障注入及相应的防御策略。例如,J Kataria, R Housley 等人 [16] 提出直接篡改 FPGA 比特流以绕过 Cisco Trust Anchor Module (TAm) 的安全机制,并规避 Cisco 路由器中的系统级信任根。此外,Kalle Ngo 等人 [17] 提出了一种针对 ISO/IEC 29192-3 国际标准中指定的 Trivium 流密码的比特流篡改攻击,以恢复密钥。Swierczynski P 等人 [18] 引入了一种称为比特流故障注入 (BIFI) 的技术,该技术自动向 FPGA 比特流注入故障,导致 FPGA 操作期间某些位发生变化,从而导致 FPGA 输出结果出现错误。这些研究专注于特定案例或指定设备,缺乏比特流修改的标准化框架,这阻碍了它们在大规模 FPGA 应用中的可扩展性。此外,这些工具所依赖的比特流逆向工程算法效率低且通用性差。这些局限性促使我们探索一种绕过专有工具链并能够实现 FPGA 细粒度 LUT 级重构的直接比特流操作方法。
总之,为应对 FPGA 设计的复杂性和低效率,我们提出了一种直接比特流操作方法以实现灵活的 FPGA 重构。基于物理资源 - 配置帧映射模型 (RFMM) 的构建,我们实现了静态和动态两种在比特流级别执行逻辑修改的方法。此外,本文提出了标准化的 FPGA 配置帧寻址和物理资源定位算法,这也能够有效支持 FPGA 比特流逆向工程的相关研究。实验结果表明,该方法有效且可行,并有潜力显著提高 FPGA 开发的效率和灵活性。
本工作的主要困难在于两个方面:首先是二进制比特流格式的复杂性引起的解析难度,这需要对 FPGA 架构和比特流结构进行深入了解才能进行直接操作。其次是 FPGA 设计工具(如 Vivado 和 Quartus)支持不足引起的实现难度。这些官方工具只能通过传统的综合、实现和比特流生成过程来完成设计。我们需要独立开发特定的工具或脚本来进行直接比特流操作,这增加了开发的复杂性。
本文的主要贡献总结如下:
• 我们建立了一个可扩展的比特流映射模型,提出了形式化的映射函数,并定义了位顺序规则的数学表示,这进一步推动了比特流逆向工程技术的研发。
• 我们提出了两种比特流操作方法:一种是针对静态比特流文件,另一种是在 FPGA 运行时启用比特流的动态操作,这也是比特流逆向工程技术的典型应用。
• 我们通过实验验证了通过直接修改比特流来改变原始功能的有效性。这可以作为新一代 EDA 工具的功能补充,便于快速完成逻辑修复和验证。
本文其余部分组织如下。第 2 节介绍 FPGA 架构和比特流结构,并回顾了有关比特流逆向工程和修改的相关工作。第 3 节介绍了我们的方法的假设。第 4 节讨论了基于资源和帧映射模型所提出的比特流修改方法论的实现。第 5 节描述了实验设计和分析。第 6 节讨论了局限性和未来方向。最后一节是结论。
章节片段
FPGA 架构和比特流结构
可编程逻辑单元 (PLU) 是 FPGA 的核心组件。官方上,Xilinx FPGA 将其称为可配置逻辑块 (CLB)。CLBs 由 SLICE 组成,每个 SLICE 由查找表 (LUTs)、多路复用器 (MUXs)、触发器 (FFs) 和进位链等组件组成。这些组件可以通过比特流数据进行配置,以实现期望的功能。
有必要介绍 LUTs,它们是 FPGA 中最基本的逻辑单元。具有高灵活性
假设
为了开展 FPGA 比特流修改技术的研究,必须基于以下关键假设和前提。这些约束将直接影响研究的可行性和有效性。
• 硬件访问权限和可控性。假设我们具有对目标 FPGA 的物理或逻辑访问权限,并且可以重新加载篡改后的比特流。FPGA 可以通过 JTAG、SelectMAP 或 ICAP 接口进行配置。此外,支持 DPR 的 FPGA 可以更多
物理资源 - 配置帧映射模型
建立 FPGA 物理资源与比特流配置位之间精确映射关系的数学描述是一项关键任务,这是实现配置比特流的结构性解析和 LUT 针对性修改的先决条件。
基于 Xilinx 7 系列 FPGA 的配置架构,我们定义了四个核心功能:资源定位函数 Γ,帧地址映射函数 Φ,位置函数 Ψ,和全局比特流
实验设置
实验中,选择 Xilinx Artix-7 XC7A35T FPGA 作为目标设备,根据 7 系列 FPGA 数据手册:概述 (DS180) [32],该设备集成了 33,280 个逻辑单元,组织为 5,200 个 SLICE,每个 SLICE 包含四个 6 输入 LUT 和八个触发器。应强调的是,这里报告的 23 个 CLB Tiles、140 个 SLICE 单元和 560 个 LUT6 模块对应于我们实验覆盖的评估区域,而不是整个设备的整体资源;开发
应用场景
提议的方法支持静态比特流文件和动态运行时场景下的 LUT 级比特流修改和逻辑重建,避免了重复的综合和实现以缩短开发。典型的应用场景包括以下。
1) 自适应计算和实时算法调优。在雷达信号处理和通信调制/解调等应用中,基于 LUT 的核心逻辑(例如滤波、调制、解调)可以动态
结论
基于提议的映射模型和形式化映射函数,本工作提出了两种 FPGA 的 LUT 级比特流操作方法:用于比特流文件的离线静态修改和运行期间的在线动态修改。实验验证证实,该方法通过直接 LUT 级比特流修改有效改变了原始功能。在可行性方面,所提出的 LUT 级比特流修改方法可以正确实现逻辑功能
利益冲突声明
? 作者声明没有已知的竞争经济利益或个人关系可能影响本文报告的工作。
致谢
本研究由中国国家重点研发计划 (2021YFB3101804) 支持。
作者
曹飞 | 陈志锋 | 张桂民 | 陈家辉
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号