diff --git a/boards/uniboard2c/designs/unb2c_heater/src/vhdl/unb2c_heater.vhd b/boards/uniboard2c/designs/unb2c_heater/src/vhdl/unb2c_heater.vhd
index befb39056821d179db3f59005065a6ab1134200c..82d1e7c0cc013b50482ec1583f3a55bc79bd63dd 100644
--- a/boards/uniboard2c/designs/unb2c_heater/src/vhdl/unb2c_heater.vhd
+++ b/boards/uniboard2c/designs/unb2c_heater/src/vhdl/unb2c_heater.vhd
@@ -39,7 +39,7 @@ ENTITY unb2c_heater IS
     g_sim_node_nr   : NATURAL := 0;
     g_stamp_date    : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time    : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn     : NATURAL := 0;  -- SVN revision    -- set by QSF
+    g_revision_id   : STRING  := ""; -- revision ID     -- set by QSF
     g_factory_image : BOOLEAN := FALSE
   );
   PORT (
@@ -172,7 +172,7 @@ BEGIN
     g_design_note   => g_design_note,
     g_stamp_date    => g_stamp_date,
     g_stamp_time    => g_stamp_time, 
-    g_stamp_svn     => g_stamp_svn, 
+    g_revision_id   => g_revision_id, 
     g_fw_version    => c_fw_version,
     g_mm_clk_freq   => c_mm_clk_freq,
     g_dp_clk_use_pll=> TRUE,
diff --git a/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node0/unb2c_jesd_node0.vhd b/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node0/unb2c_jesd_node0.vhd
index 3aee80ff60672ad9b698a03f8d6d6028e4d3970f..48db3722010c9c639d08770c23ba8894200dc37a 100644
--- a/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node0/unb2c_jesd_node0.vhd
+++ b/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node0/unb2c_jesd_node0.vhd
@@ -40,7 +40,7 @@ ENTITY unb2c_jesd_node0 IS
     g_sim_node_nr       : NATURAL := 0;
     g_stamp_date        : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time        : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn         : NATURAL := 0;  -- SVN revision    -- set by QSF
+    g_revision_id       : STRING  := ""; -- revision ID     -- set by QSF
     g_protect_addr_range: BOOLEAN := FALSE
   );
   PORT (
@@ -94,7 +94,7 @@ BEGIN
     g_sim_node_nr       => g_sim_node_nr,
     g_stamp_date        => g_stamp_date,
     g_stamp_time        => g_stamp_time,
-    g_stamp_svn         => g_stamp_svn,
+    g_revision_id       => g_revision_id,
     g_protect_addr_range => g_protect_addr_range
   )
   PORT MAP (
diff --git a/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node3/unb2c_jesd_node3.vhd b/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node3/unb2c_jesd_node3.vhd
index c7bdb1e3d4e7b45b39c428e713c668269ad417c2..8f2e29550d00dc45995fcab2947ca56031a9a66c 100644
--- a/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node3/unb2c_jesd_node3.vhd
+++ b/boards/uniboard2c/designs/unb2c_jesd/revisions/unb2c_jesd_node3/unb2c_jesd_node3.vhd
@@ -40,7 +40,7 @@ ENTITY unb2c_jesd_node3 IS
     g_sim_node_nr       : NATURAL := 0;
     g_stamp_date        : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time        : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn         : NATURAL := 0;  -- SVN revision    -- set by QSF
+    g_revision_id       : STRING  := ""; -- revision ID     -- set by QSF
     g_protect_addr_range: BOOLEAN := FALSE
   );
   PORT (
@@ -94,7 +94,7 @@ BEGIN
     g_sim_node_nr       => g_sim_node_nr,
     g_stamp_date        => g_stamp_date,
     g_stamp_time        => g_stamp_time,
-    g_stamp_svn         => g_stamp_svn,
+    g_revision_id       => g_revision_id,
     g_protect_addr_range => g_protect_addr_range
   )
   PORT MAP (
diff --git a/boards/uniboard2c/designs/unb2c_jesd/src/vhdl/unb2c_jesd.vhd b/boards/uniboard2c/designs/unb2c_jesd/src/vhdl/unb2c_jesd.vhd
index 0acfbcc0c2bfa4e12c81292cdb57ce53e486e78b..8d7ab65937519a5c312194a6e54ae1ba4886345c 100644
--- a/boards/uniboard2c/designs/unb2c_jesd/src/vhdl/unb2c_jesd.vhd
+++ b/boards/uniboard2c/designs/unb2c_jesd/src/vhdl/unb2c_jesd.vhd
@@ -40,7 +40,7 @@ ENTITY unb2c_jesd IS
     g_sim_node_nr       : NATURAL := 0;
     g_stamp_date        : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time        : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn         : NATURAL := 0;  -- SVN revision    -- set by QSF
+    g_revision_id       : STRING  := ""; -- revision ID     -- set by QSF
     g_factory_image     : BOOLEAN := FALSE;
     g_protect_addr_range: BOOLEAN := FALSE
   );
