Execution of a process without an event occurring in its sensitivity list

R

Raja Harsha

Hi,

Is it possible that a process gets executed even when there is no change in the inputs given in the sensitivity list?
For example,

Process (x,y,z)
begin

if a='1' then
c<=d+f;
p=r-q;
end if;

end process;

In the above program, if i change a or d or any other input except x or y or z, does the process get executed?

I have read in some literature that a process gets executed only once by default and then only when there is a change in signals mentioned in the sensitivity list.
 
K

KJ

I have read in some literature that a process gets executed only once by
default and then only when there is a change in signals mentioned in the
sensitivity list.

That is correct.

Kevin Jennings
 
G

GaborSzakacs

KJ said:
That is correct.

Kevin Jennings

You should qualify this by saying it's correct for simulation. For
synthesis the tool will normally assume that there is complete
coverage in the sensitivity list, and it will generate logic that
depends on all inputs regardless of whether there is a change on
x, y, z or not. On the other hand the way the question was worded,
I assume means we're talking about simulation, because there's
no concept of a process being executed in the synthesized hardware.
 
G

GaborSzakacs

GaborSzakacs said:
You should qualify this by saying it's correct for simulation. For
synthesis the tool will normally assume that there is complete
coverage in the sensitivity list, and it will generate logic that
depends on all inputs regardless of whether there is a change on
x, y, z or not. On the other hand the way the question was worded,
I assume means we're talking about simulation, because there's
no concept of a process being executed in the synthesized hardware.

I forgot to add that the synthesis tool will also generate a warning
when it completes the sensitivity list for you, indicating that your
hardware implementation may not match the behavioral simulation.
 
D

Daniel Kho

You should qualify this by saying it's correct for simulation. For
I forgot to add that the synthesis tool will also generate a warning

when it completes the sensitivity list for you, indicating that your

hardware implementation may not match the behavioral simulation.

Yes, what Gabor said is correct. Synthesis tools usually trigger processes by inferring all inputs instead of looking at the sensitivity list. This isone of the few things that synthesis tools tend to behave differently fromsimulation tools. I still prefer that synthesis tools infer no logic when none of the signals in the sensitivity list changes. Simulation tools follow the standard more strictly than synthesis tools in this respect.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,739
Latest member
Clint8040

Latest Threads

Top