Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

VHDL - CASE related question

Hello,

This is probably a very fundamental question but I'm a little confused as I am new to this.

In VHDL (I'm sure it the same for others too), if I have such a PROCESS:

PROCESS(clk)

if RISING_EDGE(clk)

CASE state IS

WHEN stateA THEN

state <= stateB;

a <= x"0111";

........

WHEN stateB THEN

state <= stateC;

b <= "0101";

....

....

....

END CASE

END IF

In this, if the state=stateA when it the CASE statement was started, will the state signal be changed fom stateA->stateB-> and so on in each CASE statement when the execution flow down through the CASE statement?? If so, how many statements will excute during that clock period? Is there a limit? or only ONE statement will be exceuted in the clock period?

If only one statement will be excuted, within each statement, how many assignment operators can be performed within that CASE statement?? Is there a limitation?

Thank you very much.

P.S: If anybody knows a good text for learning this typ of issues please let me know.

16 Replies