ADC_CS <= spi_cs(7);
ADC_MOSI <= spi_sdo;
-
+ busspi_tx.unknown <= '0';
end generate;
- busspi_tx.unknown <= '0';
+
+ gen_no_uart : if INCLUDE_SPI = 0 generate
+ busspi_tx.unknown <= busspi_rx.write or busspi_rx.read;
+ busspi_tx.ack <= '0'; busspi_tx.nack <= '0';
+ busspi_tx.data <= (others => '0');
+ end generate;
---------------------------------------------------------------------------
-- UART
BUS_TX => busuart_tx
);
end generate;
+ gen_no_uart : if INCLUDE_UART = 0 generate
+ busuart_tx.unknown <= busuart_rx.write or busuart_rx.read;
+ busuart_tx.ack <= '0'; busuart_tx.nack <= '0';
+ busuart_tx.data <= (others => '0');
+ end generate;
---------------------------------------------------------------------------
-- Debug Connection
-- Trigger logic
---------------------------------------------------------------------------
gen_TRIG_LOGIC : if INCLUDE_TRIGGER_LOGIC = 1 generate
- THE_TRIG_LOGIC : input_to_trigger_logic
+ THE_TRIG_LOGIC : entity work.input_to_trigger_logic_record
generic map(
INPUTS => TRIG_GEN_INPUT_NUM,
OUTPUTS => TRIG_GEN_OUTPUT_NUM
INPUT => TRIG_GEN_INPUTS,
OUTPUT => TRIG_GEN_OUTPUTS,
- DATA_IN => bustrig_rx.data,
- DATA_OUT => bustrig_tx.data,
- WRITE_IN => bustrig_rx.write,
- READ_IN => bustrig_rx.read,
- ACK_OUT => bustrig_tx.ack,
- NACK_OUT => bustrig_tx.nack,
- ADDR_IN => bustrig_rx.addr
+ BUS_RX => bustrig_rx,
+ BUS_TX => bustrig_tx
);
end generate;
gen_noTRIG_LOGIC : if INCLUDE_TRIGGER_LOGIC = 0 generate
- bustrig_tx.unknown <= bustrig_rx.read or bustrig_rx.write;
+ bustrig_tx.unknown <= bustrig_rx.write or bustrig_rx.read;
+ bustrig_tx.ack <= '0'; bustrig_tx.nack <= '0';
+ bustrig_tx.data <= (others => '0');
end generate;
---------------------------------------------------------------------------
NACK_OUT => busmon_tx.nack,
ADDR_IN => busmon_rx.addr
);
+ busmon_tx.unknown <= '0';
end generate;
gen_noSTATISTICS : if INCLUDE_STATISTICS = 0 generate
- busmon_tx.unknown <= busmon_rx.read or busmon_rx.write;
+ busmon_tx.unknown <= busmon_rx.write or busmon_rx.read;
+ busmon_tx.ack <= '0'; busmon_tx.nack <= '0';
+ busmon_tx.data <= (others => '0');
end generate;
---------------------------------------------------------------------------
HEADER_IO(3) <= spi_sdo;
-- HEADER_IO(4) <= ;
HEADER_IO(5) <= spi_sck;
- HEADER_IO(6) <= spi_cs;
+ HEADER_IO(6) <= spi_cs(8);
end generate;
--TDC settings
constant NUM_TDC_MODULES : integer range 1 to 4 := 1; -- number of tdc modules to implement
- constant NUM_TDC_CHANNELS : integer range 1 to 65 := 2; -- number of tdc channels per module
+ constant NUM_TDC_CHANNELS : integer range 1 to 65 := 41; -- number of tdc channels per module
constant NUM_TDC_CHANNELS_POWER2 : integer range 0 to 6 := 5; --the nearest power of two, for convenience reasons
constant DOUBLE_EDGE_TYPE : integer range 0 to 3 := 3; --double edge type: 0, 1, 2, 3
-- 0: single edge only,
--input monitor and trigger generation logic
constant INCLUDE_TRIGGER_LOGIC : integer := c_YES;
constant INCLUDE_STATISTICS : integer := c_YES;
- constant TRIG_GEN_INPUT_NUM : integer := 20;
+ constant TRIG_GEN_INPUT_NUM : integer := 40;
constant TRIG_GEN_OUTPUT_NUM : integer := 4;
- constant MONITOR_INPUT_NUM : integer := 24;
+ constant MONITOR_INPUT_NUM : integer := 44;
------------------------------------------------------------------------------
--End of design configuration
ADC_MISO => ADC_DOUT,
ADC_CLK => ADC_CLK,
--Trigger & Monitor
- MONITOR_INPUTS(19 downto 0) => KEL(20 downto 1),
- MONITOR_INPUTS(23 downto 20) => trig_gen_out_i,
- TRIG_GEN_INPUTS => KEL(20 downto 1),
+ MONITOR_INPUTS(39 downto 0) => KEL(40 downto 1),
+ MONITOR_INPUTS(43 downto 40) => trig_gen_out_i,
+ TRIG_GEN_INPUTS => KEL(40 downto 1),
TRIG_GEN_OUTPUTS => trig_gen_out_i,
--SED
SED_ERROR_OUT => sed_error_i,