Я начинаю с VHDL. Мой код довольно прост, я включаю / выключаю светодиоды с помощью процесса, который берет передний фронт clk и считает циклы часов в переменной "t":
entity leds_vhdl is
Port ( clk : in STD_LOGIC;
led1 : out STD_LOGIC;
led2: out STD_LOGIC;
change : in STD_LOGIC);
end leds_vhdl;
architecture Behavioral of leds_vhdl is
constant t1s : integer := 50000000;
begin
process (clk)
variable t : integer := 0;
begin
if (rising_edge(clk)) then
t := t + 1;
if (t > 5*t1s) then
t := 0;
if (t <= 3*t1s) then
led1 <= '0';
led2 <= '0';
elsif (t > 3*t1s and t <= 5*t1s) then
led1 <= '1';
led2 <= '1';
end if;
end if;
end process;
end Behavioral;
Теперь я хочу изменить светодиоды, когда «меняются» разные состояния входа. Например, если «изменение» равно «1», как я могу изменить светодиод? (led1 = '1', led2 = '0' например). ¿Можно было бы сделать в том же процессе, или лучше сделать еще один ?.
Я пытался, но у меня было так много проблем в фазе синтеза.
Большое спасибо.