diff --git a/uGMT_algos/addr_table/cancel_out_bo.xml b/uGMT_algos/addr_table/cancel_out_bo.xml index 1fc5ee2..5da772f 100644 --- a/uGMT_algos/addr_table/cancel_out_bo.xml +++ b/uGMT_algos/addr_table/cancel_out_bo.xml @@ -1,8 +1,8 @@ - - - - - + + + + + diff --git a/uGMT_algos/addr_table/cancel_out_bo_wedge.xml b/uGMT_algos/addr_table/cancel_out_bo_wedge.xml index bbc6d64..b8c4cf0 100644 --- a/uGMT_algos/addr_table/cancel_out_bo_wedge.xml +++ b/uGMT_algos/addr_table/cancel_out_bo_wedge.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/uGMT_algos/addr_table/cancel_out_eo.xml b/uGMT_algos/addr_table/cancel_out_eo.xml index d034286..6f403ae 100644 --- a/uGMT_algos/addr_table/cancel_out_eo.xml +++ b/uGMT_algos/addr_table/cancel_out_eo.xml @@ -1,8 +1,8 @@ - - - - - + + + + + diff --git a/uGMT_algos/addr_table/cancel_out_eo_wedge.xml b/uGMT_algos/addr_table/cancel_out_eo_wedge.xml index f96dda7..9c3ebc8 100644 --- a/uGMT_algos/addr_table/cancel_out_eo_wedge.xml +++ b/uGMT_algos/addr_table/cancel_out_eo_wedge.xml @@ -1,5 +1,5 @@ - - + + diff --git a/uGMT_algos/addr_table/cancel_out_half_sorters.xml b/uGMT_algos/addr_table/cancel_out_half_sorters.xml index 5c7569c..11f79b7 100644 --- a/uGMT_algos/addr_table/cancel_out_half_sorters.xml +++ b/uGMT_algos/addr_table/cancel_out_half_sorters.xml @@ -1,8 +1,8 @@ - - - - - + + + + + diff --git a/uGMT_algos/addr_table/sorting.xml b/uGMT_algos/addr_table/sorting.xml index fcde88e..4805fe5 100644 --- a/uGMT_algos/addr_table/sorting.xml +++ b/uGMT_algos/addr_table/sorting.xml @@ -1,16 +1,16 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo.vhd index 479a468..dcc2a8b 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo.vhd @@ -17,7 +17,7 @@ package ipbus_decode_cancel_out_bo is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_cancel_out_bo(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_CANCEL_OUT_BO_0: integer := 0; constant N_SLV_CANCEL_OUT_BO_1: integer := 1; constant N_SLV_CANCEL_OUT_BO_2: integer := 2; @@ -36,19 +36,19 @@ package body ipbus_decode_cancel_out_bo is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "----------------000-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_0, IPBUS_SEL_WIDTH)); -- cancel_out_bo_0 / base 0x00000000 / mask 0x0000e000 - elsif std_match(addr, "----------------001-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_1, IPBUS_SEL_WIDTH)); -- cancel_out_bo_1 / base 0x00002000 / mask 0x0000e000 - elsif std_match(addr, "----------------010-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_2, IPBUS_SEL_WIDTH)); -- cancel_out_bo_2 / base 0x00004000 / mask 0x0000e000 - elsif std_match(addr, "----------------011-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_3, IPBUS_SEL_WIDTH)); -- cancel_out_bo_3 / base 0x00006000 / mask 0x0000e000 - elsif std_match(addr, "----------------100-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_4, IPBUS_SEL_WIDTH)); -- cancel_out_bo_4 / base 0x00008000 / mask 0x0000e000 - elsif std_match(addr, "----------------101-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_5, IPBUS_SEL_WIDTH)); -- cancel_out_bo_5 / base 0x0000a000 / mask 0x0000e000 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 + if std_match(addr, "--------------000---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_0, IPBUS_SEL_WIDTH)); -- cancel_out_bo_0 / base 0x00000000 / mask 0x00038000 + elsif std_match(addr, "--------------001---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_1, IPBUS_SEL_WIDTH)); -- cancel_out_bo_1 / base 0x00008000 / mask 0x00038000 + elsif std_match(addr, "--------------010---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_2, IPBUS_SEL_WIDTH)); -- cancel_out_bo_2 / base 0x00010000 / mask 0x00038000 + elsif std_match(addr, "--------------011---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_3, IPBUS_SEL_WIDTH)); -- cancel_out_bo_3 / base 0x00018000 / mask 0x00038000 + elsif std_match(addr, "--------------100---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_4, IPBUS_SEL_WIDTH)); -- cancel_out_bo_4 / base 0x00020000 / mask 0x00038000 + elsif std_match(addr, "--------------101---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_BO_5, IPBUS_SEL_WIDTH)); -- cancel_out_bo_5 / base 0x00028000 / mask 0x00038000 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo_wedge.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo_wedge.vhd index 087a473..0d52482 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo_wedge.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_bo_wedge.vhd @@ -17,7 +17,7 @@ package ipbus_decode_cancel_out_bo_wedge is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_cancel_out_bo_wedge(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:57 2016 constant N_SLV_CANCEL_OUT_MEMS_0: integer := 0; constant N_SLV_CANCEL_OUT_MEMS_1: integer := 1; constant N_SLV_CANCEL_OUT_MEMS_2: integer := 2; @@ -34,15 +34,15 @@ package body ipbus_decode_cancel_out_bo_wedge is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "-------------------00-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_0, IPBUS_SEL_WIDTH)); -- cancel_out_mems_0 / base 0x00000000 / mask 0x00001800 - elsif std_match(addr, "-------------------01-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_1, IPBUS_SEL_WIDTH)); -- cancel_out_mems_1 / base 0x00000800 / mask 0x00001800 - elsif std_match(addr, "-------------------10-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_2, IPBUS_SEL_WIDTH)); -- cancel_out_mems_2 / base 0x00001000 / mask 0x00001800 - elsif std_match(addr, "-------------------11-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_3, IPBUS_SEL_WIDTH)); -- cancel_out_mems_3 / base 0x00001800 / mask 0x00001800 +-- START automatically generated VHDL the Tue May 24 12:21:57 2016 + if std_match(addr, "-----------------00-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_0, IPBUS_SEL_WIDTH)); -- cancel_out_mems_0 / base 0x00000000 / mask 0x00006000 + elsif std_match(addr, "-----------------01-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_1, IPBUS_SEL_WIDTH)); -- cancel_out_mems_1 / base 0x00002000 / mask 0x00006000 + elsif std_match(addr, "-----------------10-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_2, IPBUS_SEL_WIDTH)); -- cancel_out_mems_2 / base 0x00004000 / mask 0x00006000 + elsif std_match(addr, "-----------------11-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_3, IPBUS_SEL_WIDTH)); -- cancel_out_mems_3 / base 0x00006000 / mask 0x00006000 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo.vhd index 08e8e50..f025c83 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo.vhd @@ -17,7 +17,7 @@ package ipbus_decode_cancel_out_eo is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_cancel_out_eo(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_CANCEL_OUT_EO_0: integer := 0; constant N_SLV_CANCEL_OUT_EO_1: integer := 1; constant N_SLV_CANCEL_OUT_EO_2: integer := 2; @@ -36,19 +36,19 @@ package body ipbus_decode_cancel_out_eo is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "----------------000-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_0, IPBUS_SEL_WIDTH)); -- cancel_out_eo_0 / base 0x00000000 / mask 0x0000e000 - elsif std_match(addr, "----------------001-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_1, IPBUS_SEL_WIDTH)); -- cancel_out_eo_1 / base 0x00002000 / mask 0x0000e000 - elsif std_match(addr, "----------------010-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_2, IPBUS_SEL_WIDTH)); -- cancel_out_eo_2 / base 0x00004000 / mask 0x0000e000 - elsif std_match(addr, "----------------011-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_3, IPBUS_SEL_WIDTH)); -- cancel_out_eo_3 / base 0x00006000 / mask 0x0000e000 - elsif std_match(addr, "----------------100-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_4, IPBUS_SEL_WIDTH)); -- cancel_out_eo_4 / base 0x00008000 / mask 0x0000e000 - elsif std_match(addr, "----------------101-------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_5, IPBUS_SEL_WIDTH)); -- cancel_out_eo_5 / base 0x0000a000 / mask 0x0000e000 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 + if std_match(addr, "--------------000---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_0, IPBUS_SEL_WIDTH)); -- cancel_out_eo_0 / base 0x00000000 / mask 0x00038000 + elsif std_match(addr, "--------------001---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_1, IPBUS_SEL_WIDTH)); -- cancel_out_eo_1 / base 0x00008000 / mask 0x00038000 + elsif std_match(addr, "--------------010---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_2, IPBUS_SEL_WIDTH)); -- cancel_out_eo_2 / base 0x00010000 / mask 0x00038000 + elsif std_match(addr, "--------------011---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_3, IPBUS_SEL_WIDTH)); -- cancel_out_eo_3 / base 0x00018000 / mask 0x00038000 + elsif std_match(addr, "--------------100---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_4, IPBUS_SEL_WIDTH)); -- cancel_out_eo_4 / base 0x00020000 / mask 0x00038000 + elsif std_match(addr, "--------------101---------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_EO_5, IPBUS_SEL_WIDTH)); -- cancel_out_eo_5 / base 0x00028000 / mask 0x00038000 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo_wedge.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo_wedge.vhd index 92576f4..7e398c1 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo_wedge.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_eo_wedge.vhd @@ -17,7 +17,7 @@ package ipbus_decode_cancel_out_eo_wedge is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_cancel_out_eo_wedge(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_CANCEL_OUT_MEMS_0: integer := 0; constant N_SLV_CANCEL_OUT_MEMS_1: integer := 1; constant N_SLV_CANCEL_OUT_MEMS_2: integer := 2; @@ -33,13 +33,13 @@ package body ipbus_decode_cancel_out_eo_wedge is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "-------------------00-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_0, IPBUS_SEL_WIDTH)); -- cancel_out_mems_0 / base 0x00000000 / mask 0x00001800 - elsif std_match(addr, "-------------------01-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_1, IPBUS_SEL_WIDTH)); -- cancel_out_mems_1 / base 0x00000800 / mask 0x00001800 - elsif std_match(addr, "-------------------10-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_2, IPBUS_SEL_WIDTH)); -- cancel_out_mems_2 / base 0x00001000 / mask 0x00001800 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 + if std_match(addr, "-----------------00-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_0, IPBUS_SEL_WIDTH)); -- cancel_out_mems_0 / base 0x00000000 / mask 0x00006000 + elsif std_match(addr, "-----------------01-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_1, IPBUS_SEL_WIDTH)); -- cancel_out_mems_1 / base 0x00002000 / mask 0x00006000 + elsif std_match(addr, "-----------------10-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_2, IPBUS_SEL_WIDTH)); -- cancel_out_mems_2 / base 0x00004000 / mask 0x00006000 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_half_sorters.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_half_sorters.vhd index 0db0c1d..bb09cee 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_half_sorters.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_half_sorters.vhd @@ -17,7 +17,7 @@ package ipbus_decode_cancel_out_half_sorters is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_cancel_out_half_sorters(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_CANCEL_OUT_MEMS_0: integer := 0; constant N_SLV_CANCEL_OUT_MEMS_1: integer := 1; constant N_SLV_CANCEL_OUT_MEMS_2: integer := 2; @@ -36,19 +36,19 @@ package body ipbus_decode_cancel_out_half_sorters is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "------------------000-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_0, IPBUS_SEL_WIDTH)); -- cancel_out_mems_0 / base 0x00000000 / mask 0x00003800 - elsif std_match(addr, "------------------001-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_1, IPBUS_SEL_WIDTH)); -- cancel_out_mems_1 / base 0x00000800 / mask 0x00003800 - elsif std_match(addr, "------------------010-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_2, IPBUS_SEL_WIDTH)); -- cancel_out_mems_2 / base 0x00001000 / mask 0x00003800 - elsif std_match(addr, "------------------011-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_3, IPBUS_SEL_WIDTH)); -- cancel_out_mems_3 / base 0x00001800 / mask 0x00003800 - elsif std_match(addr, "------------------100-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_4, IPBUS_SEL_WIDTH)); -- cancel_out_mems_4 / base 0x00002000 / mask 0x00003800 - elsif std_match(addr, "------------------101-----------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_5, IPBUS_SEL_WIDTH)); -- cancel_out_mems_5 / base 0x00002800 / mask 0x00003800 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 + if std_match(addr, "----------------000-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_0, IPBUS_SEL_WIDTH)); -- cancel_out_mems_0 / base 0x00000000 / mask 0x0000e000 + elsif std_match(addr, "----------------001-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_1, IPBUS_SEL_WIDTH)); -- cancel_out_mems_1 / base 0x00002000 / mask 0x0000e000 + elsif std_match(addr, "----------------010-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_2, IPBUS_SEL_WIDTH)); -- cancel_out_mems_2 / base 0x00004000 / mask 0x0000e000 + elsif std_match(addr, "----------------011-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_3, IPBUS_SEL_WIDTH)); -- cancel_out_mems_3 / base 0x00006000 / mask 0x0000e000 + elsif std_match(addr, "----------------100-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_4, IPBUS_SEL_WIDTH)); -- cancel_out_mems_4 / base 0x00008000 / mask 0x0000e000 + elsif std_match(addr, "----------------101-------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEMS_5, IPBUS_SEL_WIDTH)); -- cancel_out_mems_5 / base 0x0000a000 / mask 0x0000e000 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_mems.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_mems.vhd index 439dff4..eef007a 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_mems.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_cancel_out_mems.vhd @@ -17,7 +17,7 @@ package ipbus_decode_cancel_out_mems is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_cancel_out_mems(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_CANCEL_OUT_MEM_0: integer := 0; constant N_SLV_CANCEL_OUT_MEM_1: integer := 1; constant N_SLV_CANCEL_OUT_MEM_2: integer := 2; @@ -39,25 +39,25 @@ package body ipbus_decode_cancel_out_mems is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "---------------------0000-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_0, IPBUS_SEL_WIDTH)); -- cancel_out_mem_0 / base 0x00000000 / mask 0x00000780 - elsif std_match(addr, "---------------------0001-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_1, IPBUS_SEL_WIDTH)); -- cancel_out_mem_1 / base 0x00000080 / mask 0x00000780 - elsif std_match(addr, "---------------------0010-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_2, IPBUS_SEL_WIDTH)); -- cancel_out_mem_2 / base 0x00000100 / mask 0x00000780 - elsif std_match(addr, "---------------------0011-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_3, IPBUS_SEL_WIDTH)); -- cancel_out_mem_3 / base 0x00000180 / mask 0x00000780 - elsif std_match(addr, "---------------------0100-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_4, IPBUS_SEL_WIDTH)); -- cancel_out_mem_4 / base 0x00000200 / mask 0x00000780 - elsif std_match(addr, "---------------------0101-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_5, IPBUS_SEL_WIDTH)); -- cancel_out_mem_5 / base 0x00000280 / mask 0x00000780 - elsif std_match(addr, "---------------------0110-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_6, IPBUS_SEL_WIDTH)); -- cancel_out_mem_6 / base 0x00000300 / mask 0x00000780 - elsif std_match(addr, "---------------------0111-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_7, IPBUS_SEL_WIDTH)); -- cancel_out_mem_7 / base 0x00000380 / mask 0x00000780 - elsif std_match(addr, "---------------------1000-------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_8, IPBUS_SEL_WIDTH)); -- cancel_out_mem_8 / base 0x00000400 / mask 0x00000780 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 + if std_match(addr, "-------------------0000---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_0, IPBUS_SEL_WIDTH)); -- cancel_out_mem_0 / base 0x00000000 / mask 0x00001e00 + elsif std_match(addr, "-------------------0001---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_1, IPBUS_SEL_WIDTH)); -- cancel_out_mem_1 / base 0x00000200 / mask 0x00001e00 + elsif std_match(addr, "-------------------0010---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_2, IPBUS_SEL_WIDTH)); -- cancel_out_mem_2 / base 0x00000400 / mask 0x00001e00 + elsif std_match(addr, "-------------------0011---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_3, IPBUS_SEL_WIDTH)); -- cancel_out_mem_3 / base 0x00000600 / mask 0x00001e00 + elsif std_match(addr, "-------------------0100---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_4, IPBUS_SEL_WIDTH)); -- cancel_out_mem_4 / base 0x00000800 / mask 0x00001e00 + elsif std_match(addr, "-------------------0101---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_5, IPBUS_SEL_WIDTH)); -- cancel_out_mem_5 / base 0x00000a00 / mask 0x00001e00 + elsif std_match(addr, "-------------------0110---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_6, IPBUS_SEL_WIDTH)); -- cancel_out_mem_6 / base 0x00000c00 / mask 0x00001e00 + elsif std_match(addr, "-------------------0111---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_7, IPBUS_SEL_WIDTH)); -- cancel_out_mem_7 / base 0x00000e00 / mask 0x00001e00 + elsif std_match(addr, "-------------------1000---------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_CANCEL_OUT_MEM_8, IPBUS_SEL_WIDTH)); -- cancel_out_mem_8 / base 0x00001000 / mask 0x00001e00 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_energy_input.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_energy_input.vhd index 37950d9..fbebb8c 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_energy_input.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_energy_input.vhd @@ -17,7 +17,7 @@ package ipbus_decode_energy_input is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_energy_input(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_ENERGY_QUAD_0: integer := 0; constant N_SLV_ENERGY_QUAD_1: integer := 1; constant N_SLV_ENERGY_QUAD_2: integer := 2; @@ -37,7 +37,7 @@ package body ipbus_decode_energy_input is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "-------------000----------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_ENERGY_QUAD_0, IPBUS_SEL_WIDTH)); -- energy_quad_0 / base 0x00000000 / mask 0x00070000 elsif std_match(addr, "-------------001----------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_energy_quad_deserialization.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_energy_quad_deserialization.vhd index 638d09d..51a00c2 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_energy_quad_deserialization.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_energy_quad_deserialization.vhd @@ -17,7 +17,7 @@ package ipbus_decode_energy_quad_deserialization is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_energy_quad_deserialization(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_BC0_ERRORS_0: integer := 0; constant N_SLV_BC0_ERRORS_1: integer := 1; constant N_SLV_BC0_ERRORS_2: integer := 2; @@ -38,7 +38,7 @@ package body ipbus_decode_energy_quad_deserialization is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "-------------------------0000000") then sel := ipbus_sel_t(to_unsigned(N_SLV_BC0_ERRORS_0, IPBUS_SEL_WIDTH)); -- bc0_errors_0 / base 0x00000000 / mask 0x0000007f elsif std_match(addr, "-------------------------0000001") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_gen_calo_idx_bits.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_gen_calo_idx_bits.vhd index bdc1ca7..99273be 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_gen_calo_idx_bits.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_gen_calo_idx_bits.vhd @@ -17,7 +17,7 @@ package ipbus_decode_gen_calo_idx_bits is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_gen_calo_idx_bits(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_ETA_EXTRAPOLATION_MEM_0: integer := 0; constant N_SLV_ETA_EXTRAPOLATION_MEM_1: integer := 1; constant N_SLV_ETA_EXTRAPOLATION_MEM_2: integer := 2; @@ -46,7 +46,7 @@ package body ipbus_decode_gen_calo_idx_bits is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "---------------00000------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_ETA_EXTRAPOLATION_MEM_0, IPBUS_SEL_WIDTH)); -- eta_extrapolation_mem_0 / base 0x00000000 / mask 0x0001f000 elsif std_match(addr, "---------------00010------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_generate_lemo_signals.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_generate_lemo_signals.vhd index 9289c85..c89e2a7 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_generate_lemo_signals.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_generate_lemo_signals.vhd @@ -17,7 +17,7 @@ package ipbus_decode_generate_lemo_signals is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_generate_lemo_signals(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:59 2016 constant N_SLV_PRESCALE: integer := 0; constant N_SLAVES: integer := 1; -- END automatically generated VHDL @@ -31,7 +31,7 @@ package body ipbus_decode_generate_lemo_signals is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:59 2016 if std_match(addr, "--------------------------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_PRESCALE, IPBUS_SEL_WIDTH)); -- prescale / base 0x00000000 / mask 0x00000000 -- END automatically generated VHDL diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_isolation.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_isolation.vhd index 34e65f6..f36a6a0 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_isolation.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_isolation.vhd @@ -17,7 +17,7 @@ package ipbus_decode_isolation is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_isolation(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_ISOLATION_CHECK: integer := 0; constant N_SLAVES: integer := 1; -- END automatically generated VHDL @@ -31,7 +31,7 @@ package body ipbus_decode_isolation is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "--------------------------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_ISOLATION_CHECK, IPBUS_SEL_WIDTH)); -- isolation_check / base 0x00000000 / mask 0x00000000 -- END automatically generated VHDL diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_isolation_assignment.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_isolation_assignment.vhd index 575808e..183160d 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_isolation_assignment.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_isolation_assignment.vhd @@ -17,7 +17,7 @@ package ipbus_decode_isolation_assignment is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_isolation_assignment(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_ABS_ISO: integer := 0; constant N_SLV_REL_ISO: integer := 1; constant N_SLAVES: integer := 2; @@ -32,7 +32,7 @@ package body ipbus_decode_isolation_assignment is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "--------------0-----------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_ABS_ISO, IPBUS_SEL_WIDTH)); -- abs_iso / base 0x00000000 / mask 0x00020000 elsif std_match(addr, "--------------1-----------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_absolute.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_absolute.vhd index 9974c42..6c0de25 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_absolute.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_absolute.vhd @@ -17,7 +17,7 @@ package ipbus_decode_isolation_mem_absolute is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_isolation_mem_absolute(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_ABS_ISO_MEM_0: integer := 0; constant N_SLV_ABS_ISO_MEM_1: integer := 1; constant N_SLV_ABS_ISO_MEM_2: integer := 2; @@ -38,7 +38,7 @@ package body ipbus_decode_isolation_mem_absolute is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "------------------------000-----") then sel := ipbus_sel_t(to_unsigned(N_SLV_ABS_ISO_MEM_0, IPBUS_SEL_WIDTH)); -- abs_iso_mem_0 / base 0x00000000 / mask 0x000000e0 elsif std_match(addr, "------------------------001-----") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_relative.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_relative.vhd index 64a3e46..08416b7 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_relative.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_isolation_mem_relative.vhd @@ -17,7 +17,7 @@ package ipbus_decode_isolation_mem_relative is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_isolation_mem_relative(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_REL_ISO_MEM_0: integer := 0; constant N_SLV_REL_ISO_MEM_1: integer := 1; constant N_SLV_REL_ISO_MEM_2: integer := 2; @@ -38,7 +38,7 @@ package body ipbus_decode_isolation_mem_relative is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "---------------000--------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_REL_ISO_MEM_0, IPBUS_SEL_WIDTH)); -- rel_iso_mem_0 / base 0x00000000 / mask 0x0001c000 elsif std_match(addr, "---------------001--------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_mp7_payload.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_mp7_payload.vhd index 1fbdead..197f6fe 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_mp7_payload.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_mp7_payload.vhd @@ -17,7 +17,7 @@ package ipbus_decode_mp7_payload is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_mp7_payload(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:59 2016 constant N_SLV_MUON_INPUT: integer := 0; constant N_SLV_ENERGY_INPUT: integer := 1; constant N_SLV_UGMT: integer := 2; @@ -41,7 +41,7 @@ package body ipbus_decode_mp7_payload is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:59 2016 if std_match(addr, "----000-------------------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_INPUT, IPBUS_SEL_WIDTH)); -- muon_input / base 0x00000000 / mask 0x0e000000 elsif std_match(addr, "----001-------------------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_mu_quad_deserialization.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_mu_quad_deserialization.vhd index c7ca74b..1ca20aa 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_mu_quad_deserialization.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_mu_quad_deserialization.vhd @@ -17,7 +17,7 @@ package ipbus_decode_mu_quad_deserialization is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_mu_quad_deserialization(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_SORT_RANK_MEM_0: integer := 0; constant N_SLV_SORT_RANK_MEM_1: integer := 1; constant N_SLV_SORT_RANK_MEM_2: integer := 2; @@ -50,7 +50,7 @@ package body ipbus_decode_mu_quad_deserialization is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "----------------000-------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_SORT_RANK_MEM_0, IPBUS_SEL_WIDTH)); -- sort_rank_mem_0 / base 0x00000000 / mask 0x0000e000 elsif std_match(addr, "----------------001-------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_muon_counter_reset.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_muon_counter_reset.vhd index 0e094d4..2030b0f 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_muon_counter_reset.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_muon_counter_reset.vhd @@ -17,7 +17,7 @@ package ipbus_decode_muon_counter_reset is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_muon_counter_reset(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_MANUAL_RESET_SEL: integer := 0; constant N_SLV_MANUAL_RESET_CTRL: integer := 1; constant N_SLV_LUMI_SECTION_CNT: integer := 2; @@ -33,7 +33,7 @@ package body ipbus_decode_muon_counter_reset is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "------------------------------00") then sel := ipbus_sel_t(to_unsigned(N_SLV_MANUAL_RESET_SEL, IPBUS_SEL_WIDTH)); -- manual_reset_sel / base 0x00000000 / mask 0x00000003 elsif std_match(addr, "------------------------------01") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_muon_input.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_muon_input.vhd index 2adf71e..7f3470f 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_muon_input.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_muon_input.vhd @@ -17,7 +17,7 @@ package ipbus_decode_muon_input is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_muon_input(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_MU_QUAD_0: integer := 0; constant N_SLV_MU_QUAD_1: integer := 1; constant N_SLV_MU_QUAD_2: integer := 2; @@ -48,7 +48,7 @@ package body ipbus_decode_muon_input is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "-------000000000----------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_MU_QUAD_0, IPBUS_SEL_WIDTH)); -- mu_quad_0 / base 0x00000000 / mask 0x01ff0000 elsif std_match(addr, "-------000000001----------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_sorting.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_sorting.vhd index fde5f1e..c2c3cf3 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_sorting.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_sorting.vhd @@ -17,7 +17,7 @@ package ipbus_decode_sorting is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_sorting(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_COU_BO_POS: integer := 0; constant N_SLV_COU_BO_NEG: integer := 1; constant N_SLV_COU_EO_POS: integer := 2; @@ -44,35 +44,35 @@ package body ipbus_decode_sorting is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:31 2016 - if std_match(addr, "------------0000----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_BO_POS, IPBUS_SEL_WIDTH)); -- cou_bo_pos / base 0x00000000 / mask 0x000f0000 - elsif std_match(addr, "------------0001----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_BO_NEG, IPBUS_SEL_WIDTH)); -- cou_bo_neg / base 0x00010000 / mask 0x000f0000 - elsif std_match(addr, "------------0010----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EO_POS, IPBUS_SEL_WIDTH)); -- cou_eo_pos / base 0x00020000 / mask 0x000f0000 - elsif std_match(addr, "------------0011----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EO_NEG, IPBUS_SEL_WIDTH)); -- cou_eo_neg / base 0x00030000 / mask 0x000f0000 - elsif std_match(addr, "------------0100----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_OMTF_POS, IPBUS_SEL_WIDTH)); -- cou_omtf_pos / base 0x00040000 / mask 0x000f0000 - elsif std_match(addr, "------------0101----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_OMTF_NEG, IPBUS_SEL_WIDTH)); -- cou_omtf_neg / base 0x00050000 / mask 0x000f0000 - elsif std_match(addr, "------------0110----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EMTF_POS, IPBUS_SEL_WIDTH)); -- cou_emtf_pos / base 0x00060000 / mask 0x000f0000 - elsif std_match(addr, "------------0111----------------") then - sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EMTF_NEG, IPBUS_SEL_WIDTH)); -- cou_emtf_neg / base 0x00070000 / mask 0x000f0000 - elsif std_match(addr, "------------1000-------------000") then - sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_BMTF, IPBUS_SEL_WIDTH)); -- muon_counter_BMTF / base 0x00080000 / mask 0x000f0007 - elsif std_match(addr, "------------1000-------------001") then - sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_OMTFP, IPBUS_SEL_WIDTH)); -- muon_counter_OMTFp / base 0x00080001 / mask 0x000f0007 - elsif std_match(addr, "------------1000-------------010") then - sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_OMTFN, IPBUS_SEL_WIDTH)); -- muon_counter_OMTFn / base 0x00080002 / mask 0x000f0007 - elsif std_match(addr, "------------1000-------------011") then - sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_EMTFP, IPBUS_SEL_WIDTH)); -- muon_counter_EMTFp / base 0x00080003 / mask 0x000f0007 - elsif std_match(addr, "------------1000-------------100") then - sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_EMTFN, IPBUS_SEL_WIDTH)); -- muon_counter_EMTFn / base 0x00080004 / mask 0x000f0007 - elsif std_match(addr, "------------1000-------------101") then - sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_OUTPUT, IPBUS_SEL_WIDTH)); -- muon_counter_output / base 0x00080005 / mask 0x000f0007 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 + if std_match(addr, "-----------000------------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_BO_POS, IPBUS_SEL_WIDTH)); -- cou_bo_pos / base 0x00000000 / mask 0x001c0000 + elsif std_match(addr, "-----------001------------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_BO_NEG, IPBUS_SEL_WIDTH)); -- cou_bo_neg / base 0x00040000 / mask 0x001c0000 + elsif std_match(addr, "-----------010------------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EO_POS, IPBUS_SEL_WIDTH)); -- cou_eo_pos / base 0x00080000 / mask 0x001c0000 + elsif std_match(addr, "-----------011------------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EO_NEG, IPBUS_SEL_WIDTH)); -- cou_eo_neg / base 0x000c0000 / mask 0x001c0000 + elsif std_match(addr, "-----------10000----------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_OMTF_POS, IPBUS_SEL_WIDTH)); -- cou_omtf_pos / base 0x00100000 / mask 0x001f0000 + elsif std_match(addr, "-----------10001----------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_OMTF_NEG, IPBUS_SEL_WIDTH)); -- cou_omtf_neg / base 0x00110000 / mask 0x001f0000 + elsif std_match(addr, "-----------10010----------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EMTF_POS, IPBUS_SEL_WIDTH)); -- cou_emtf_pos / base 0x00120000 / mask 0x001f0000 + elsif std_match(addr, "-----------10011----------------") then + sel := ipbus_sel_t(to_unsigned(N_SLV_COU_EMTF_NEG, IPBUS_SEL_WIDTH)); -- cou_emtf_neg / base 0x00130000 / mask 0x001f0000 + elsif std_match(addr, "-----------10100-------------000") then + sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_BMTF, IPBUS_SEL_WIDTH)); -- muon_counter_BMTF / base 0x00140000 / mask 0x001f0007 + elsif std_match(addr, "-----------10100-------------001") then + sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_OMTFP, IPBUS_SEL_WIDTH)); -- muon_counter_OMTFp / base 0x00140001 / mask 0x001f0007 + elsif std_match(addr, "-----------10100-------------010") then + sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_OMTFN, IPBUS_SEL_WIDTH)); -- muon_counter_OMTFn / base 0x00140002 / mask 0x001f0007 + elsif std_match(addr, "-----------10100-------------011") then + sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_EMTFP, IPBUS_SEL_WIDTH)); -- muon_counter_EMTFp / base 0x00140003 / mask 0x001f0007 + elsif std_match(addr, "-----------10100-------------100") then + sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_EMTFN, IPBUS_SEL_WIDTH)); -- muon_counter_EMTFn / base 0x00140004 / mask 0x001f0007 + elsif std_match(addr, "-----------10100-------------101") then + sel := ipbus_sel_t(to_unsigned(N_SLV_MUON_COUNTER_OUTPUT, IPBUS_SEL_WIDTH)); -- muon_counter_output / base 0x00140005 / mask 0x001f0007 -- END automatically generated VHDL else diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_spy_buffer_control.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_spy_buffer_control.vhd index 91eb0b4..c6c3b90 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_spy_buffer_control.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_spy_buffer_control.vhd @@ -17,7 +17,7 @@ package ipbus_decode_spy_buffer_control is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_spy_buffer_control(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:59 2016 constant N_SLV_SPY_BUFFER_0: integer := 0; constant N_SLV_SPY_BUFFER_1: integer := 1; constant N_SLV_SPY_BUFFER_2: integer := 2; @@ -34,7 +34,7 @@ package body ipbus_decode_spy_buffer_control is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:59 2016 if std_match(addr, "------------------00------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_SPY_BUFFER_0, IPBUS_SEL_WIDTH)); -- spy_buffer_0 / base 0x00000000 / mask 0x00003000 elsif std_match(addr, "------------------01------------") then diff --git a/uGMT_algos/firmware/hdl/ipbus_decode_uGMT.vhd b/uGMT_algos/firmware/hdl/ipbus_decode_uGMT.vhd index 3c8ff4b..f5220f6 100644 --- a/uGMT_algos/firmware/hdl/ipbus_decode_uGMT.vhd +++ b/uGMT_algos/firmware/hdl/ipbus_decode_uGMT.vhd @@ -17,7 +17,7 @@ package ipbus_decode_uGMT is subtype ipbus_sel_t is std_logic_vector(IPBUS_SEL_WIDTH - 1 downto 0); function ipbus_sel_uGMT(addr : in std_logic_vector(31 downto 0)) return ipbus_sel_t; --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 constant N_SLV_ISOLATION: integer := 0; constant N_SLV_SORTING: integer := 1; constant N_SLAVES: integer := 2; @@ -32,7 +32,7 @@ package body ipbus_decode_uGMT is variable sel: ipbus_sel_t; begin --- START automatically generated VHDL the Wed Apr 13 14:47:32 2016 +-- START automatically generated VHDL the Tue May 24 12:21:58 2016 if std_match(addr, "------0-------------------------") then sel := ipbus_sel_t(to_unsigned(N_SLV_ISOLATION, IPBUS_SEL_WIDTH)); -- isolation / base 0x00000000 / mask 0x02000000 elsif std_match(addr, "------1-------------------------") then