Hi,
I want a procedure to drive a signal that is passed by the calling process:
procedure drive(signal s: inout integer) is
begin
s <= s+1;
end drive;
But always end up with an infinite loop...why?
I suspect s triggering the procedure again and again as it is in the sensitivity list, but this aint quite clear to me...someone to explain?
And even more interesting any idea how to get this working right?
Thx
PS: I am calling these procedures out of a clocked process of a fsm...
PPS: I declared all signals passed to the procedure inside the package (actually just to make it all easier for future users), now when I declare the signals inside the FSM all works fine. Why?
I want a procedure to drive a signal that is passed by the calling process:
procedure drive(signal s: inout integer) is
begin
s <= s+1;
end drive;
But always end up with an infinite loop...why?
I suspect s triggering the procedure again and again as it is in the sensitivity list, but this aint quite clear to me...someone to explain?
And even more interesting any idea how to get this working right?
Thx
PS: I am calling these procedures out of a clocked process of a fsm...
PPS: I declared all signals passed to the procedure inside the package (actually just to make it all easier for future users), now when I declare the signals inside the FSM all works fine. Why?
Last edited: