R
rejeesh
Guest
Hi,
I was wondering: what are the differences w.r.t Simulation and
Synthesis, if any between these two always blocks??
1.
always @(a)
begin
b = a;
c = b;
end
2.
always @(a)
begin
c = a;
end
My guess is that both are fine. This is a case where a task has to be
converted to an always block. The inputs of the task are put in the
sensitivity list, however the internal variables are not. (The task is
purely combinatorial and do NOT use any delay/edge construct. Adding b
to the sensitive list is going to make many simulation tools crib - an
infinite iterative loop. I just want to make sure both are right and
produce the same results in all simulation/synthesis tools.
Thanks,
Rejeesh
I was wondering: what are the differences w.r.t Simulation and
Synthesis, if any between these two always blocks??
1.
always @(a)
begin
b = a;
c = b;
end
2.
always @(a)
begin
c = a;
end
My guess is that both are fine. This is a case where a task has to be
converted to an always block. The inputs of the task are put in the
sensitivity list, however the internal variables are not. (The task is
purely combinatorial and do NOT use any delay/edge construct. Adding b
to the sensitive list is going to make many simulation tools crib - an
infinite iterative loop. I just want to make sure both are right and
produce the same results in all simulation/synthesis tools.
Thanks,
Rejeesh