. . .
> differently and reaches the end of the process. At the top of this
> process, it waits for the "Start" signal again, but if the "Start" flag
> is already set, it hangs.
>
> So does a wait statement always perform an edge detect by default?
No. You can wait UNTIL an expression has a value of true or you can wait ON a signal_id for *any* value change.
Here is my wait statement...
> wait until ARM_Bus_Start or rising_edge(Reset);
> If ARM_Bus_Start is already set when this executes, the process hangs
> here.
Consider View, Source and setting some breakpoints. Run/step code and watch the signals.
Either the wait is in a different process or ARM_Bus_Start is not true at the right time.
-- Mike Treseler