{> constant IPBUS_SEL_WIDTH: positive := 5; < constant IPBUS_SEL_WIDTH: positive := 4; } {> constant N_SLV_FELIX_BACKPRESSURE: integer := 5; < constant N_SLV_TTC_FIFO_BUSY_THRESHOLD: integer := 6; } {> constant N_SLV_TTC_FIFO_BUSY_THRESHOLD: integer := 6; < constant N_SLV_TTC_L1ID: integer := 7; } {> constant N_SLV_TTC_L1ID: integer := 7; < constant N_SLV_TTC_BCN: integer := 8; } {> constant N_SLV_TTC_BCN: integer := 8; < constant N_SLV_CTTC_LINK_STAT: integer := 9; } {> constant N_SLV_CTTC_LINK_STAT: integer := 9; < constant N_SLV_TTC_CONTROL: integer := 10; } {> constant N_SLV_TTC_CONTROL: integer := 10; < constant N_SLV_PACKET_HEADER_INFO: integer := 11; } {> constant N_SLV_PACKET_HEADER_INFO: integer := 11; < constant N_SLV_EVENT_COUNT: integer := 12; } {> constant N_SLV_EVENT_COUNT: integer := 12; < constant N_SLV_TOTAL_EVENT_COUNT: integer := 13; } {> constant N_SLV_TOTAL_EVENT_COUNT: integer := 13; < constant N_SLV_TOTAL_EVENT_COUNT_MSB: integer := 14; } {> constant N_SLV_TOTAL_EVENT_COUNT_MSB: integer := 14; < constant N_SLV_ORBIT: integer := 15; } {> constant N_SLV_ORBIT: integer := 15; < constant N_SLV_FELIX_BACKPRESSURE: integer := 5; } {> elsif std_match(addr, "----------------------------0101") then < elsif std_match(addr, "----------------------------0110") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_FELIX_BACKPRESSURE, IPBUS_SEL_WIDTH)); -- Felix_backpressure / base 0x00000005 / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_FIFO_BUSY_THRESHOLD, IPBUS_SEL_WIDTH)); -- TTC_fifo_busy_threshold / base 0x00000006 / mask 0x0000000f } {> elsif std_match(addr, "----------------------------0110") then < elsif std_match(addr, "----------------------------0111") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_FIFO_BUSY_THRESHOLD, IPBUS_SEL_WIDTH)); -- TTC_fifo_busy_threshold / base 0x00000006 / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_L1ID, IPBUS_SEL_WIDTH)); -- TTC_L1ID / base 0x00000007 / mask 0x0000000f } {> elsif std_match(addr, "----------------------------0111") then < elsif std_match(addr, "----------------------------1000") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_L1ID, IPBUS_SEL_WIDTH)); -- TTC_L1ID / base 0x00000007 / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_BCN, IPBUS_SEL_WIDTH)); -- TTC_BCN / base 0x00000008 / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1000") then < elsif std_match(addr, "----------------------------1001") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_BCN, IPBUS_SEL_WIDTH)); -- TTC_BCN / base 0x00000008 / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_CTTC_LINK_STAT, IPBUS_SEL_WIDTH)); -- CTTC_LINK_STAT / base 0x00000009 / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1001") then < elsif std_match(addr, "----------------------------1010") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_CTTC_LINK_STAT, IPBUS_SEL_WIDTH)); -- CTTC_LINK_STAT / base 0x00000009 / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_CONTROL, IPBUS_SEL_WIDTH)); -- TTC_Control / base 0x0000000a / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1010") then < elsif std_match(addr, "----------------------------1011") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_TTC_CONTROL, IPBUS_SEL_WIDTH)); -- TTC_Control / base 0x0000000a / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_PACKET_HEADER_INFO, IPBUS_SEL_WIDTH)); -- Packet_Header_Info / base 0x0000000b / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1011") then < elsif std_match(addr, "----------------------------1100") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_PACKET_HEADER_INFO, IPBUS_SEL_WIDTH)); -- Packet_Header_Info / base 0x0000000b / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_EVENT_COUNT, IPBUS_SEL_WIDTH)); -- event_count / base 0x0000000c / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1100") then < elsif std_match(addr, "----------------------------1101") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_EVENT_COUNT, IPBUS_SEL_WIDTH)); -- event_count / base 0x0000000c / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_TOTAL_EVENT_COUNT, IPBUS_SEL_WIDTH)); -- total_event_count / base 0x0000000d / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1101") then < elsif std_match(addr, "----------------------------1110") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_TOTAL_EVENT_COUNT, IPBUS_SEL_WIDTH)); -- total_event_count / base 0x0000000d / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_TOTAL_EVENT_COUNT_MSB, IPBUS_SEL_WIDTH)); -- total_event_count / base 0x0000000d / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1110") then < elsif std_match(addr, "----------------------------1111") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_TOTAL_EVENT_COUNT_MSB, IPBUS_SEL_WIDTH)); -- total_event_count_msb / base 0x0000000e / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_ORBIT, IPBUS_SEL_WIDTH)); -- orbit / base 0x0000000e / mask 0x0000000f } {> elsif std_match(addr, "----------------------------1111") then < elsif std_match(addr, "----------------------------0101") then } {> sel := ipbus_sel_t(to_unsigned(N_SLV_ORBIT, IPBUS_SEL_WIDTH)); -- orbit / base 0x0000000f / mask 0x0000000f < sel := ipbus_sel_t(to_unsigned(N_SLV_FELIX_BACKPRESSURE, IPBUS_SEL_WIDTH)); -- orbit / base 0x0000000e / mask 0x0000000f }