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

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

相关推荐
FPGA的花路16 小时前
UDP协议
fpga开发·以太网·udp协议
LCMICRO-133108477461 天前
长芯微LPS123完全P2P替代ADP123,高性能、低压差的线性稳压器
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·线性稳压器
fei_sun1 天前
面经、笔试(持续更新中)
fpga开发·面试
xixixi777771 天前
通信领域的“中国速度”:从5G-A到6G,从地面到星空
人工智能·5g·安全·ai·fpga开发·多模态
Nobody331 天前
Verilog always语句详解:从组合逻辑到时序逻辑
fpga开发
李嘉图Ricado1 天前
FPGA 时序约束与分析
fpga开发
白又白、1 天前
时序优化和上板调试小结
fpga开发
Z22ZHaoGGGG2 天前
verilog实现采样电流有效值的计算
fpga开发
fei_sun2 天前
牛客Verilog刷题篇
fpga开发
my_daling2 天前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(1)
学习·fpga开发