@@ -195,7 +195,7 @@ BEGIN
     g_design_note        => g_design_note,
     g_stamp_date         => g_stamp_date,
     g_stamp_time         => g_stamp_time, 
-    g_stamp_svn          => g_stamp_svn, 
+    g_revision_id        => g_revision_id, 
     g_fw_version         => c_fw_version,
     g_mm_clk_freq        => c_mm_clk_freq,
     g_eth_clk_freq       => c_unb2c_board_eth_clk_freq_125M,
diff --git a/boards/uniboard2c/designs/unb2c_minimal/src/vhdl/unb2c_minimal.vhd b/boards/uniboard2c/designs/unb2c_minimal/src/vhdl/unb2c_minimal.vhd
index add44f07d9fdda3aba66fd3bbab98694108b9e50..bd2533c32eb6dd6340f021394e5a0de7fb034534 100644
--- a/boards/uniboard2c/designs/unb2c_minimal/src/vhdl/unb2c_minimal.vhd
+++ b/boards/uniboard2c/designs/unb2c_minimal/src/vhdl/unb2c_minimal.vhd
@@ -38,7 +38,7 @@ ENTITY unb2c_minimal IS
     g_sim_node_nr       : NATURAL := 0;
     g_stamp_date        : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time        : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn         : NATURAL := 0;  -- SVN revision    -- set by QSF
+    g_revision_id       : STRING  := "";  -- revision id     -- set by QSF
     g_factory_image     : BOOLEAN := TRUE;
     g_protect_addr_range: BOOLEAN := FALSE
   );
@@ -168,7 +168,7 @@ BEGIN
     g_design_note        => g_design_note,
     g_stamp_date         => g_stamp_date,
     g_stamp_time         => g_stamp_time, 
-    g_stamp_svn          => g_stamp_svn, 
+    g_revision_id        => g_revision_id, 
     g_fw_version         => c_fw_version,
     g_mm_clk_freq        => c_mm_clk_freq,
     g_eth_clk_freq       => c_unb2c_board_eth_clk_freq_125M,
diff --git a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_10GbE/unb2c_test_10GbE.vhd b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_10GbE/unb2c_test_10GbE.vhd
index 0ef8b438a84f27dad8e3dcd48cd04ab95bc9385b..9379f069547ae248551f8363d8f4589b5d7e59dd 100644
--- a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_10GbE/unb2c_test_10GbE.vhd
+++ b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_10GbE/unb2c_test_10GbE.vhd
@@ -37,7 +37,7 @@ ENTITY unb2c_test_10GbE IS
     g_sim_node_nr      : NATURAL := 0;
     g_stamp_date       : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time       : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn        : NATURAL := 0   -- SVN revision    -- set by QSF
