Commit 9154059d authored by Denia Bouhired-Ferrag's avatar Denia Bouhired-Ferrag

Added support for INV channel LEDs testing

parent dcc356ef
......@@ -42,6 +42,10 @@
--==============================================================================
-- last changes:
-- 2014-10-30 Theodor Stana File created
-- 2016-10-19 Denia Bouhired -- Added support for inv channel LEDs testing
-- by extending test sequence to 10 outputs.
-- Removed unused signals for inv-led testing,
-- presumably added for conv-ttl-rs485 testing.
--==============================================================================
-- TODO: -
--==============================================================================
......@@ -108,6 +112,7 @@ entity pts is
-- Channel leds
led_front_n_o : out std_logic_vector(5 downto 0);
led_front_inv_n_o : out std_logic_vector(3 downto 0);
led_rear_n_o : out std_logic_vector(5 downto 0);
-- SPI interface to on-board flash chip
......@@ -628,9 +633,7 @@ architecture arch of pts is
signal stat_led_en_d0 : std_logic;
signal front_led_en_risedge_p : std_logic;
signal stat_led_en_risedge_p : std_logic;
signal front_led_seq : std_logic_vector( 5 downto 0);
signal inv_led : std_logic_vector( 3 downto 0);
signal inv_led_seq : std_logic_vector( 3 downto 0);
signal front_led_seq : std_logic_vector( 9 downto 0);
signal front_led : std_logic_vector( 9 downto 0);
signal front_led_cnt : t_pulse_led_cnt;
signal bicolor_led_state : std_logic_vector(23 downto 0);
......@@ -1887,31 +1890,37 @@ end generate gen_rear_test_logic;
end process p_led_seq;
-- Sequence the front-panel LEDs based on the sequence counter
front_led_seq <= "000001" when (pulse_led_en = '1') and (led_seq = 1) else
"000010" when (pulse_led_en = '1') and (led_seq = 2) else
"000100" when (pulse_led_en = '1') and (led_seq = 3) else
"001000" when (pulse_led_en = '1') and (led_seq = 4) else
"010000" when (pulse_led_en = '1') and (led_seq = 5) else
"100000" when (pulse_led_en = '1') and (led_seq = 6) else
"000001" when (pulse_led_en = '1') and (led_seq = 7) else
"000010" when (pulse_led_en = '1') and (led_seq = 8) else
"000100" when (pulse_led_en = '1') and (led_seq = 9) else
"001000" when (pulse_led_en = '1') and (led_seq = 10) else
"010000" when (pulse_led_en = '1') and (led_seq = 11) else
"100000" when (pulse_led_en = '1') and (led_seq = 12) else
"000001" when (pulse_led_en = '1') and (led_seq = 13) else
"000010" when (pulse_led_en = '1') and (led_seq = 14) else
"000100" when (pulse_led_en = '1') and (led_seq = 15) else
"001000" when (pulse_led_en = '1') and (led_seq = 16) else
"010000" when (pulse_led_en = '1') and (led_seq = 17) else
"100000" when (pulse_led_en = '1') and (led_seq = 18) else
"000001" when (pulse_led_en = '1') and (led_seq = 19) else
"000010" when (pulse_led_en = '1') and (led_seq = 20) else
"000100" when (pulse_led_en = '1') and (led_seq = 21) else
"001000" when (pulse_led_en = '1') and (led_seq = 22) else
"010000" when (pulse_led_en = '1') and (led_seq = 23) else
"100000" when (pulse_led_en = '1') and (led_seq = 24) else
"000000";
front_led_seq <= "0000000001" when (pulse_led_en = '1') and (led_seq = 1) else
"0000000010" when (pulse_led_en = '1') and (led_seq = 2) else
"0000000100" when (pulse_led_en = '1') and (led_seq = 3) else
"0000001000" when (pulse_led_en = '1') and (led_seq = 4) else
"0000010000" when (pulse_led_en = '1') and (led_seq = 5) else
"0000100000" when (pulse_led_en = '1') and (led_seq = 6) else
"0001000000" when (pulse_led_en = '1') and (led_seq = 7) else
"0010000000" when (pulse_led_en = '1') and (led_seq = 8) else
"0100000000" when (pulse_led_en = '1') and (led_seq = 9) else
"1000000000" when (pulse_led_en = '1') and (led_seq = 10) else
"0000000001" when (pulse_led_en = '1') and (led_seq = 11) else
"0000000010" when (pulse_led_en = '1') and (led_seq = 12) else
"0000000100" when (pulse_led_en = '1') and (led_seq = 13) else
"0000001000" when (pulse_led_en = '1') and (led_seq = 14) else
"0000010000" when (pulse_led_en = '1') and (led_seq = 15) else
"0000100000" when (pulse_led_en = '1') and (led_seq = 16) else
"0001000000" when (pulse_led_en = '1') and (led_seq = 17) else
"0010000000" when (pulse_led_en = '1') and (led_seq = 18) else
"0100000000" when (pulse_led_en = '1') and (led_seq = 19) else
"1000000000" when (pulse_led_en = '1') and (led_seq = 20) else
"0000000001" when (pulse_led_en = '1') and (led_seq = 21) else
"0000000010" when (pulse_led_en = '1') and (led_seq = 22) else
"0000000100" when (pulse_led_en = '1') and (led_seq = 23) else
"0000001000" when (pulse_led_en = '1') and (led_seq = 24) else
"0000010000" when (pulse_led_en = '1') and (led_seq = 25) else
"0000100000" when (pulse_led_en = '1') and (led_seq = 26) else
"0001000000" when (pulse_led_en = '1') and (led_seq = 27) else
"0010000000" when (pulse_led_en = '1') and (led_seq = 28) else
"0100000000" when (pulse_led_en = '1') and (led_seq = 29) else
"1000000000" when (pulse_led_en = '1') and (led_seq = 30) else
"0000000000";
-- Light each LED red and green in a sequence, based on the sequence counter.
--
......@@ -1975,8 +1984,13 @@ end generate gen_rear_test_logic;
);
-- Drive front pulse LEDs
led_front_n_o <= not front_led_seq when (pulse_led_en = '1') else
led_front_n_o <= not front_led_seq (5 downto 0) when (pulse_led_en = '1') else
not front_led(5 downto 0);
-- Drive front INV pulse LEDs
led_front_inv_n_o <= not front_led_seq (9 downto 6) when (pulse_led_en = '1') else
not front_led(9 downto 6);
--============================================================================
-- Drive unused outputs with safe values
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment