1

FPGA LED で KITT スキャナーの VHDL コードを書き込もうとしましたが、このコードを変更する必要があります。

  with state select 
            led1 <= '1' when forward1,
                '0' when others;

    with state select
        led2 <= '1' when forward2,
            '0' when others;

    with state select
        led3 <= '1' when forward3, 
            '0' when others;

    with state select
        led4 <= '1' when forward4,
            '0' when others;

   with state select 
                    led1,led2,led3 <= '1' when forward1,
                        '0' when others;
      with state select
                   led2, led3,led4 <= '1' when forward2,
                    '0' when others;
with state select
                   led3, led4,led5 <= '1' when forward2,
                    '0' when others;

しかし、これを行うと、エラーが発生します - 予想される "(" または別の。このコードを変更して乗算出力を変更するにはどうすればよいですか?

4

1 に答える 1

2

あなたはこのようにそれを行うことができます:

led_select : process(state)
begin
  case state is
    when forward1 =>
     led_states <= "00111";
    when forward2 =>
     led_states <= "01110";
    when forward3 =>
     led_states <= "11100";
    when others =>
     led_states <= (others => '0');
  end case;
end process;

led1 <= led_states(0);
led2 <= led_states(1);
led3 <= led_states(2);
led4 <= led_states(3);
led5 <= led_states(4);

led_statesとして宣言された信号はどこにありますかsignal led_states : std_logic_vector(4 downto 0);

于 2012-10-31T11:25:05.713 に答える