Re: [sv-bc] Glitches in unique/priority case/if violations

From: Steven Sharp <sharp_at_.....>
Date: Fri Sep 07 2007 - 21:44:34 PDT
Note that Erik's proposal also places restrictions on the kinds of
loops that these assertions can appear within.  Similar restrictions
would be required on unique/priority case/if to use this approach.
Since there are currently no restrictions on where unique/priority
if/case can appear in procedural code, this would not be backward
compatible.

Personally, I think it is a mistake to try to add a lot of complex
rules where the tools try to figure out what you are trying to do.
Computers are not very good at doing that, and LRMs are not very good
at specifying it.  It is better to provide basic flexible features
that the user can use to build exactly what they want, using their
own understanding of what they are doing.

In this case, I think it would be better to provide a mechanism
to save the success or failure of the unique/priority condition into
a user variable.  Then the user can write whatever code they want
to check it.  If they want to wait until a particular clock edge to
check it, then they can do so.  They can use a concurrent assertion
to check it, if those are the semantics they want.  If they need to
keep track of it for each iteration of a loop, they can use an array
to save the result for each iteration.

This could be done by adding some syntax to provide a place to write
the result.  For example

  unique(result) case (select)
  ...
  endcase
  

Steven Sharp
sharp@cadence.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Sep 7 22:06:33 2007

This archive was generated by hypermail 2.1.8 : Fri Sep 07 2007 - 22:07:17 PDT