У меня есть вопрос, связанный с программированием VHDL. Я хочу рассчитать непрерывное среднее. Мой примерный код:непрерывное усреднение с использованием 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 значения непрерывно до тех пор, пока часы не будут работать. Пожалуйста, дайте мне знать, как я могу это сделать. Вы также можете изменить приведенный выше код.
Большое спасибо,
Вместо тире следует использовать символы подчеркивания. Похоже, вы делаете математику в своей государственной машине. «когда аут-1» запутан. – Russell
О да. На самом деле я использовал подчеркивание в своем исходном коде. Я не знаю, почему я написал «-1» здесь. Извините за путаницу. – user3008991