Add Proposal | Add Analysis | Edit Class, Environment, or Release |
Number | 662
|
Notify-List |
|
Category | errata
|
Synopsis | Incorrect rule in note on Table 4-21 in 4.4.1
|
State | open
|
Class | errata-simple
|
Arrival-Date | Apr 21 2005
|
Originator | sharp@cadence.com (Behavioral Task Force)
|
Release |
|
Environment |
|
Description |
The footnote on Table 4-21 gives an incorrect rule for the extension of unsized constants. The footnote appears to be intended to describe the extension behavior of unsized constants whose upper bit is x or z (even though this was already specified elsewhere). The second half was probably intended to say that when the upper bit is not x or z, it follows the normal rules. However, it tries to describe the normal rules and gets them wrong. It says that signed constants are sign-extended and unsigned constants are zero-extended. In fact, a signed constant in an unsigned expression will be converted to unsigned and then zero-extended. |
Fix |
Possible fixes: 1. Delete the note, as it is redundant. The x/z-extension behavior of unsized constants is already described elsewhere. 2. Delete the second half of the note, starting with "otherwise". The first half has stated the unusual exception, and otherwise constants behave like any other operand. 3. Change the second half of the note to say "otherwise the normal extension rules are applied based on the signedness of the expression." 4. Change the second half of the note to say "otherwise the constant is sign-extended in a signed expression and zero-extended in an unsigned expression." |
Unformatted |
|
Hosted by Boyd Technology