У меня вопрос, связанный с программированием VHDL. Я хочу рассчитать непрерывное среднее значение. Мой пример кода:
process (clk, reset)
begin
if (reset = '1') then
state<=idle;
out-val=0;
elsif(rising_edge(clk)) then
case state is
when idle =>
if req='1' then
state= out-1;
end if;
when out-1 =>
if done='1' then
out-val<=data-in (11 downto 0);
state <= done-st;
endif;
when done-st =>
ack <='1';
state <= idle;
when others =>
state <= idle;
end case;
end if;
end process;
На каждом положительном фронте часов значение «out-val» изменяется. Я хочу постоянно брать среднее значение "out-val". Я хочу постоянно получать среднее значение из 32 значений. Есть ли способ, с помощью которого я могу постоянно принимать в среднем 32 значения, пока часы не будут запущены. Пожалуйста, дайте мне знать, как я могу это сделать. Вы также можете изменить приведенный выше код.
Огромное спасибо,