В своих проектах использую tcl скрипты для автоматического добавления номера версии и времени компиляции проекта.
К примеру, в регистре сохраняется версия прошивки и дата-время компиляции. Для golden и working версии она может быть разная.
Пример такого файла на vhdl
Цитата
-- created at 07/Dec/2017-13:15:15
-- DO NOT EDIT THIS FILE
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
package compile_time_pkg is
constant VER_VALUE : string := "30";
constant COMPILE_TIME : integer := 1512648915;
end package compile_time_pkg;
Скрипт создает этот файл, потом запускает компиляцию. При каждой последующей компиляции увеличивает, к примеру, счетчик версий и изменяет время на текущее. После успешной компиляции - копирует текущую прошивку в отдельную папку с названием, соответствующим данной прошивке. Что-то типа name_working_v12.bit