RE: [sv-ac] Proposal updated for Mantis 2656 (Ballot Comment #84)

From: Korchemny, Dmitry <dmitry.korchemny_at_.....>
Date: Sun May 03 2009 - 10:52:58 PDT
Hi Ben,

Please, see my comments below.

Dmitry

From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org] On Behalf Of ben cohen
Sent: Thursday, April 30, 2009 10:43 PM
To: Thomas.Thatcher@sun.com
Cc: sv-ac@server.eda.org
Subject: Re: [sv-ac] Proposal updated for Mantis 2656 (Ballot Comment #84)

Two comments:
The table: I find "Table 16-2-Global clocking future sampled value functions" missing several entry points for the global clocking, and it is also missing the entry for $falling_gclk(clk),
That last entry is needed because the one of the points of this table is to demonstrate why the violation is at time 80.  Without that entry, it is left as an exercise for the reader to figure out how $falling_gclk(clk) fits into that table and graph.   Attached is my suggested update to the table for your considerations.
[Korchemny, Dmitry] $falling_gclk(clk) is present in Table 16-2, and in your table it appears twice. I don't think that we need to consider all ticks of the global clock in this table. If you disagree, you are welcome to  open a Mantis item with your suggestion. Unfortunately, we are not authorized to address it now.

From LRM: The following assertion states that the signal may change only on falling clock:
   a1: assert property (@$global_clock $changing_gclk(sig)
      |-> $falling_gclk(clk))
     else $error("sig is not stable");
Figure 16-4 shows that this property is violated at time 80. The vertical arrows indicate the ticks of the global clock. The error message $error("sig is not stable") is executed at time 90.

2656_global_clk_20090427.doc
Since most designs use a single edge of the clock, rather thatn both edges, I suggest that we modify the example from:
              global clocking @clk; endclocking
To the following
             global clocking @ (posedge clk); endclocking
assert property(@$global_clock a);
the assertion states that a is true at each tick of the global clock. In simulation, tThis assertion is logically
equivalent to
assert property(@ (posedge clk)  a);

[Korchemny, Dmitry] I think that global clocking @clk; endclocking also makes sense. The global clock reflects the primary clock, and the primary clock normally should tick at least at each change of clk. Consider the following assertion: the clock always ticks. You can implement it as:

assert property (@$global_clock $rising_gclk(clk)); (or $changing_gclk, $falling_gclk).

According to the definition you suggest this assertion will be violated, since the sampled value of clk is always 0 @(posedge clk).


On Mon, Apr 27, 2009 at 10:53 AM, Thomas Thatcher <Thomas.Thatcher@sun.com<mailto:Thomas.Thatcher@sun.com>> wrote:
Hello everyone,

I uploaded the proposal for Mantis 2656 that incorporates Erik's request to change "equivalent" to "logically equivalent".

The file names are
       2656_global_clk_20090427.doc
       2656_global_clk_20090427.pdf

Tom

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


--
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, and is
believed to be clean.
Received on Sun, 3 May 2009 20:52:58 +0300

This archive was generated by hypermail 2.1.8 : Sun May 03 2009 - 11:02:02 PDT