Electronic – VHDL Assignment Statement

vhdl

In my ASIC book they are developing a state machine, and they have a statement like:

 Shift <= '1' when State = S else '0'; 

However in my project I have multiple states that have the same output being required to turn on so is it possible to write VHDL like this:

 Shift <= '1' when State = S OR State = E OR STATE = Q else '0'; 

Or do I have to assign Shift for each of my states?

Best Answer

Yes that is doable

Shift <= '1' when ((State = S) OR (State = E) OR (STATE = Q))
             else '0'; 
Related Topic