+    g_revision_id      : STRING  := 0   -- revision ID     -- set by QSF
   );
   PORT (
     -- GENERAL
@@ -120,7 +120,7 @@ BEGIN
     g_sim_node_nr => g_sim_node_nr,
     g_stamp_date  => g_stamp_date,
     g_stamp_time  => g_stamp_time,
-    g_stamp_svn   => g_stamp_svn
+    g_revision_id => g_revision_id
   )
   PORT MAP (
     -- GENERAL
diff --git a/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test.vhd b/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test.vhd
index d41c200bfb1a96a46196d4aa62bf9bf498ee6ebe..872d52befc6781587430028a2612c280b371f326 100644
--- a/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test.vhd
+++ b/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test.vhd
@@ -49,7 +49,7 @@ ENTITY unb2c_test IS
     g_sim_model_ddr    : BOOLEAN := FALSE;
     g_stamp_date       : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
     g_stamp_time       : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
-    g_stamp_svn        : NATURAL := 0;  -- SVN revision    -- set by QSF
+    g_revision_id      : STRING := "";  -- revision ID     -- set by QSF
     g_factory_image    : BOOLEAN := FALSE
   );
   PORT (
@@ -451,7 +451,7 @@ BEGIN
     g_design_note             => g_design_note,
     g_stamp_date              => g_stamp_date,
     g_stamp_time              => g_stamp_time, 
-    g_stamp_svn               => g_stamp_svn, 
+    g_revision_id             => g_revision_id, 
     g_fw_version              => c_fw_version,
     g_mm_clk_freq             => sel_a_b(g_sim,c_unb2c_board_mm_clk_freq_25M,c_unb2c_board_mm_clk_freq_125M),
     g_eth_clk_freq            => c_unb2c_board_eth_clk_freq_125M,
diff --git a/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.qsf b/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.qsf
index 4f7ea6aadbeefff1674d62f686b839e236ce7479..b978c76855df162762aad48e78d9400af2ee6110 100644
--- a/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.qsf
+++ b/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.qsf
@@ -311,8 +311,8 @@ set_parameter -name dbg_user_identifier 1 -to "unb2c_test:u_revision|unb2c_board
 if { [info exists ::env(UNB_COMPILE_STAMPS) ] } {
   set_parameter -name g_stamp_date [clock format [clock seconds] -format {%Y%m%d}]
   set_parameter -name g_stamp_time [clock format [clock seconds] -format {%H%M%S}]
-  post_message -type info "RADIOHDL: using GIT $::env(HDL_GIT_REVISION)"
-  set_parameter -name g_stamp_svn [regsub -all {[^0-9]} [exec echo $::env(HDL_GIT_REVISION)] ""] 
+  post_message -type info "RADIOHDL: using GIT $::env(HDL_GIT_REVISION_SHORT)"
+  set_parameter -name g_revision_id [regsub -all {[^0-9]} [exec echo $::env(HDL_GIT_REVISION_SHORT)] ""] 
 }
 
 #set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to "ctrl_unb2c_board:u_ctrl|eth:\\gen_eth:u_eth|tech_tse:u_tech_tse|tech_tse_arria10_e1sg:\\gen_ip_arria10_e1sg:u0|ip_arria10_e1sg_tse_sgmii_lvds:\\u_LVDS_tse:u_tse|ip_arria10_e1sg_tse_sgmii_lvds_altera_eth_tse_151_6kz2wlq:eth_tse_0|altera_eth_tse_pcs_pma_nf_lvds:i_tse_pcs_0|tbi_tx_d"
diff --git a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd
index aa081006d537222d71aaa1212bd0a1699f7abc91..d9a882a2f6615d3ee30bdde1b6e1006435335f54 100644
--- a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd
+++ b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd
@@ -41,18 +41,18 @@ ENTITY ctrl_unb2c_board IS
     ----------------------------------------------------------------------------
     -- General
     ----------------------------------------------------------------------------
-    g_technology     : NATURAL := c_tech_arria10;
-    g_sim            : BOOLEAN := FALSE;
-    g_design_name    : STRING := "UNUSED";
-    g_fw_version     : t_unb2c_board_fw_version := (0, 0);  -- firmware version x.y
-    g_stamp_date     : NATURAL := 0;
-    g_stamp_time     : NATURAL := 0;
-    g_stamp_svn      : NATURAL := 0;
-    g_design_note    : STRING  := "UNUSED";
-    g_base_ip        : STD_LOGIC_VECTOR(16-1 DOWNTO 0) := X"0A63"; -- Base IP address used by unb_osy: 10.99.xx.yy
-    g_mm_clk_freq    : NATURAL := c_unb2c_board_mm_clk_freq_125M;
-    g_eth_clk_freq   : NATURAL := c_unb2c_board_eth_clk_freq_125M;
-    g_tse_clk_buf    : BOOLEAN := FALSE;
+    g_technology   : NATURAL := c_tech_arria10;
+    g_sim          : BOOLEAN := FALSE;
+    g_design_name  : STRING := "UNUSED";
+    g_fw_version   : t_unb2c_board_fw_version := (0, 0);  -- firmware version x.y
+    g_stamp_date   : NATURAL := 0;
+    g_stamp_time   : NATURAL := 0;
+    g_revision_id  : STRING  := "UNUSED";  -- revision_id, commit hash or number 
+    g_design_note  : STRING  := "UNUSED";
+    g_base_ip      : STD_LOGIC_VECTOR(16-1 DOWNTO 0) := X"0A63"; -- Base IP address used by unb_osy: 10.99.xx.yy
+    g_mm_clk_freq  : NATURAL := c_unb2c_board_mm_clk_freq_125M;
+    g_eth_clk_freq : NATURAL := c_unb2c_board_eth_clk_freq_125M;
+    g_tse_clk_buf  : BOOLEAN := FALSE;
     
     ----------------------------------------------------------------------------
     -- External CLK
@@ -492,25 +492,25 @@ BEGIN
     g_fw_version  => g_fw_version,
     g_stamp_date  => g_stamp_date,
     g_stamp_time  => g_stamp_time,
-    g_stamp_svn   => g_stamp_svn,
+    g_revision_id => g_revision_id,
     g_design_note => g_design_note,
     g_rom_version => c_rom_version
   )
   PORT MAP (
-    mm_clk      => i_mm_clk,
-    mm_rst      => i_mm_rst,
+    mm_clk     => i_mm_clk,
+    mm_rst     => i_mm_rst,
 
-    hw_version  => VERSION,
-    id          => ID,
+    hw_version => VERSION,
+    id         => ID,
 
-    reg_mosi    => reg_unb_system_info_mosi, 
-    reg_miso    => reg_unb_system_info_miso,
+    reg_mosi   => reg_unb_system_info_mosi,
+    reg_miso   => reg_unb_system_info_miso,
 
-    rom_mosi    => rom_unb_system_info_mosi, 
-    rom_miso    => rom_unb_system_info_miso,
+    rom_mosi   => rom_unb_system_info_mosi,
+    rom_miso   => rom_unb_system_info_miso,
 
-    chip_id     => this_chip_id,
-    bck_id      => this_bck_id
+    chip_id    => this_chip_id,
+    bck_id     => this_bck_id
   );
 
 
