S
Simon
Guest
Hi
I have a state machine which is coded like so:
if rising_edge(CLK) then
case state is
when xyz =>
OUT <= '1';
state <= xyxyxy;
when xyxyxy =>
OUT <= '0';
etc
etc
etc
The problem is the output doesn't seem to happen in the state it should,
instead it seems to happen in the next state. So in the above example the
signal OUT is set to 1 in state xyxyxy.
Does anyone have any idea on what I'm doing wrong? How can I make the
output change in the state?
Thanks in advance.
I have a state machine which is coded like so:
if rising_edge(CLK) then
case state is
when xyz =>
OUT <= '1';
state <= xyxyxy;
when xyxyxy =>
OUT <= '0';
etc
etc
etc
The problem is the output doesn't seem to happen in the state it should,
instead it seems to happen in the next state. So in the above example the
signal OUT is set to 1 in state xyxyxy.
Does anyone have any idea on what I'm doing wrong? How can I make the
output change in the state?
Thanks in advance.