RE: [sv-ac] RE: Call to vote: Due August 8

From: Korchemny, Dmitry <dmitry.korchemny@intel.com>
Date: Tue Aug 09 2011 - 08:06:24 PDT

Hi Ben,

I implemented your comments.

Thanks,
Dmitry

From: ben cohen [mailto:hdlcohen@gmail.com]
Sent: Saturday, August 06, 2011 23:25
To: Seligman, Erik
Cc: Korchemny, Dmitry; sv-ac@eda-stds.org
Subject: Re: [sv-ac] RE: Call to vote: Due August 8

Vote + 3 friendly amendments:

Mantis 2578 __X_ Yes ____ No
http://www.eda-stds.org/mantis/view.php?id=2578
http://www.eda-stds.org/mantis/file_download.php?file_id=5251&type=bug

Mantis 3033 _X__ Yes ____ No
http://www.eda-stds.org/mantis/view.php?id=3033
http://www.eda-stds.org/mantis/file_download.php?file_id=5257&type=bug

Friendly amendment:
1) Example is missing an "end" statement for the module m
2) The model needs to be beautified -- below is a copy that does it

module m(input logic rst, clk, logic en, logic[7:0] in1, in2,
        in_array [20:0]);
    c1 check_outside(posedge clk, in1);
    always @(posedge clk) begin
        automatic logic [7:0] v1 = 0;
        if (en) begin
            // v1 is automatic, so current procedural value is used
            c1 check_inside(posedge clk, in1, v1);
        end
        for (int i = 0; i < 4; i++) begin
            v1 = v1 + 5;
            if (i != 2) begin
                // v1 is automatic, so current procedural value is used
                c1 check_loop(posedge clk, in1, in_array[v1]);
            end
        end
    end
endmodule : m

3) Change "if (rst) z <= b; // sampled value of rst" TO
    if (rst) // sampled value of rst
hecker check(logic a, b, c, clk, rst);
                logic x, y, z, v, t;
                assign x = a; // current value of a
                always_ff @(posedge clk or negedge rst) // current values of clk and rst
                begin
                                a1: assert (b); // sampled value of b
                                if (rst) z <= b; // sampled value of rst
                                                z <= b; // sampled value of b
                                else z <= !c; // sampled value of c

On Fri, Aug 5, 2011 at 2:38 PM, Seligman, Erik <erik.seligman@intel.com<mailto:erik.seligman@intel.com>> wrote:
My votes:

Mantis 2578 __X_ Yes ____ No
http://www.eda-stds.org/mantis/view.php?id=2578
http://www.eda-stds.org/mantis/file_download.php?file_id=5251&type=bug

Mantis 3033 _X__ Yes ____ No
http://www.eda-stds.org/mantis/view.php?id=3033
http://www.eda-stds.org/mantis/file_download.php?file_id=5257&type=bug

Friendly amendments:

- p.9, example: check_outside is missing an arg

- p.15, 1st bullet point: "In always_ff procedure" ==> "In always_ff procedures"

- C.2.7: Rephrase 1st paragraph: "The always procedure allowed by IEEE Std 1800-2009 in checkers, but always_comb, always_latch, and always_ff were forbidden. The limitations imposed on the always procedure in checkers included the limitations imposed on always_ff procedures outside checkers. In this version of the standard always_comb, always_latch, and always_ff have been added for checkers. As a result the general always procedure in checkers would have imposed the same limitations as always_ff does. Therefore the usage of always procedures in checkers is deprecated and does not appear in this version of the standard."

Also, a question about 17.3. Since we're adding a new limitation on checkers containing procedural code, is it important for us to include an example with a deferred assertion outside a procedure, and point out how its implicit always_comb prevents its checker from being instantiated by other checkers?

--
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 Tue Aug 9 08:07:55 2011

This archive was generated by hypermail 2.1.8 : Tue Aug 09 2011 - 08:07:59 PDT