Number | 127
|
Category | errata
|
Synopsis | 9.7.5: 4th paragraph - pp.140-141
|
State | lrmdraft
|
Class | errata-discuss
|
Arrival-Date | Sep 26 2002
|
Originator | Shalom.Bresticker@motorola.com
|
Release | 2001a,b: 9.7.5
|
Environment |
|
Description |
This was reported by Cliff to IEEE on Oct 10, 2001: "(This was a requested correction that was sent to Yatin on 04/25/2001 to be changed in Draft 6 before it was sent to the IEEE. The following replacement provides critical clarification on how the @* implicit event_expression list works) REPLACE 4th paragraph: Nets and variables which appear on the right hand side of assignments, in function and task calls, or case and conditional expressions shall all be included by these rules. WITH: Nets and variables which appear on the right hand side of assignments, in function and task calls, in case and conditional expressions, as an index variable on the left hand side of assignments or as variables in case item expressions shall all be included by these rules." Add Examples 5 and 6 just before 9.7.6: Example 5 always @* begin // same as @(a or en) y = 8'hff ; y[a] = !en ; end Example 6 always @* begin // same as @(state or go or ws) next = 4'b0 ; case (1'b1) state[IDLE]: if (go) next[READ] = 1'b1 ; else next[IDLE] = 1'b1 ; state[READ]: next[DLY ] = 1'b1 ; state[DLY ]: if (!ws) next[DONE] = 1'b1 ; else next[READ] = 1'b1 ; state[DONE]: next[IDLE] = 1'b1 ; endcase end |
Fix |
In 9.7.5, change the 4th paragraph from "Nets and variables which appear on the right hand side of assignments, in function and task calls, or case and conditional expressions shall all be included by these rules." to "Nets and variables which appear on the right-hand side of assignments, in function and task calls, in case and conditional expressions, as an index variable on the left-hand side of assignments or as variables in case item expressions shall all be included by these rules." And insert the following Examples 5 and 6 just before 9.7.6, indenting as appropriate, bolding the keywords and italicizing "Example 5" and "Example 6": Example 5 always @* begin // same as @(a or en) y = 8'hff ; y[a] = !en ; end Example 6 always @* begin // same as @(state or go or ws) next = 4'b0 ; case (1'b1) state[IDLE]: if (go) next[READ] = 1'b1 ; else next[IDLE] = 1'b1 ; state[READ]: next[DLY ] = 1'b1 ; state[DLY ]: if (!ws) next[DONE] = 1'b1 ; else next[READ] = 1'b1 ; state[DONE]: next[IDLE] = 1'b1 ; endcase end |
Audit-Trail |
From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/127: 9.7.5 - 4th paragraph - pp.140-141 Date: Tue, 26 Nov 2002 17:47:13 +0200 In 2001b, need to fix general indentation, and font type and bolding of "if" keywords. > Example 6 > > always @* begin // same as @(state or go or ws) > next = 4'b0 ; > case (1'b1) > state[IDLE]: if (go) next[READ] = 1'b1 ; > else next[IDLE] = 1'b1 ; > state[READ]: next[DLY ] = 1'b1 ; > state[DLY ]: if (!ws) next[DONE] = 1'b1 ; > else next[READ] = 1'b1 ; > state[DONE]: next[IDLE] = 1'b1 ; > endcase > end |
Unformatted |
|
Hosted by Boyd Technology