I2C_SCL : inout std_logic;
--LED
- LED : out std_logic_vector(2 downto 0)
+ LED : out std_logic_vector(2 downto 0); --green(0), orange(1), yellow(2)
--Other Connectors
+ IO : inout std_logic_vector(4 downto 1)
+
);
signal GSR_N : std_logic;
signal reset_i : std_logic;
signal clear_i : std_logic;
+ signal reset_i_tmp : std_logic;
--Media Interface
signal med2int : med2int_array_t(0 to 0);
signal monitor_inputs_i : std_logic_vector(MONITOR_INPUT_NUM-1 downto 0);
signal trigger_inputs_i : std_logic_vector(TRIG_GEN_INPUT_NUM-1 downto 0);
signal calibration_pulse: std_logic;
-
- signal dummy_i : std_logic;
+ signal header_io_i : std_logic_vector(10 downto 1);
+ signal prepare_for_reload_i : std_logic;
+ signal sd_txdis_i : std_logic;
begin
BUS_RX => bustc_rx,
BUS_TX => bustc_tx,
- RESET_OUT => reset_i,
+ RESET_OUT => reset_i_tmp,
CLEAR_OUT => clear_i,
GSR_OUT => GSR_N,
DEBUG_OUT => open
);
-
+reset_i <= reset_i_tmp when falling_edge(clk_sys);
---------------------------------------------------------------------------
-- TrbNet Uplink
---------------------------------------------------------------------------
THE_MEDIA_INTERFACE : entity work.med_ecp5_sfp_sync
generic map(
+ USE_NEW_ECP5_RESET => 0,
SERDES_NUM => 0,
IS_SYNC_SLAVE => c_YES
)
--SFP Connection
SD_PRSNT_N_IN => GPIO(0),
SD_LOS_IN => GPIO(0),
- SD_TXDIS_OUT => GPIO(1),
+ SD_TXDIS_OUT => sd_txdis_i,
--Control Interface
BUS_RX => bussci_rx,
BUS_TX => bussci_tx,
STAT_DEBUG => med_stat_debug(63 downto 0),
CTRL_DEBUG => open
);
+
+GPIO(1) <= sd_txdis_i or prepare_for_reload_i;
---------------------------------------------------------------------------
-- Endpoint
THE_ENDPOINT : entity work.trb_net16_endpoint_hades_full_handler_record
generic map (
ADDRESS_MASK => x"FFFF",
- BROADCAST_BITMASK => x"FF",
+ BROADCAST_BITMASK => x"FB",
REGIO_INIT_ENDPOINT_ID => x"0001",
REGIO_USE_1WIRE_INTERFACE => c_I2C,
TIMING_TRIGGER_RAW => c_YES,
FLASH_IN => FLASH_MISO,
FLASH_OUT => FLASH_MOSI,
PROGRAMN => PROGRAMN,
+ PREPARE_FOR_RELOAD => prepare_for_reload_i,
REBOOT_IN => common_ctrl_reg(15),
--SPI
--SPI_CS_OUT(1 downto 0) => RSTN,
--SPI_MISO_IN(1 downto 0) => MISO,
--SPI_CLK_OUT(1 downto 0) => SCK,
--Header
- HEADER_IO => open,
+ -- 9 Debug RX
+ -- 10 Debug TX
+ HEADER_IO => header_io_i,
ADDITIONAL_REG => additional_reg,
--LCD
led_off <= additional_reg(0);
FLASH_OVERRIDE <= not additional_reg(1);
-
+
+ header_io_i(9) <= IO(3);
+ IO(4) <= header_io_i(10);
+
---------------------------------------------------------------------------
-- I/O
---------------------------------------------------------------------------
BUS_TX => bustdc_tx,
READOUT_RX => readout_rx,
- READOUT_TX => readout_tx(0 to 1),
-
- DUMMY => dummy_i
+ READOUT_TX => readout_tx(0 to 1)
);
LOCATE COMP "GPIO_2" SITE "A16";\r
LOCATE COMP "GPIO_3" SITE "B16";\r
DEFINE PORT GROUP "GPIO_group" "GPIO*";\r
-IOBUF GROUP "GPIO_group" IO_TYPE=LVCMOS25 ;\r
+IOBUF GROUP "GPIO_group" IO_TYPE=LVCMOS25 PULLMODE=UP;\r
\r
LOCATE COMP "ID_0" SITE "R1";\r
LOCATE COMP "ID_1" SITE "T1";\r
DEFINE PORT GROUP "PTEN_group" "PTEN*";\r
IOBUF GROUP "PTEN_group" IO_TYPE=LVCMOS25 ;\r
\r
+LOCATE COMP "IO_1" SITE "E1";\r
+LOCATE COMP "IO_2" SITE "E3";\r
+LOCATE COMP "IO_3" SITE "D2";\r
+LOCATE COMP "IO_4" SITE "C2";\r
+DEFINE PORT GROUP "IO_group" "IO*";\r
+IOBUF GROUP "IO_group" IO_TYPE=LVCMOS25 ;\r
\r
\r