2011-01-28 8 views
1

'with select'ブロック内の信号に条件付き位置を追加することは可能ですか?例えば。'Select'ブロックの条件付き割り当て

with state select 
    Data <= x"00" when IDLE, 
      (x"01" when Count = 0 else x"10") when DATA, 
      x"FF" when others; 

これはコンパイルされませんが、このブロックに2番目の変数を含めることはできますか?

答えて

1

短い答えはいいえ。

代わりにこのようなことを行うことができます。

process (Count, state) 
    variable countData : std_logic_vector (7 downto 0); 
    begin 
    if Count = 0 then 
     countData := x"01"; 
    else 
     countData := x"10"; 
    end if; 
    case state is 
     when IDLE => Data <= x"00"; 
     when DATA => Data <= countData; 
     when others => Data <= x"FF"; 
    end case; 
    end process; 
関連する問題