RE: [sv-ac] RE: Mantis 2476 ($onehot, etc, outside assertions)

From: Havlicek John-R8AAAU <r8aaau@freescale.com>
Date: Wed Sep 01 2010 - 15:51:15 PDT

I think it is important also to be able to reference simple Boolean and
sampled value functions on the right-hand side of a continuous
assignment or a declaration assignment. They should also be allowed on
the right-hand side of a "let" declaration.

 

J.H.

 

From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of
Bresticker, Shalom
Sent: Tuesday, August 31, 2010 12:41 PM
To: Seligman, Erik; sv-ac@eda.org
Subject: [sv-ac] RE: Mantis 2476 ($onehot, etc, outside assertions)

 

$countones is a "simple boolean function", not a "sampled value
function".

 

At least regarding the sampled value functions, 16.9.3 says "The use of
these functions is not limited to assertion features; they may be used
as expressions in procedural code as well."

 

Regarding the global clocking functions, 16.9.4 says, "The global
clocking sampled value functions may be invoked only in property_expr or
in sequence_expr;

this implies that they shall not be used in assertion action blocks."

 

So, the only ambiguity today is about the "simple booleans".

 

Shalom

 

 

From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of
Seligman, Erik
Sent: Tuesday, August 31, 2010 6:45 PM
To: sv-ac@eda.org
Subject: [sv-ac] Mantis 2476 ($onehot, etc, outside assertions)

 

Hi guys-I just added this note at
http://www.verilog.org/mantis/view.php?id=2476 . Perhaps we can discuss
in today's meeting.

 

 

We need to decide not just for the functions in the original
description, but for all the assertion system functions:
$onehot $onehot0 $isunknown $sampled $rose $fell $stable $changed $past
$countones $past_gclk $rose_gclk $fell_gclk $stable_gclk $changed_gclk
$future_gclk $rising_gclk $falling_gclk $steady_gclk $changing_gclk

I think the return types are clear in the final 2009 LRM, but the
question of their usage outside assertions is left ambiguous. For each
of these categories, do we want to enable outside assertions? My
instinct is just to enable category #1.
1. Simple booleans ($onehot $onehot0 $isunknown)
2. Sampled value functions ($sampled $rose $fell $stable $changed $past
$countones)
3. Global clocking past functions ($past_gclk $rose_gclk $fell_gclk
$stable_gclk $changed_gclk)
4. Global clocking future functions ($future_gclk $rising_gclk
$falling_gclk $steady_gclk $changing_gclk)

Interestingly, 20.13 seems to have an isolated BNF production
"assert_boolean_function" that is not referenced anywhere else in the
LRM, leaving it unclear where this can be used, though the implication
is that it's restricted to assertions. Should we fix this & Annex A to
properly integrate these functions into the grammar as well?

-- 
This message has been scanned for viruses and 
dangerous content by MailScanner <http://www.mailscanner.info/> , and is
believed to be clean. 
---------------------------------------------------------------------
Intel Israel (74) Limited
 
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-- 
This message has been scanned for viruses and 
dangerous content by MailScanner <http://www.mailscanner.info/> , and is
believed to be clean. 
-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Sep 1 15:51:41 2010

This archive was generated by hypermail 2.1.8 : Wed Sep 01 2010 - 15:51:49 PDT