前言
- 最近学习FPGA,使用Vivado,照着开发板例程,写了个流水灯的Verilog程序,配置好引脚约束后,下载到开发板,发现下载的速度有点慢,我一查看 生成的 bit文件,发现竟然接近11MB。
- 开始以为是 Vivado 版本出了问题,我先后更换为 Vivado 2018.2 Vivado 2019.2 Vivado 2022.2,生成的 bit 文件,竟然惊奇的一致。
- 开启查看写的代码,发现只写了简单的几句,依旧是 接近 11MB,这样生成的 bin文件,固化到 SPI Flash,会相当的慢
bit 文件瘦身
- 因为之前的一个工程,生成的 bin 文件比较的小,并且代码量很大,所以我对比了一下工程,发现约束文件里,一个配置项没有开启,我开启后,发现生成的代码变小为之前的 1/10左右,也就是不到1MB了
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] /* 开启后bit 文件压缩到很小 */
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR YES [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
#set_property BITSTREAM.CONFIG.SPI_FALL_EDGE YES [current_design]
- 也就是开启:
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] /* 开启后bit 文件压缩到很小 */
Vivado 配置
- 完成综合、实现后,可以打开配置,在配置中设置 Bitstream 文件是否开启压缩
- 注意这个选项需要完成【实现】,也就是【Run Implemention】后
- 配置后,默认会在约束文件增加
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
- 配置压缩bit 文件的选项后,再点击生成 BitStream,发现生成的bit与 bin文件变小了
小结
- 前期学习,需要快速的烧写验证FPGA功能,所以建议开启 【Bitstream 文件的 压缩】选项,让生成的文件变小,加快固件的下载
- Vivado 这个软件工具,功能很强大,当然文件体积也是惊人,几十个GB大小,后面慢慢总结FPGA的开发经验,总结Vivado 的使用技巧,加快学习进度