Я пишу небольшой кусок кода, чтобы принимать 32-битный ввод и вывод 2 бита за раз. Я считаю, что у меня бесконечные проблемы цикла из цикла while, основанные на попытках моделирования. Все выглядит правильно для меня, по сравнению с другими примерами циклов, на которые я смотрел. Любая подсказка, что я могу делать неправильно?VHDL бесконечный цикл
library ieee;
use ieee.std_logic_1164.all;
entity regA is
port(mpcnd: in std_logic_vector(31 downto 0);
clk: in std_logic;
twobits: out std_logic_vector(1 downto 0));
end regA;
architecture behavior of regA is
begin
process
variable count: integer;
begin
count := 0;
while (count < 32) loop
if rising_edge(clk) then
twobits(0) <= mpcnd(count);
twobits(1) <= mpcnd(count+1);
count := count + 2;
end if;
end loop;
end process;
end behavior;
О, ладно. Я не понимал, что мне нужен список чувствительности. Благодаря! – user2113607
И 'wait до rising_edge (clk)' определенно может быть синтезирован некоторыми инструментами! Я не тестировал этот общий стиль процесса, но я думаю, что для его синтеза потребуется повторная запись его в виде цикла FOR. –