原创 通过tcl管理QuartusII工程版本的一种方法

2012-12-3 12:30 5622 7 7 分类: FPGA/CPLD 文集: QuartusII

在Altera论坛里看到有人提到一个使用tcl管理项目版本的问题,其参考的方法在altera的官方网站有介绍:http://www.altera.com/support/examples/tcl/tcl-version-number.html。


 


不知如何为本篇分类,分在SVN?还是QuartusII?还是Visual Jtag?^0^这里自己无聊一下。altera官方网站介绍的是tcl应用例子,同时该例子应用的前提是用户要使用subversion来管理其项目,(不知道现在有多少用户会使用SVN来 管理自己的项目)需要注意的是这个方法管理的是工程文件SVN版本号也即qpf文件的SVN号,所以项目的版本号在项目创建并提交到SVN库时就已经形成并不能改变,并没有管理每次工程修改或者编译时其他文件的编号。所以只有在产品的可编程逻辑的工程存在多个时这种管理才有意义。


 


至于如何读取该版本号,方法应该不止一种,这里介绍两种,一种就是在论坛里发帖人用的即通过mcu等读取并检测FPGA中项目工程版本号,这种方法这里不具体介绍了,原因是本身版本管理就很简单,再就是我没有条件具体来演示所以没有发言权。还有一种方式就是可以通过VJ来获取这个版本号。


 


根据官网介绍,理出其简单步骤:


1、生成一个update_version.tcl脚本;


2、在QuartusII配置文件*.qsf文件中加入“set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:update_version.tcl"
”,然后对工程进行综合(分析),工程目录下会生成一个叫version_reg.vhd或者version_reg.v的文件,该源文件记录了当前工程的版本号。


点击看大图


上图显示工程综合分析的时候提取到工程文件的版本号为“9”。


 


3、将生成的version_reg源文件加入到工程,并进行适当的接口(即传输版本号到适当的地方进行处理)。


将之前调试VJ的工程稍做改动即可实现此功能,具体做法可以参考altera官网的详细介绍以及我之前的VJ调试介绍。这里仅给出工程。


https://static.assets-stash.eet-china.com/album/old-resources/2010/1/6/09400504-1b63-4884-88e3-4caf26a3ea09.rar


 


修改VJ调试GUI程序加入读取QII Version按钮,使之可通过VJ来读取当前工程的版本号,效果图如下所示:


点击看大图

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条