0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用Vivado TCL功能自動更新日期版本號

FPGA十年老鳥 ? 來源:FPGA十年老鳥 ? 2024-10-24 15:24 ? 次閱讀

前言

我們在編譯FPGA工程的時候一般需要對版本號的更新,一般來說都會有一個日期或者時間的版本標識,在上板調(diào)試的時候用于表征當前版本確實已經(jīng)更新成功,或者作為FPGA發(fā)布版本的標識等等。但有時候我們有時候會忘記更新版本號,從而導(dǎo)致時間的浪費。

下面我們就是要解決這個痛點,利用vivado的tcl功能自動進行日期版本號的更新

創(chuàng)建.v文件

例如創(chuàng)建 一個version_date.v

里面就包含兩句話 ,分別表示當前的年月日和時分秒

parameter   [31:0]    FPGA_VERSION_A = 32'h20221006  ;
parameter   [31:0]    FPGA_VERSION_B = 32'h000000  ;

在正式的工程文件,例如top.v中

assign AAA_reg = FPGA_VERSION_A;
assign BBB_reg = FPGA_VERSION_B;

設(shè)定tcl文件路徑

點擊synthesis Settings

3c7e0f30-905c-11ef-a511-92fbcf53809c.png

選中tcl的路徑

tcl內(nèi)容

set file_addr "../../version_date.v"


set time_now [clock seconds]
set time0 [clock format $time_now -format "%Y%m%d"]
set time1 [clock format $time_now -format "%H%M%S"]


set f [open $file_addr w]


set str "parameter   [31:0]    FPGA_VERSION_A = 32'h$time0  ;"
puts $f $str


set str "parameter   [31:0]     FPGA_VERSION_B = 32'h$time1  ;"
puts $f $str


close $f

注意tcl中的第一句話,因為 對于這個tcl而言 ,當前路徑是工程文件夾是( unssynth_3),而我們的version_date.v 放到了.xpr工程所在的路徑中

關(guān)于當前路徑的說明在UG894中:

Important: Relative paths within the tcl.pre and tcl.post scripts are relative to the appropriate run directory of the project they are applied to:
 //.

優(yōu)點和缺點

優(yōu)點:這個小技巧解決了每次編譯需要手動更新編譯日期的問題。

缺點:每次編譯后,文件狀態(tài)都會顯示為out-of-data,按理來說pre.tcl應(yīng)該是綜合之前的操作,應(yīng)該是在綜合之前修改的文件,配置也確實生效了。但這里確實就是出現(xiàn)out-of-data了

3c95d386-905c-11ef-a511-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600688
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    803

    瀏覽量

    66151

原文標題:FPGA開發(fā)技巧備忘錄——Vivado自動日期版本號

文章出處:【微信號:FPGA十年老鳥,微信公眾號:FPGA十年老鳥】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    怎么加上.bin文件的版本號?

    描述:我想在工程名稱后添加改工程的版本,這樣生成的固件就是帶版本號的。 問題:目前生成的bin文件后面帶不上版本號,不知道為啥?如下圖所示。有人知道怎么加上.bin文件的版本號嗎?
    發(fā)表于 06-11 07:43

    【求助】請問怎么獲取安裝程序的版本號?

    在制作安裝程序時,使用了自動遞增版本號,現(xiàn)在我想在程序中把這個版本號提取出來,顯示在VI界面上,請問有什么方法或?qū)傩钥梢垣@取?找了好久沒有找到,請大神支支招!
    發(fā)表于 01-29 11:16

    想問下這是什么庫的版本號,4個字節(jié)的版本號分別是什么

    想問下這是什么庫的版本號,4個字節(jié)的版本號分別是什么@brief STM32F10x Standard Peripheral Library version number*/#define
    發(fā)表于 04-07 21:12

    請問mcfw有版本號嗎?

    請問mcfw有版本號嗎? ?還是這個版本號就是SDK的版本號? 還有一個問題 ? IPNC 3.0 和 MCFW 3.0 的mcfw 是一樣的嗎?
    發(fā)表于 05-31 08:48

    ARM的幾種版本號

    的。3.ARM不生產(chǎn)芯片,只設(shè)計芯片并出賣版權(quán)。4.本次用的是cortex-A8處理器中三星的S5PV2105.ARM的幾種版本號(1)ARM內(nèi)核版本號,如ARMv7(v是version,版本)(2)ARM SoC
    發(fā)表于 12-14 08:54

    如何將STM32的代碼以日期作為軟件版本號去實現(xiàn)呢

    如何將STM32的代碼以日期作為軟件版本號去實現(xiàn)呢?求大神解答
    發(fā)表于 12-15 06:20

    如何更新RK3399版本號?

    如何更新RK3399版本號
    發(fā)表于 03-07 07:27

    安裝后的應(yīng)用程序獲取版本號

    版本號自動)設(shè)置,在程序框圖里怎么獲取,或者說需要調(diào)用dll?或者經(jīng)常更新的情況,大佬們都是如何確認別人使用的是哪一版本
    發(fā)表于 05-18 10:19

    求助,如何識別NUCLEO-G474RE的硬件版本號及硬件版本號對應(yīng)的原理圖版本號

    如何識別NUCLEO-G474RE的硬件版本號及硬件版本號對應(yīng)的原理圖版本號?
    發(fā)表于 08-08 08:12

    ESP32怎么讀取固件版本號?

    ESP32怎么讀取固件版本號
    發(fā)表于 10-09 06:47

    Android O版本號經(jīng)谷歌官方確認:Android 8.0

    Android O的正式名稱應(yīng)該是奧利奧,那么其版本號到底是多少呢?此前IDE工具曾暗示其版本號可能是7+,但谷歌今天推出的最新Android O Beta3顯示,Android O的版本號為8.0。
    發(fā)表于 06-09 14:11 ?1151次閱讀
    Android O<b class='flag-5'>版本號</b>經(jīng)谷歌官方確認:Android 8.0

    Windows 10 21H1版本號已確定

    今年,微軟依然按照上下半年的節(jié)奏為Windows 10推送了兩次功能更新,版本號分別是Build 19041(20H1)和Build 19042(20H2)。
    的頭像 發(fā)表于 12-21 09:14 ?7422次閱讀

    關(guān)于軟件、硬件版本號命名的常見規(guī)范

    不知道大家寫程序、畫板子時,版本號是怎么命名的? ? 最常見的就是V1.0.0這種簡單的形式命名,復(fù)雜一點就是帶有日期、后綴等版本信息。 ? 當然,版本號命名規(guī)范就像代碼規(guī)范一樣,不同
    的頭像 發(fā)表于 12-31 10:04 ?4652次閱讀

    微軟新系統(tǒng)開始換版本號了 敬請期待

    Windows10成絕唱!微軟新系統(tǒng)開始換版本號了,windows,微軟,操作系統(tǒng),版本號,
    發(fā)表于 03-06 10:08 ?603次閱讀

    在單片機中如何生成日期版本號

    生成軟件版本號是在軟件開發(fā)和維護過程中非常重要的一項任務(wù),它有很多意義和好處,同時也有多種常見的方法。
    的頭像 發(fā)表于 09-14 11:14 ?1032次閱讀
    在單片機中如何生成<b class='flag-5'>日期</b><b class='flag-5'>版本號</b>