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%左右的文件体积。

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

相关推荐
JJRainbow5 小时前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
s9123601016 小时前
FPGA眼图
fpga开发
北京青翼科技7 小时前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库
minglie18 小时前
verilog信号命名规范
fpga开发
XINVRY-FPGA11 小时前
中阶FPGA效能红线重新划定! AMD第2代Kintex UltraScale+登场,记忆体频宽跃升5倍
嵌入式硬件·fpga开发·硬件工程·dsp开发·fpga
南檐巷上学16 小时前
基于FPGA的音频信号监测识别系统
fpga开发·音频·verilog·fpga·傅立叶分析·fft·快速傅里叶变换
Aaron15881 天前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
碎碎思1 天前
当 FPGA 遇见怀旧计算:486 与 Atari ST 的硬件级重生
fpga开发
数字芯片实验室1 天前
怎么定义芯片上的异步时钟?
单片机·嵌入式硬件·fpga开发
unicrom_深圳市由你创科技1 天前
基于ARM+DSP+FPGA异构计算架构的高速ADC采集卡定制方案
arm开发·fpga开发