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

From: ben cohen <hdlcohen_at_.....>
Date: Sun May 03 2009 - 14:05:14 PDT
I will, if I had the rights.  But one thing we could change this text to
something like: From: 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.
*
*
*TO: 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. Note that
$falling_gclk(clk)
is evaluated to 1'b0 at time 80.
*
On Sun, May 3, 2009 at 1:28 PM, Korchemny, Dmitry <
dmitry.korchemny@intel.com> wrote:

>  I suggest to fill a Mantis item. It can be addressed after the LRM
> release.
>
>
>
> Dmitry
>
>
>
> *From:* ben cohen [mailto:hdlcohen@gmail.com]
> *Sent:* Sunday, May 03, 2009 11:22 PM
>
> *To:* Korchemny, Dmitry
> *Cc:* Thomas.Thatcher@sun.com; sv-ac@server.eda.org
> *Subject:* Re: [sv-ac] Proposal updated for Mantis 2656 (Ballot Comment
> #84)
>
>
>
> *[Korchemny, Dmitry] You are right regarding $falling_gclk(clk). But the
> LRM states: *Table 16-2 shows the values returned by the global clocking
> future sampled value functions for *sig* at different time moments.
>
> *[Ben Cohen]* Correct.  My issue is the readability for the user.  as a
> user, I stumbled on that Table because the timing samples emphasize the
> example, and *$falling_gclk(clk) *is an important element of that example.
> * *LRM states:
>
> *Table 16-2 shows the values returned by the global clocking future
> sampled value functions for sig at different time moments.*
>
> *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.*
>
> I don't want to make an issue of this, as it is not that important to me.
>  In terms of not showing all the timing events (20, 60, 70) it is
> interesting that 40 is shown.  As a reader, I wondered why 40 and not the
> other timing events? Was inconsistent.
>
> Anyway, my 2 cents .. We can leave the spec as is on that point.  But that
> section will throw a few readers for a loop trying to figure out the value
> of *$falling_gclk(clk) **and *why the failure at time 90, and why the
> other timing events are not shown.
>
> ----------------------
>
>     *[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.*
>
>  I have version IEEE P1800/D7a
>
> Below is the heading of Table 16.2.  I see $falling_gclk(sig),but
> not $falling_gclk(*clk*)
>
> Perhaps I am looking at an earlier version of the P1800-2009 .
>
> page 334:
>
> *Time $sampled(sig) $future_gclk(sig) $rising_gclk(sig) $falling_gclk(sig)
> $changing_gclk(sig) $steady_gclk(sig) *
>
> *[Korchemny, Dmitry] You are right regarding $falling_gclk(clk). But the
> LRM states: *Table 16-2 shows the values returned by the global clocking
> future sampled value functions for *sig* at different time moments.
>
>
>
> 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).
>
>  * *
>
>    ---------------------------------------------------------------------
> 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 May 3 14:06:19 2009

This archive was generated by hypermail 2.1.8 : Sun May 03 2009 - 14:06:33 PDT