Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - Why sensetivity list?

 
Thread Tools Search this Thread
Old 12-19-2003, 06:11 PM   #1
Default Why sensetivity list?


What is the reason for sensetivity list? In HW all signals are in
sensetivity list. Surprisingly, complete sensitivity list may lead to
improper simulation results, especially for comb logic. Is it true? Why
simulator cannot do its job finding which signals should be in sensetivity
list?




valentin tihomirov
  Reply With Quote
Old 12-19-2003, 07:32 PM   #2
Mike Treseler
 
Posts: n/a
Default Re: Why sensetivity list?
valentin tihomirov wrote:
> What is the reason for sensetivity list?


VHDL processes loop forever without a WAIT.
A sensitivity list entry is the conventional way
to imply a wait.

> In HW all signals are in sensetivity list.


The only signals I ever put in a sensitivity
list are reset and clock.

> Surprisingly, complete sensitivity list may lead to
> improper simulation results, especially for comb logic.


Consider using the synchronous template
for your synthesis processes.



-- Mike Treseler



Mike Treseler
  Reply With Quote
Old 12-20-2003, 09:48 AM   #3
valentin tihomirov
 
Posts: n/a
Default Re: Why sensetivity list?
It is often recommended to divide process into comb and reg parts. I would
do everything in a reg process; however, it seems impossible in synch
process to drive intermediate combinatoric signals for re-use. Therefore,
comb process is mandatory. As opposed to synch process launching on CLK and
RST, it often reacts on great number of signals.
Combinatoric process will not loop forever until you have an oscillating
asynch feedback. But declaring signals in sensetivity list do not prevent
the oscillation. Why simulator cannot do the task any synthesier must,
simulator's job is predicting behaviour of HW, isn't it? Thanks.




valentin tihomirov
  Reply With Quote
Old 12-20-2003, 01:04 PM   #4
Walter Dvorak
 
Posts: n/a
Default Re: Why sensetivity list?
valentin tihomirov <> wrote:
> But declaring signals in sensetivity list do not prevent
> the oscillation. Why simulator cannot do the task any synthesier must,
> simulator's job is predicting behaviour of HW, isn't it? Thanks.


just my 2 euros: Because a (behavioral) vhdl-simulator
isnt perfect. The main stream like ModelSim require a complete
sensitivity list for a correct simulation. Maybe thats not valid for
all simulation tools. IMO that's more a program specific limitation.

i'm with you: In general the simulation tool *could*
do the same what the synthesis tool can do.

WD
--


Walter Dvorak
  Reply With Quote
Old 12-20-2003, 05:02 PM   #5
Jan Decaluwe
 
Posts: n/a
Default Re: Why sensetivity list?
valentin tihomirov wrote:
> It is often recommended to divide process into comb and reg parts.


That's right - but not by those (perhaps a small minority) who
take the trouble to seriously compare code quality and quality
of results with the synchronous process based alternative.

> I would
> do everything in a reg process; however, it seems impossible in synch
> process to drive intermediate combinatoric signals for re-use.


If you need to "re-use" the comb signal in the same module, you could
broaden the scope of your synchronous process (put more of the logic
in there). If it's in another module, you could broaden the scope of
the module (more hierarchy is not always better.) Otherwise, using
the comb signal in another module is not a good idea, as it creates
a combinatorial timing path between modules - hard to get right.

> Therefore,
> comb process is mandatory.


Only very occasionally, therefore.

> As opposed to synch process launching on CLK and
> RST, it often reacts on great number of signals.
> Combinatoric process will not loop forever until you have an oscillating
> asynch feedback. But declaring signals in sensetivity list do not prevent
> the oscillation. Why simulator cannot do the task any synthesier must,
> simulator's job is predicting behaviour of HW, isn't it? Thanks.


The task of an event-driven simulator is to correctly
execute an event-driven algorithm. That is a very general paradigm,
which is not specific to a particular kind of hardware, and in
fact doesn't even require that a hardware implementation is
possible.

If this sounds odd to you, remember that both Verilog and VHDL
were created as simulation languages years before the first synthesis
tools (with their subsets and limitations) for them came along.
At the time, it could not be foreseen that synthesis would
be viable and that the RTL level would be such a popular application.

Regards, Jan

--
Jan Decaluwe - Resources bvba - http://jandecaluwe.com
Losbergenlaan 16, B-3010 Leuven, Belgium
Bored with EDA the way it is? Check this:
http://jandecaluwe.com/Tools/MyHDL/Overview.html



Jan Decaluwe
  Reply With Quote
Old 12-21-2003, 01:27 AM   #6
Mike Treseler
 
Posts: n/a
Default Re: Why sensetivity list?
valentin tihomirov wrote:

