if i = addr then
cts_regio_dataready_out_i <= cts_regio_read_enable_in_i;
cts_regio_data_out_i <= cts_status_registers_i(i);
- cts_regio_unknown_addr_out_i <= '0';
+ cts_regio_unknown_addr_out_i <= cts_regio_write_enable_in_i;
end if;
end loop;
transfer_debug_limits_i <= '1';
cts_regio_write_ack_out_i <= '1';
+ cts_regio_unknown_addr_out_i <= '0';
end if;
if addr = 16#09# and cts_regio_write_enable_in_i = '1' then
ro_configuration_i <= cts_regio_data_in_i(ro_configuration_i'RANGE);
cts_regio_write_ack_out_i <= '1';
+ cts_regio_unknown_addr_out_i <= '0';
end if;
if addr = 16#0c# and cts_regio_write_enable_in_i = '1' then
throttle_enabled_i <= cts_regio_data_in_i(throttle_threshold_i'LENGTH);
stop_triggers_i <= cts_regio_data_in_i(31);
cts_regio_write_ack_out_i <= '1';
+ cts_regio_unknown_addr_out_i <= '0';
end if;
eb_regio_updated_i <= '0';
eb_regio_updated_i <= '1';
cts_regio_write_ack_out_i <= '1';
+ cts_regio_unknown_addr_out_i <= '0';
end if;
end if;
end if;
-- Trigger Channel Masking
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(id => 16#00#, len => 1);
end if;
-- Trigger Channel Counters
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(id => 16#01#, len => 32);
end if;
for i in 0 to channel_counters_i'HIGH loop
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= std_logic_vector( channel_counters_i(i) );
ref_addr := ref_addr + 1;
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= std_logic_vector( channel_edge_counters_i(i) );
-- Input Module Configuration
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => 16#10#,
-- Trigger Input Counters
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(id => 16#11#, len => 2*ITL_NUM);
end if;
for i in 0 to ITL_NUM - 1 loop
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= std_logic_vector( trigger_input_counters_i(i) );
ref_addr := ref_addr + 1;
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= std_logic_vector( trigger_input_edge_counters_i(i) );
-- COIN CONFIGURATION
if TRIGGER_COIN_COUNT > 0 then
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => 16#20#,
-- ADDON MULTIPLEXER
if TRIGGER_ADDON_COUNT > 0 then
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => 16#12#,
-- TRIGGER_PULSER_COUNT CONFIGURATION
if TRIGGER_PULSER_COUNT > 0 then
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => 16#30#,
-- Pseudo Random Pulser
if TRIGGER_RAND_PULSER /= 0 then
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => 16#50#,
-- External Trigger
if EXTERNAL_TRIGGER_ID /= X"00" then
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => to_integer(unsigned(EXTERNAL_TRIGGER_ID)),
-- status register
if addr=ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= EXT_STATUS_IN;
end if;
-- Trigger Type Assoc
if addr = ref_addr then
- REGIO_UNKNOWN_ADDR_OUT <= '0';
+ REGIO_UNKNOWN_ADDR_OUT <= REGIO_WRITE_ENABLE_IN;
REGIO_DATAREADY_OUT <= REGIO_READ_ENABLE_IN;
REGIO_DATA_OUT <= CTS_BLOCK_HEADER(
id => 16#40#,