	component reset_controller is
		generic (
			NUM_RESET_INPUTS          : integer := 2;
			OUTPUT_RESET_SYNC_EDGES   : string  := "both";
			SYNC_DEPTH                : integer := 10;
			RESET_REQUEST_PRESENT     : integer := 0;
			RESET_REQ_WAIT_TIME       : integer := 1;
			MIN_RST_ASSERTION_TIME    : integer := 3;
			RESET_REQ_EARLY_DSRT_TIME : integer := 1;
			USE_RESET_REQUEST_IN0     : integer := 0;
			USE_RESET_REQUEST_IN1     : integer := 0;
			USE_RESET_REQUEST_IN2     : integer := 0;
			USE_RESET_REQUEST_IN3     : integer := 0;
			USE_RESET_REQUEST_IN4     : integer := 0;
			USE_RESET_REQUEST_IN5     : integer := 0;
			USE_RESET_REQUEST_IN6     : integer := 0;
			USE_RESET_REQUEST_IN7     : integer := 0;
			USE_RESET_REQUEST_IN8     : integer := 0;
			USE_RESET_REQUEST_IN9     : integer := 0;
			USE_RESET_REQUEST_IN10    : integer := 0;
			USE_RESET_REQUEST_IN11    : integer := 0;
			USE_RESET_REQUEST_IN12    : integer := 0;
			USE_RESET_REQUEST_IN13    : integer := 0;
			USE_RESET_REQUEST_IN14    : integer := 0;
			USE_RESET_REQUEST_IN15    : integer := 0;
			ADAPT_RESET_REQUEST       : integer := 0
		);
		port (
			reset_in0 : in  std_logic := 'X'; -- reset
			reset_in1 : in  std_logic := 'X'; -- reset
			clk       : in  std_logic := 'X'; -- clk
			reset_out : out std_logic         -- reset
		);
	end component reset_controller;

	u0 : component reset_controller
		generic map (
			NUM_RESET_INPUTS          => INTEGER_VALUE_FOR_NUM_RESET_INPUTS,
			OUTPUT_RESET_SYNC_EDGES   => STRING_VALUE_FOR_OUTPUT_RESET_SYNC_EDGES,
			SYNC_DEPTH                => INTEGER_VALUE_FOR_SYNC_DEPTH,
			RESET_REQUEST_PRESENT     => INTEGER_VALUE_FOR_RESET_REQUEST_PRESENT,
			RESET_REQ_WAIT_TIME       => INTEGER_VALUE_FOR_RESET_REQ_WAIT_TIME,
			MIN_RST_ASSERTION_TIME    => INTEGER_VALUE_FOR_MIN_RST_ASSERTION_TIME,
			RESET_REQ_EARLY_DSRT_TIME => INTEGER_VALUE_FOR_RESET_REQ_EARLY_DSRT_TIME,
			USE_RESET_REQUEST_IN0     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN0,
			USE_RESET_REQUEST_IN1     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN1,
			USE_RESET_REQUEST_IN2     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN2,
			USE_RESET_REQUEST_IN3     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN3,
			USE_RESET_REQUEST_IN4     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN4,
			USE_RESET_REQUEST_IN5     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN5,
			USE_RESET_REQUEST_IN6     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN6,
			USE_RESET_REQUEST_IN7     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN7,
			USE_RESET_REQUEST_IN8     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN8,
			USE_RESET_REQUEST_IN9     => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN9,
			USE_RESET_REQUEST_IN10    => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN10,
			USE_RESET_REQUEST_IN11    => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN11,
			USE_RESET_REQUEST_IN12    => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN12,
			USE_RESET_REQUEST_IN13    => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN13,
			USE_RESET_REQUEST_IN14    => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN14,
			USE_RESET_REQUEST_IN15    => INTEGER_VALUE_FOR_USE_RESET_REQUEST_IN15,
			ADAPT_RESET_REQUEST       => INTEGER_VALUE_FOR_ADAPT_RESET_REQUEST
		)
		port map (
			reset_in0 => CONNECTED_TO_reset_in0, -- reset_in0.reset
			reset_in1 => CONNECTED_TO_reset_in1, -- reset_in1.reset
			clk       => CONNECTED_TO_clk,       --       clk.clk
			reset_out => CONNECTED_TO_reset_out  -- reset_out.reset
		);

