vivado码流压缩

目录

1.常见的码流文件

[2. 通过约束压缩比特流文件](#2. 通过约束压缩比特流文件)


记录目的:优化远程维护及在轨重构效率。由于比特流大小直接挂钩 Flash 烧录带宽与 FPGA 配置耗时,本项研究聚焦于"码流压缩"技术。核心目标是通过缩减文件规模,提升数据链路利用率,并缩短系统重新上电后的配置响应时间。

1.常见的码流文件

vivado可以导出不同的码流文件,如下图所示:

常见的码流说明如下:

文件后缀 名称 格式 包含内容 主要用途
.bit Bitstream 文件 二进制 含文件头(芯片型号、创建日期等)+ 逻辑配置数据 默认格式。用于 Vivado JTAG 直接下载到 FPGA 内部(掉电丢失)。
.bin Binary 文件 二进制 纯配置数据(无文件头) 常用。用于 SPI/BPI Flash 烧录。其起始位置就是第一条配置指令。
.rbt Raw Bit 文件 ASCII 文本 十六进制/二进制文本 + 文本文件头 调试用。可以用记事本打开。你的压缩工具通常要求此格式作为输入。
.msk Mask 文件 二进制 屏蔽位信息 用于验证码流。区分配置数据中哪些是常数,哪些是会随运行变化的(如回读校验)。
.mcs PROM 文件 ASCII (Intel Hex) 带校验和的配置数据 传统的 ISE 时代文件格式,用于固化到外部 PROM/Flash。

其中,.bit和.bin文件都可以通过JTAG下载。.rbt文件用于772所的压缩文件功能。其他的码流形式很少用到。

2. 通过约束压缩比特流文件

在 Vivado 中,可以通过在 .xdc 文件中添加以下约束来启用压缩功能。XDC 约束代码:

复制代码
# 开启比特流压缩
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
  • 原理:Vivado 使用多帧写(Multi-frame Write)技术。当发现多个配置帧(Frame)的内容完全一致时,比特流指令会指示 FPGA :"将这一份数据同时写入以下 N 个地址"。

  • 预期效果 :通常能减小 30% - 60% 的文件体积。

通过开启压缩约束,对比了同一份工程生成的比特流大小变化:

压缩前:

压缩之后:

可以看得到压缩效果还是很厉害的,减少了91%左右的文件体积。

以上就是本次笔记的记录。

相关推荐
初雪白了头22 分钟前
三模冗余检测并隔离故障模块
fpga开发
ehiway23 分钟前
FPGA在光纤互感器与行波测距系统中的应用研究
fpga开发
FPGA小c鸡20 小时前
FPGA卷积层流水线加速:从入门到精通(附完整SystemVerilog实现)
fpga开发
数字芯片实验室20 小时前
仿真器出bug了?分频时钟竞争的诡异仿真现象
fpga开发·bug
从此不归路21 小时前
FPGA 结构与 CAD 设计(第4章)下
fpga开发
Terasic友晶科技1 天前
7-DE10-Nano的HDMI方块移动案例的整体实现(含Quartus完整工程免费下载)
fpga开发·i2c·pll·de10-nano·hdmi传输·方块移动案例·quartus prime
碎碎思1 天前
使用 Arm Cortex-M1 实现低成本图像处理系统 的 FPGA 方案详解
arm开发·图像处理·人工智能·fpga开发
minglie11 天前
PetaLinux工程目录设备树文件结构与作用
fpga开发
最遥远的瞬间1 天前
二、FPGA程序固化
fpga开发
Ghost Face...1 天前
内存调试:2T/3T模式配置实战指南
fpga开发