errata/76: PROPOSAL - 4.1.14: unclear examples of illegal concatenations

From: Shalom.Bresticker@motorola.com
Date: Wed Jan 01 2003 - 03:03:55 PST

  • Next message: Shalom.Bresticker@motorola.com: "enhancement/240: Allow initializing declarations in named blocks, tasks, functions"

    Precedence: bulk

    In 4.1.14,

    CHANGE FROM:

    Another form of concatenation is the replication operation.
    The first expression shall be a non-zero, non-X and non-Z
    constant expression, the second expression follows the rules
    for concatenations. This example replicates "w" 4 times.

    {4{w}} // This is equivalent to {w, w, w, w}
    a[31:0] = {1'b1, {0{1'b0}} }; //illegal. RHS becomes {1'b1,;
    a[31:0] = {1'b1, {1'bz{1'b0}} }; //illegal. RHS becomes {1'b1,;
    a[31:0] = {1'b1, {1'bx{1'b0}} }; //illegal. RHS becomes {1'b1,;

    TO:

    Another form of concatenation is the replication operation.
    The first expression shall be a positive, non-X and non-Z
    constant expression, the second expression follows the rules
    for concatenations.

    The following example replicates "w" 4 times.

    <pre>
    {4{w}} // This is equivalent to {w, w, w, w}
    </pre>

    The following examples show illegal concatenations.

    <pre>
    { 0{1'b0}} //illegal
    {1'bz{1'b0}} //illegal
    {1'bx{1'b0}} //illegal
    </pre>
    http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=view&pr=76



    This archive was generated by hypermail 2.1.4 : Wed Jan 01 2003 - 03:04:40 PST and
    sponsored by Boyd Technology, Inc.