@@ -550,10 +550,10 @@ BEGIN
 
   u_toggle : ENTITY common_lib.common_toggle
   PORT MAP (
-    rst         => i_mm_rst,
-    clk         => i_mm_clk,
-    in_dat      => mm_pulse_s,
-    out_dat     => led_toggle
+    rst     => i_mm_rst,
+    clk     => i_mm_clk,
+    in_dat  => mm_pulse_s,
+    out_dat => led_toggle
   );
 
 
@@ -567,13 +567,13 @@ BEGIN
 
   u_unb2c_board_wdi_reg : ENTITY work.unb2c_board_wdi_reg
   PORT MAP (
-    mm_rst              => i_mm_rst,
-    mm_clk              => i_mm_clk,
+    mm_rst       => i_mm_rst,
+    mm_clk       => i_mm_clk,
      
-    sla_in              => reg_wdi_mosi,
-    sla_out             => reg_wdi_miso,
+    sla_in       => reg_wdi_mosi,
+    sla_out      => reg_wdi_miso,
     
-    wdi_override        => wdi_override
+    wdi_override => wdi_override
   );
 
 
@@ -585,16 +585,16 @@ BEGIN
   -- and reconfigure from that address.
   u_mms_remu: ENTITY remu_lib.mms_remu
   GENERIC MAP ( 
-    g_technology       => g_technology
+    g_technology => g_technology
   )
   PORT MAP (
-    mm_rst             => i_mm_rst,
-    mm_clk             => i_mm_clk,
+    mm_rst       => i_mm_rst,
+    mm_clk       => i_mm_clk,
 
-    epcs_clk           => epcs_clk,
+    epcs_clk     => epcs_clk,
 
-    remu_mosi          => reg_remu_mosi,
-    remu_miso          => reg_remu_miso
+    remu_mosi    => reg_remu_mosi,
+    remu_miso    => reg_remu_miso
   );
 
   -------------------------------------------------------------------------------
