Commit cb1abd23 authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

hdl: Sequencing LEDs on rear panel independently from front panel

parent 0d75598a
......@@ -634,6 +634,7 @@ architecture arch of pts is
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);
signal rear_led_seq : std_logic_vector( 5 downto 0);
signal rear_led : std_logic_vector( 5 downto 0);
signal rear_led_cnt : t_pulse_led_cnt;
......@@ -1986,6 +1987,33 @@ end generate gen_rear_test_logic;
"1000" when (pulse_led_en = '1') and (led_seq = 20) else
"0000";
-- Sequence the rear-panel LEDs based on the sequence counter
rear_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";
-- Then, we instantiate the LED controller and control it via the LED state
-- vector.
cmp_bicolor_led_ctrl : gc_bicolor_led_ctrl
......@@ -2022,7 +2050,7 @@ end generate gen_rear_test_logic;
led_inv_o <= inv_led_seq when (pulse_led_en = '1') else
tester_ctrl when (tester_vcc = '1') else
front_led(9 downto 6);
led_rear_n_o <= not front_led_seq when (pulse_led_en = '1') else
led_rear_n_o <= not rear_led_seq when (pulse_led_en = '1') else
not rear_led(5 downto 0);
--============================================================================
......
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