2011-01-28 82 views
1

是否可以將條件賦值添加到來自'with select'塊內的信號。例如。'With Select'塊中的條件賦值

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

這不會編譯,但是有可能在這個塊中包含第二個變量嗎?

回答

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;