diff --git a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/mms_unb2c_board_system_info.vhd b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/mms_unb2c_board_system_info.vhd
index e005592ce60054e6fb54cbc5112fa1c4b85ec151..cf6eb104376a13ce9919ce0e56899cb274d8bb5c 100644
--- a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/mms_unb2c_board_system_info.vhd
+++ b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/mms_unb2c_board_system_info.vhd
@@ -34,7 +34,7 @@ ENTITY mms_unb2c_board_system_info IS
     g_fw_version  : t_unb2c_board_fw_version := c_unb2c_board_fw_version;  -- firmware version x.y
     g_stamp_date  : NATURAL := 0;
     g_stamp_time  : NATURAL := 0;
-    g_stamp_svn   : NATURAL := 0;
+    g_revision_id : STRING := "";
     g_design_note : STRING  := "";
     g_rom_version : NATURAL := 1;
     g_aux         : t_c_unb2c_board_aux := c_unb2c_board_aux               -- aux contains the hardware version
@@ -67,7 +67,7 @@ ARCHITECTURE str OF mms_unb2c_board_system_info IS
   -- Provide different prefixes (absolute and relative) for the same path. ModelSim understands $UNB, Quartus does not.
   -- Required because the work paths of ModelSim and Quartus are different.
   CONSTANT c_quartus_path_prefix  : STRING := "";
-  CONSTANT c_modelsim_path_prefix : STRING := "$UNB/Firmware/designs/" & g_design_name & "/build/synth/quartus/";
+  CONSTANT c_modelsim_path_prefix : STRING := "$UNB/Firmware/designs/" & g_design_name & "/build/synth/quartus/";  -- TODO: change path
   CONSTANT c_path_prefix          : STRING := sel_a_b(g_sim, c_modelsim_path_prefix, c_quartus_path_prefix);
 
 -- No longer supporting MIF files in sim as non-$UNB (e.g. $AARTFAAC) designs will cause path error.
@@ -90,8 +90,8 @@ BEGIN
  
   u_unb2c_board_system_info: ENTITY work.unb2c_board_system_info
   GENERIC MAP (
-    g_sim        => g_sim,
-    g_fw_version => g_fw_version,
+    g_sim         => g_sim,
+    g_fw_version  => g_fw_version,
     g_rom_version => g_rom_version,
     g_technology  => g_technology
   )            
@@ -109,24 +109,24 @@ BEGIN
     g_design_name => g_design_name,
     g_stamp_date  => g_stamp_date,
     g_stamp_time  => g_stamp_time,
