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
if reset = '0' and udp_valid = '1' and receive_state = DATA then
if input_bank = BANK_A then
strand_buffer_a(pixels_received)((active_strand+1) * BITS_PER_LED - 1 downto active_strand * BITS_PER_LED) := udp_data(23 downto 0);
else
strand_buffer_b(pixels_received)((active_strand+1) * BITS_PER_LED - 1 downto active_strand * BITS_PER_LED) := udp_data(23 downto 0);
end if;
-- workaround for ghdl#2102
for i in 0 to NUM_STRANDS-1 loop
if i = active_strand then
if input_bank = BANK_A then
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 process;