> It is often recommended to divide process into comb and reg parts.


This is a matter of style.
There is no technical advantage to combinational processes.
I prefer having registers on all process outputs.

> I would
> do everything in a reg process; however, it seems impossible in synch
> process to drive intermediate combinatoric signals for re-use.


Reuse might mean "used in the same project"
Any expression using the same combinational
input variable directly ought
to be in the same process. It is ok to
have lots of logic in a single process.

Reuse might mean "used in a future project"
The easiest piece of code to reuse is
the smallest testable unit, namely
a complete entity-architecture with a testbench.

-- Mike Treseler



Mike Treseler
  Reply With Quote
Old 01-01-2004, 04:22 PM   #7
valentin tihomirov
 
Posts: n/a
Default Re: Why sensetivity list?
> If this sounds odd to you, remember that both Verilog and VHDL
> were created as simulation languages years before the first synthesis
> tools (with their subsets and limitations) for them came along.

You're right! I'm starting to forget what that HDL achronim means.




valentin tihomirov
  Reply With Quote
Old 01-01-2004, 11:39 PM   #8
Jim Lewis
 
Posts: n/a
Default Re: Why sensetivity list? - VHDL-200X-MP
Not an unreasonable request.

Consider the following concurrent statement. The
sensitivity list is automatically inferred to be
all signals read in the statement.

Y <= A when Sel = '1' else B ;

This is very similar to:

process(A, B, Sel)
begin
if Sel = '1' then
Y <= A ;
else
Y <= B ;
end if ;
end process ;


Currently for registers and non-RTL applications, an
incomplete senstivity list is useful.

In SystemVerilog they are introducing a modifier in
their processes (always blocks) that indicates that it
is combinational logic. A similar feature will be
proposed for VHDL. Translating the SV feature it will
make the above process look something like the following:

process_comb
begin
if Sel = '1' then
Y <= A ;
else
Y <= B ;
end if ;
end process ;

This is actually a cool feature as first it does not
require any maintence of the sensitivity list. Second
it increases safety as if you were to inadvertently
create a latch, it would result in an error in a synthesis
tool (very useful when you consider the combinational
logic portion of a statemachine).

The following code would create an error during synthesis:
process_comb
begin
if Sel = '1' then
ALat <= A ;
end if ;
end process ;

Please note that when we announce that VHDL-200X release
one has been made, make sure to tell your simulator and
synthesis tool vendor that you want it. All tool
improvements are market driven. If you don't ask they
don't consider it a good investment.

Best Regards,
Jim Lewis


VHDL-200X Fast-Track Co-Team Leader
VHDL-200X Modeling and Productivity Team Leader
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
Jim Lewis
Director of Training private.php?do=newpm&u=
SynthWorks Design Inc. http://www.SynthWorks.com
1-503-590-4787

Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~




valentin tihomirov wrote:

> What is the reason for sensetivity list? In HW all signals are in
> sensetivity list. Surprisingly, complete sensitivity list may lead to
> improper simulation results, especially for comb logic. Is it true? Why
> simulator cannot do its job finding which signals should be in sensetivity
> list?
>
>




Jim Lewis
  Reply With Quote
Old 01-21-2004, 04:48 AM   #9
Kumaran Selvaratnam
 
Posts: n/a
Default Re: Why sensetivity list?
Basically, like other postings mentioned sensitivity list denotes which
signals triggers the execution of the particular process.

This means
1. All combinational logic process sensitivity lists need to have all
the input signals
2. For a sequential logic it is sufficient enough to have the clock
signal (for synchronous reset case)
FOr asynchronous reset case, it is enough to have reset and clock
signals in the sensitivity list.

Kumaran

valentin tihomirov wrote:
> What is the reason for sensetivity list? In HW all signals are in
> sensetivity list. Surprisingly, complete sensitivity list may lead to
> improper simulation results, especially for comb logic. Is it true? Why
> simulator cannot do its job finding which signals should be in sensetivity
> list?
>
>




Kumaran Selvaratnam
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Doug's DVD List Doug MacLean DVD Video 13 05-29-2007 05:49 AM
This is incredible! jc_ice DVD Video 1 08-13-2006 10:47 AM
Classic Original Broadcasts Trading List - Updated ( w/o/c ) porkys1982@sbcglobal.net DVD Video 0 12-05-2005 03:38 AM
New Releases: Space Camp, Take This Job, Schindler's List postponed: Updated complete downloadable R1 DVD DB & info list Doug MacLean DVD Video 0 12-16-2003 05:45 AM
New Releases: Schindler's List, The Front, 10 Commandments: Updated complete downloadable R1 DVD DB & info lists Doug MacLean DVD Video 2 12-13-2003 03:17 AM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46