fix: work around ghdl#2102

https://github.com/ghdl/ghdl/issues/2102
This commit is contained in:
Xiretza 2022-06-20 11:43:29 +02:00
parent e25e8a958d
commit 87ef826ad2

View file

@ -184,11 +184,16 @@ begin
-- workaround for ghdl#2078 -- workaround for ghdl#2078
if reset = '0' and udp_valid = '1' and receive_state = DATA then if reset = '0' and udp_valid = '1' and receive_state = DATA then
if input_bank = BANK_A then -- workaround for ghdl#2102
strand_buffer_a(pixels_received)((active_strand+1) * BITS_PER_LED - 1 downto active_strand * BITS_PER_LED) := udp_data(23 downto 0); for i in 0 to NUM_STRANDS-1 loop
else if i = active_strand then
strand_buffer_b(pixels_received)((active_strand+1) * BITS_PER_LED - 1 downto active_strand * BITS_PER_LED) := udp_data(23 downto 0); if input_bank = BANK_A then
end if; strand_buffer_a(pixels_received)((i+1) * BITS_PER_LED - 1 downto i * BITS_PER_LED) := udp_data(23 downto 0);
else
strand_buffer_b(pixels_received)((i+1) * BITS_PER_LED - 1 downto i * BITS_PER_LED) := udp_data(23 downto 0);
end if;
end if;
end loop;
end if; end if;
end if; end if;
end process; end process;