FPGA版本管理(二)Vivado自动版本号

本文详细介绍了如何在Vivado中实现自动版本号管理,包括使用宏定义赋值版本号寄存器、制作TCL脚本以及修改QSF文件的步骤。通过自动化脚本,每次综合开始前都会更新版本号,确保设计文件的版本控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相比于,上一篇FPGA版本管理(一)Quartus自动版本号所述,实现Vivado的自动版本号,会稍微麻烦一点点。

对比与Quartus的实现,Vivado的实现,前两步基本一模一样的,区别主要在Step 3.

  • Step 1.使用宏定义赋值版本号寄存器
  • Step 2.制作TCL脚本
  • Step 3.修改QSF文件

下面介绍详细的步骤:

Step 1. 使用宏定义赋值版本号寄存器

使用宏定义的方式写RTL中的版本号。

//版本号
assign version      = `VERSION;
assign compile_date = `COMPILE_DATE;
assign compile_time = `COMPILE_TIME;

将版本号的宏定义单独放在1个.h文件中,如:version.h

`define VERSION       32'hAAAA_BBBB
`define COMPILE_DATE  32'h2020_0423
`define COMPILE_TIME  32'hFF23_2325

Step 2. 制作TCL脚本

使用TCL自动化脚本,用于生成版本号。TCL每运行一次,重新更改一次version.h中的内容。
version_gen.tcl脚本如下:

#version_gen.tcl

set dat [clock format [clock seconds] -format{%Y-%m-%d %H:%M:%S}]
puts stdout $dat

set date [clock format [clock seconds] -format{%Y%m%d}]
set tiem [clock format [clock seconds] -format{%H%M%S}]

#注意修改version.h的路径
set file "./version.h"
set fileid [open $file w+]
seek $fileid 0 start
puts $fileid "`define VERSION       32'hAAAABBBB"
puts $fileid "`define COMPILE_DATE  32'h$date   "
puts $fileid "`define COMPILE_TIME  32'hFF$time "
close $fileid

Step 3. Vivado工程配置

Vivado要在综合前,运行tcl脚本,重点需要关注的是其脚本的路径问题。有两种设置方式:

3.1在VIVADO的GUI中设置

在vivado的Settings中,Synthesis一栏中的tcl.pre中设置需要执行的tcl的路径。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXcbvk3Q-1589125735064)(_v_images/20200510232412628_6963.png)]
按上文设置后,每次综合开始前便会运行tcl脚本。但是这里有个问题,运行tcl脚本生成的version.h文件不在预想的位置。默认生成文件的位置在<project>/<project.runs>/<run_name>
在这里插入图片描述
所以需要更改version.h的位置。以我的工程目录结构为例:

my_fpga_prj
    -ipcore
    -src
    -xdc
    -prj
        -my_fpga_prj.runs
            -synth_1
        

默认的路径在synth_1中,但我需要verison.h放在src目录下。所以,在version.tcl脚本中需要修改version.h生成的路径为

#注意修改version.h的路径
set file "./../../../src/version.h"

或者说,不修改version.h的路径,在引用version.h的时候添加对应的路径亦可。

3.2直接在tcl脚本中进行设置

也可以不再GUI中设置,直接在工程的运行脚本中添加相应的tcl命令。

set obj [get_runs synth_1]
set_property -name "part" -value "xczu4cg-fbvb900-1-e" -objects $obj
set_property -name "strategy" -value "Vivado Synthesis Defaults" -objects $obj

#在这里添加
set_property -name "steps.synth_design.tcl.pre" -value "[file normalize "$origin_dir/../tcl/version_gen.tcl"]" -objects $obj
### Vivado 2025 安装教程与指南 Vivado 是 Xilinx 提供的一款功能强大的集成开发环境,主要用于 FPGA 和 SoC 的设计与开发。以下是 Vivado 2025 的安装方法和相关指南[^1]。 #### 系统要求 在安装 Vivado 之前,请确保计算机满足以下系统要求: - 操作系统:Windows 10/11(64位),Linux(如 Ubuntu、CentOS)。 - 处理器:Intel 或 AMD 多处理器。 - 内存:建议至少 16 GB RAM。 - 磁盘空间:需要至少 100 GB 可用空间,具体取决于安装的组件。 - 显卡:支持 OpenGL 2.0 的显卡[^1]。 #### 下载地址 Vivado 的官方下载地址为 Xilinx 官方网站。请访问以下链接并注册账号以获取 Vivado 2025 的安装包: [Xilinx 官方下载页面](https://www.xilinx.com/support/download.html)[^1] 在下载页面中选择对应的版本(Vivado 2025)以及目标操作系统。下载完成后,将获得一个 `.exe` 文件(适用于 Windows)或 `.bin` 文件(适用于 Linux)。 #### 安装步骤 以下是 Vivado 2025 在 Windows 系统上的安装步骤: 1. **运行安装程序** 双击下载的安装文件(例如 `Xilinx_Unified_2025.*.exe`),启动安装向导。如果使用的是 Linux 系统,请先赋予文件可执行权限,然后运行安装脚本: ```bash chmod +x Xilinx_Unified_2025.*.bin ./Xilinx_Unified_2025.*.bin ``` 2. **接受许可协议** 阅读并接受 Xilinx 软件许可协议。 3. **选择安装路径** 设置安装目录,默认路径通常为 `C:\Xilinx\Vivado\2025`。 4. **选择安装组件** 根据需求选择需要安装的组件,包括但不限于: - Vivado Design Suite - SDK(Software Development Kit) - Drivers and Programming Files 5. **配置许可证** 如果使用浮动许可证,请确保网络连接正常,并输入正确的许可证服务器地址。对于单机版许可证,可以稍后通过 License Manager 进行激活。 6. **完成安装** 安装完成后,启动 Vivado 并验证安装是否成功。 #### 注意事项 - 安装过程中可能需要管理员权限,请以管理员身份运行安装程序。 - 建议关闭所有不必要的后台程序以释放更多内存资源。 - 如果遇到安装问题,可以参考 Xilinx 官方文档或社区论坛[^1]。 ```python # 示例代码:验证 Vivado 版本 import subprocess def check_vivado_version(): try: result = subprocess.run(['vivado', '-version'], capture_output=True, text=True) print("Vivado Version:", result.stdout.strip()) except FileNotFoundError: print("Vivado is not installed or not in the system PATH.") check_vivado_version() ```
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值