Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > sensitivity list in concurrent assertion

Reply
Thread Tools

sensitivity list in concurrent assertion

 
 
valtih1978
Guest
Posts: n/a
 
      05-16-2012
I'm reading a 2008 spec (Approved 26 September 200. It says literally

1. For any concurrent assertion statement, there is an equivalent
process statement.

2. <skip discussion of postponed and label>

3. The equivalent process statement also has no sensitivity list, an
empty declarative part, and a statement part that consists of an
assertion statement followed by a wait statement.

4. <skip report and severity>

5. If there exists a name that denotes a signal in the Boolean
expression that defines the condition of the assertion, then the
equivalent process statement includes a final wait statement with a
sensitivity clause that is constructed by applying the rule of 10.2 to
that expression; otherwise, the equivalent process statement contains a
final wait statement that has no explicit sensitivity clause, condition
clause, or timeout clause. This looks a confusing redundancy

Part 3 is obviously included by mistake as it contradicts to everything:
to common sense, adopted practice and statement №5
 
Reply With Quote
 
 
 
 
Allan Herriman
Guest
Posts: n/a
 
      05-17-2012
On Wed, 16 May 2012 20:53:35 +0300, valtih1978 wrote:

> I'm reading a 2008 spec (Approved 26 September 200. It says literally
>
> 1. For any concurrent assertion statement, there is an equivalent
> process statement.
>
> 2. <skip discussion of postponed and label>
>
> 3. The equivalent process statement also has no sensitivity list,

an
> empty declarative part, and a statement part that consists of an
> assertion statement followed by a wait statement.
>
> 4. <skip report and severity>
>
> 5. If there exists a name that denotes a signal in the Boolean
> expression that defines the condition of the assertion, then the
> equivalent process statement includes a final wait statement with a
> sensitivity clause that is constructed by applying the rule of 10.2 to
> that expression; otherwise, the equivalent process statement contains a
> final wait statement that has no explicit sensitivity clause, condition
> clause, or timeout clause. This looks a confusing redundancy
>
> Part 3 is obviously included by mistake as it contradicts to everything:
> to common sense, adopted practice and statement №5



I see no contradiction. The sensitivity clause of the wait statement
mentioned in #5 is not the same thing as the sensitivity list of the
process that is mentioned in #3.

e.g.

generic foo_generic : boolean;
....
signal foo_signal : boolean;


assert foo_generic;

is equivalent to

process
begin
assert foo_generic;
wait;
end;

and

assert foo_signal;

is equivalent to

process
begin
assert foo_signal;
wait for foo_signal'event;
end;


That's my interpretation of the rules. I may be wrong, of course.


Regards,
Allan
 
Reply With Quote
 
 
 
 
valtih1978
Guest
Posts: n/a
 
      05-17-2012
Oh, I mistakenly identified the process sensitivity with it's equivalent
wait statement thinking that if they say "no list" then the wait
statement must not have it either. Thanks.
 
Reply With Quote
 
Andy
Guest
Posts: n/a
 
      05-17-2012
On May 17, 5:52 am, Allan Herriman <(E-Mail Removed)> wrote:
> On Wed, 16 May 2012 20:53:35 +0300, valtih1978 wrote:
> > I'm reading a 2008 spec (Approved 26 September 200. It says literally

>
> > 1. For any concurrent assertion statement, there is an equivalent
> > process statement.

>
> > 2. <skip discussion of postponed and label>

>
> > 3. The equivalent process statement also has no sensitivity list,

> an
> > empty declarative part, and a statement part that consists of an
> > assertion statement followed by a wait statement.

>
> > 4. <skip report and severity>

>
> > 5. If there exists a name that denotes a signal in the Boolean
> > expression that defines the condition of the assertion, then the
> > equivalent process statement includes a final wait statement with a
> > sensitivity clause that is constructed by applying the rule of 10.2 to
> > that expression; otherwise, the equivalent process statement contains a
> > final wait statement that has no explicit sensitivity clause, condition
> > clause, or timeout clause. This looks a confusing redundancy

>
> > Part 3 is obviously included by mistake as it contradicts to everything:
> > to common sense, adopted practice and statement No.5

