W
wpiman@aol.com
Guest
I have a gut feeling that this has to do with variables being created
and destroyed- but perhaps someone can explain it properly for me.
I am writing a TB and have a procedure which simply wiggles some lines
based off of times passed to it..
Say...
procedure timingGeneration(
timeAtoB, timeBtoC, timeAtoA, (all times)
a,b,c (all outputs)...
This is just a simple loop. I call it concurrently.
In this procedure I declare a variable (std_logic) called AtoA_Done. I
am trying to set this variable up to fire when A goes active with a
delay on it.
AtoA_Done := '1' AFTER timeAtoA; -- Causes problems- doesn't compile
also
AtoA_Done := '0', '1' AFTER timeAtoA; -- Didn't work either
I then do all the other transitions and at the end of the loop
perform...
WAIT UNTIL AtoA_Done = '1';
This should all work just fine for me- but I cannot seem to get by the
fact that the variable cannot be assigned with a delay.
Is this doable? I can't declare local signals.
and destroyed- but perhaps someone can explain it properly for me.
I am writing a TB and have a procedure which simply wiggles some lines
based off of times passed to it..
Say...
procedure timingGeneration(
timeAtoB, timeBtoC, timeAtoA, (all times)
a,b,c (all outputs)...
This is just a simple loop. I call it concurrently.
In this procedure I declare a variable (std_logic) called AtoA_Done. I
am trying to set this variable up to fire when A goes active with a
delay on it.
AtoA_Done := '1' AFTER timeAtoA; -- Causes problems- doesn't compile
also
AtoA_Done := '0', '1' AFTER timeAtoA; -- Didn't work either
I then do all the other transitions and at the end of the loop
perform...
WAIT UNTIL AtoA_Done = '1';
This should all work just fine for me- but I cannot seem to get by the
fact that the variable cannot be assigned with a delay.
Is this doable? I can't declare local signals.