-    g_stamp_svn   => g_stamp_svn,
+    g_revision_id => g_revision_id,
     g_design_note => g_design_note
   )    
   PORT MAP (       
-    mm_rst    => mm_rst, 
-    mm_clk    => mm_clk,
+    mm_rst  => mm_rst,
+    mm_clk  => mm_clk,
 
-    sla_in    => reg_mosi,
-    sla_out   => reg_miso,
+    sla_in  => reg_mosi,
+    sla_out => reg_miso,
 
-    info      => i_info
+    info    => i_info
   );
 
   u_common_rom : ENTITY common_lib.common_rom
   GENERIC MAP (
     g_technology => g_technology,
-    g_ram       => c_mm_rom,
-    g_init_file => c_mif_name
+    g_ram        => c_mm_rom,
+    g_init_file  => c_mif_name
   )
   PORT MAP (
     rst     => mm_rst,
diff --git a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/unb2c_board_system_info_reg.vhd b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/unb2c_board_system_info_reg.vhd
index 93dcc582dd75796ea0242aa1fef215bc90695de7..30917ce07d55beecedd0c73a468a91ad578f4734 100644
--- a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/unb2c_board_system_info_reg.vhd
+++ b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/unb2c_board_system_info_reg.vhd
@@ -55,7 +55,7 @@ ENTITY unb2c_board_system_info_reg IS
     g_design_name : STRING;
     g_stamp_date  : NATURAL := 0;
     g_stamp_time  : NATURAL := 0;
-    g_stamp_svn   : NATURAL := 0;
+    g_revision_id : STRING;
     g_design_note : STRING
   );
   PORT (
@@ -76,10 +76,11 @@ ARCHITECTURE rtl OF unb2c_board_system_info_reg IS
 
   CONSTANT c_nof_fixed_regs       : NATURAL := 2;  -- info, use_phy
   CONSTANT c_nof_design_name_regs : NATURAL := 13; -- design_name
-  CONSTANT c_nof_stamp_regs       : NATURAL := 3;  -- date, time, svn rev
+  CONSTANT c_nof_stamp_regs       : NATURAL := 2;  -- date, time
+  CONSTANT c_nof_revision_id_regs : NATURAL := 9;  -- revision id, commit hash or id (hash: first 9 chars of the 40chars commit hash)
   CONSTANT c_nof_design_note_regs : NATURAL := 13; -- note
 
-  CONSTANT c_nof_regs             : NATURAL := c_nof_fixed_regs + c_nof_design_name_regs + c_nof_stamp_regs + c_nof_design_note_regs;
+  CONSTANT c_nof_regs      : NATURAL := c_nof_fixed_regs + c_nof_design_name_regs + c_nof_stamp_regs + c_nof_revision_id_regs + c_nof_design_note_regs;
 
   CONSTANT c_mm_reg        : t_c_mem := (latency  => 1,
                                          adr_w    => ceil_log2(c_nof_regs),
@@ -90,8 +91,9 @@ ARCHITECTURE rtl OF unb2c_board_system_info_reg IS
   CONSTANT c_use_phy_w     : NATURAL := 8;
   CONSTANT c_use_phy       : STD_LOGIC_VECTOR(c_use_phy_w-1 DOWNTO 0) := (OTHERS=> '0'); -- Unused but keep for compatibillity
 
-  CONSTANT c_design_name    : t_slv_32_arr(0 TO c_nof_design_name_regs-1) := str_to_ascii_slv_32_arr(g_design_name, c_nof_design_name_regs);
-  CONSTANT c_design_note    : t_slv_32_arr(0 TO c_nof_design_note_regs-1) := str_to_ascii_slv_32_arr(g_design_note, c_nof_design_note_regs);
+  CONSTANT c_design_name : t_slv_32_arr(0 TO c_nof_design_name_regs-1) := str_to_ascii_slv_32_arr(g_design_name, c_nof_design_name_regs);
+  CONSTANT c_revision_id : t_slv_32_arr(0 TO c_nof_revision_id_regs-1) := str_to_ascii_slv_32_arr((RADIOHDL_BUILD_DIR, c_nof_revision_id_regs);
+  CONSTANT c_design_note : t_slv_32_arr(0 TO c_nof_design_note_regs-1) := str_to_ascii_slv_32_arr(g_design_note, c_nof_design_note_regs);
  
 BEGIN
 
@@ -127,11 +129,11 @@ BEGIN
         ELSIF vA = c_nof_fixed_regs + c_nof_design_name_regs+1 THEN      
           sla_out.rddata(c_word_w-1 DOWNTO 0) <= TO_UVEC(g_stamp_time, c_word_w);
 
-        ELSIF vA = c_nof_fixed_regs + c_nof_design_name_regs+2 THEN      
-          sla_out.rddata(c_word_w-1 DOWNTO 0) <= TO_UVEC(g_stamp_svn, c_word_w);
+        ELSIF vA < c_nof_fixed_regs + c_nof_design_name_regs + c_nof_stamp_regs + c_nof_revision_id_regs THEN      
+          sla_out.rddata(c_word_w-1 DOWNTO 0) <= c_revision_id(vA-c_nof_fixed_regs-c_nof_design_name_regs-c_nof_stamp_regs);
 
-        ELSIF vA < c_nof_fixed_regs + c_nof_design_name_regs+c_nof_stamp_regs+c_nof_design_note_regs THEN      
-          sla_out.rddata(c_word_w-1 DOWNTO 0) <= c_design_note(vA-c_nof_fixed_regs-c_nof_design_name_regs-c_nof_stamp_regs);
+        ELSIF vA < c_nof_fixed_regs + c_nof_design_name_regs + c_nof_stamp_regs + c_nof_revision_id_regs + c_nof_design_note_regs THEN      
+          sla_out.rddata(c_word_w-1 DOWNTO 0) <= c_design_note(vA-c_nof_fixed_regs-c_nof_design_name_regs-c_nof_stamp_regs-c_nof_revision_id_regs);
 
         END IF;