>
> I see no contradiction. The sensitivity clause of the wait statement
> mentioned in #5 is not the same thing as the sensitivity list of the
> process that is mentioned in #3.
>
> e.g.
>
> generic foo_generic : boolean;
> ...
> signal foo_signal : boolean;
>
> assert foo_generic;
>
> is equivalent to
>
> process
> begin
> assert foo_generic;
> wait;
> end;
>
> and
>
> assert foo_signal;
>
> is equivalent to
>
> process
> begin
> assert foo_signal;
> wait for foo_signal'event;
> end;
>
> That's my interpretation of the rules. I may be wrong, of course.
>
> Regards,
> Allan- Hide quoted text -
>
> - Show quoted text -


Wait on... needs a list of signals (sensitivity).
Wait until... takes a boolean expression (condition).
Wait for... needs a time expression (a timeout).
They can be combined.

The wait statement for foo_signal would be:

WAIT ON foo_signal UNTIL foo_signal'event;

Or just:

WAIT ON foo_signal;

Andy
 
Reply With Quote
 
Allan Herriman
Guest
Posts: n/a
 
      05-17-2012
On Thu, 17 May 2012 05:20:57 -0700, Andy wrote:

> On May 17, 5:52 am, Allan Herriman <(E-Mail Removed)> wrote:
>> On Wed, 16 May 2012 20:53:35 +0300, valtih1978 wrote:
>> > I'm reading a 2008 spec (Approved 26 September 200. It says
>> > literally

>>
>> > 1. For any concurrent assertion statement, there is an equivalent
>> > process statement.

>>
>> > 2. <skip discussion of postponed and label>

>>
>> > 3. The equivalent process statement also has no sensitivity list,

>> an
>> > empty declarative part, and a statement part that consists of an
>> > assertion statement followed by a wait statement.

>>
>> > 4. <skip report and severity>

>>
>> > 5. If there exists a name that denotes a signal in the Boolean
>> > expression that defines the condition of the assertion, then the
>> > equivalent process statement includes a final wait statement with a
>> > sensitivity clause that is constructed by applying the rule of 10.2
>> > to that expression; otherwise, the equivalent process statement
>> > contains a final wait statement that has no explicit sensitivity
>> > clause, condition clause, or timeout clause. This looks a confusing
>> > redundancy

>>
>> > Part 3 is obviously included by mistake as it contradicts to
>> > everything:
>> > to common sense, adopted practice and statement No.5

>>
>> I see no contradiction. The sensitivity clause of the wait statement
>> mentioned in #5 is not the same thing as the sensitivity list of the
>> process that is mentioned in #3.
>>
>> e.g.
>>
>> generic foo_generic : boolean;
>> ...
>> signal foo_signal : boolean;
>>
>> assert foo_generic;
>>
>> is equivalent to
>>
>> process begin
>> assert foo_generic;
>> wait;
>> end;
>>
>> and
>>
>> assert foo_signal;
>>
>> is equivalent to
>>
>> process begin
>> assert foo_signal;
>> wait for foo_signal'event;
>> end;
>>
>> That's my interpretation of the rules. I may be wrong, of course.
>>
>> Regards,
>> Allan- Hide quoted text -
>>
>> - Show quoted text -

>
> Wait on... needs a list of signals (sensitivity).
> Wait until... takes a boolean expression (condition).
> Wait for... needs a time expression (a timeout).
> They can be combined.
>
> The wait statement for foo_signal would be:
>
> WAIT ON foo_signal UNTIL foo_signal'event;
>
> Or just:
>
> WAIT ON foo_signal;
>
> Andy


Thanks for the correction.
 
Reply With Quote
 
 
 
Reply

Thread Tools

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

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
concurrent assertion statement and delta races Allan Herriman VHDL 16 02-14-2013 12:34 PM
problems locating the concurrent EDU.oswego.cs.dl.util.concurrent package Pep Java 6 08-16-2005 07:26 AM
sensitivity list Eqbal VHDL 2 11-18-2003 10:51 PM
custom types in process sensitivity list Roger Dahl VHDL 10 10-03-2003 09:03 PM
Are all the signals read in the process should appear in the sensitivity list of the process? walala VHDL 3 09-09-2003 07:47 AM



Advertisments