Vivado版本号管理

Vivado支持通过脚本的方式自动生成版本号,即每次重新开始综合的时候,会将vivado.verision.vh文件中记录的时间和日期进行覆盖。实现方式如下:

1. Vivado工程下建两个文件夹,src和tcl文件夹。两个文件具体内容见下文。

        src:用来存放 vivado_verision.vh  

        tcl:用来存放 version_gen.tcl

2. 在工程顶层文件中通过 `include 命令,将vivado_verision.vh添加到头部。具体索引路径根据自己工程实际情况进行修改。示例:

3. 按照下图所示配置,打开Vivado设置界面,点击Synthesis选项,在tcl.pre*  栏里选择version_gen.tcl文件,确认即可。

Vivado版本号管理_第1张图片

注意事项:

1. vivado_verision.vh不需要手动添加到工程文件里。否则会导致每次综合实现后会有如下提示: 

Synthesis and Implementation Out-of-date 

vivado_verision.vh文件内容:

`define VERSION       32'h00010001	
`define COMPILE_DATE  32'h19970101   
`define COMPILE_TIME  32'hFF240000 

version_gen.tcl文件内容:

#!/usr/bin/tclsh
#version_gen.tcl
#在这里设置版本号
set veri	00010001		
#在这里设置路径
set file "./../../../src/vivado_verision.vh"


#=========================================================#
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 time [clock format [clock seconds] -format {%H%M%S}]

#注意修改version.h的路径

set fileid [open $file w+]
seek $fileid 0 start
puts $fileid "`define VERSION       32'h$veri	"
puts $fileid "`define COMPILE_DATE  32'h$date   "
puts $fileid "`define COMPILE_TIME  32'hFF$time "
close $fileid

 

你可能感兴趣的:(fpga开发)