System Verilog | |||||
LRM Changes | |||||
On | |||||
Status Legend: Open, Remove Note, Change, No Change | |||||
ID | Committee | Section | Description | Status | Changes |
LRM-1 | SV-EC | 1 4.6.1 4.8 10.5.2 10.5.4 12.6 13.3.5 13.4 13.8 15.2 15.3 | Editor’s Note: "parameter" is a Verilog keyword, and "parameterized" models refer to the usage of Verilog "parameters" (see Sections 11.21, 19.6 and 20). Use of the word "parameterized" in this context is not consistent with the Verilog LRM. Suggest using "arguments" (as in Verilog LRM), "formal arguments" or "formals". | 13.3.5, 13.4, 15.3 are left unchanged | Section 1 |
Section 4.6.1 4.8 | |||||
Section 10.5.2 10.5.4 | |||||
Section 12.6 | |||||
Section 13.1, 13.8 | |||||
Section 15.2 | |||||
Section 8.9 | |||||
LRM-2 | SV-BC | 18.7 | Editor’s Note: "parameter" is a Verilog keyword, and "parameterized" models refer to the usage of Verilog "parameters" (see Sections 11.21, 19.6 and 20). Use of the word "parameterized" in this context is not consistent with the Verilog LRM. Suggest using "arguments" (as in Verilog LRM), "formal arguments" or "formals". | No Change | Section 18.7 |
LRM-3 | SV-BC | 2.5 | The time literal is interpreted as a realtime value scaled to the current time unit and rounded to the current time precision. Note that if a time literal is used as an actual parameter to a module or interface instance, the current time unit and precision are those of the module or interface instance. | No Change | Section 2.5 |
Editor’s Note: What is meant by "actual parameter" in the preceding paragraph? Is it referring to the Verilog parameter data type? | |||||
LRM-4 | SV-BC | 2.8 | Editor’s Note: Both BC62a and BC65 added the following description of structural literals. I used BC62a. | No Change | Section 2.8 |
LRM-5 | SV-BC | 2.8 | Structure literals can also use member name and value, or data type and default value (see Section 7.13): | No Change | Section 2.8 |
Editor’s Note: Is the cross reference above correct? | |||||
LRM-6 | SV-BC | 3.4 | Editor’s Note: BC08-05 says to "Remove section 3.4.1". There is no such section, and the change order does not have the requisite details of which version it referred to, or what text is to be deleted. | Change | Section 3.4 |
LRM-7 | SV-EC | 3.8.9 | function integer atoi() | No Change | Section 3.8.9 |
function integer atohex() | |||||
function integer atooct() | |||||
function integer atobin() | |||||
Editor’s Note: "integer" or "int"? | |||||
LRM-8 | SV-EC | 3.10 | A typedef inside a generate may not define the actual type of a forward definition that exists outside the scope of the forward definition. | Change | Section 3.10 |
Editor’s Note: Does "may not" in the preceding paragraph indicate a mandatory rule or an optional rule? If mandatory, then change to "shall". If optional, the sentence needs to be rephrased to not be ambiguous. | |||||
LRM-9 | SV-BC | 7.12 7.13 7.14 7.15 | Editor’s Note: Both BC62a and BC65 added this new section. I used BC62a. | Change | Section 7.12 7.13 7.14 7.15 |
LRM-10 | SV-EC | 8.10 | Editor’s Note: This new operator needs to be added to the operator precedence table and other sections describing operator rules (signed/unsigned/2-state/4-state/real operands, etc.). | No Change | Section 8.10 |
LRM-11 | SV-EC | 10.1 | — Importing and exporting functions through the Direct Programming Interface (DPI) | No Change | Section 10.1 |
Editor’s Note: Previous bullet added by the editor. It was not actually specified in EC-C120. | |||||
LRM-12 | SV-CC | 10.6 | For any given cname, all declarations, regardless of scope, must have exactly the same type signature. The type signature includes the return type, the number, order, direction and types of each and every argument. Type includes dimensions and bounds of any arrays/array dimensions. For import declarations, arguments can be open arrays. Open arrays are defined in Section 1.4.5 of the DPI LRM. Signature also includes the pure/context qualifiers that may can be associated with an import definition. | Change | Section 10.6 |
Editor’s Note: What is meant by "Signature"? | |||||
LRM-13 | SV-CC | 10.6 | For any given cname, all declarations, regardless of scope, must have exactly the same type signature. The type signature includes the return type, the number, order, direction and types of each and every argument. Type includes dimensions and bounds of any arrays/array dimensions. For import declarations, arguments can be open arrays. Open arrays are defined in Section 1.4.5 of the DPI LRM. Signature also includes the pure/context qualifiers that may can be associated with an import definition. | Change | Section 10.6 |
Editor’s Note: Need to update cross reference in preceding paragraph. | |||||
LRM-14 | SV-EC | 11.20 | Editor’s Note: This new operator needs to be added to the operator precedence table and other sections describing operator rules (signed/unsigned/2-state/4-state/real operands, etc.). | Change | Section 7.9 |
Section 11.20 | |||||
LRM-15 | SV-EC/SV-BC | 11.22 | Editor’s Note: Verilog syntax is "int static". Is the "static int" above correct? NOTE: The Co-design SystemSim simulator allows both forms. I submitted a request to the BC committee to clarify if SystemVerilog was intended to also allow both forms. I do not know the result of that request. | No Change | Section 11.22 |
Response: It appears that the LRM only supports static int and not int static. This may be enhanced in a future version. | |||||
LRM-16 | SV-EC | 12.4.3 | inside | No Change | Section 12.4.3 |
Editor’s Note: This new operator needs to be added to the operator precedence table and other sections describing operator rules (signed/unsigned/2-state/4-state/real operands, etc.). | |||||
LRM-17 | SV-EC | 12.4.4 | dist | No Change | Section 12.4.4 |
Editor’s Note: This new operator needs to be added to the operator precedence table and other sections describing operator rules (signed/unsigned/2-state/4-state/real operands, etc.). | |||||
LRM-18 | SV-EC | 12.4.4 | The := operator assigns the specified weight to the item, or if the item is a range, to every value in the range. | Change | Section 7.9 |
The :/ operator assigns the specified weight to the item, or if the item is a range, to the range as a whole. Ifthere are n values in the range, the weight of each value is range_weight / n. | |||||
Editor’s Note: These new operators need to be added to the operator precedence table and other sections describing operator rules (signed/unsigned/2-state/4-state/real operands, etc.). | Section 12.4.4 | ||||
LRM-19 | SV-EC | 12.4.5 | => | No Change | Section 12.4.5 |
Editor’s Note: This new operator needs to be added to the operator precedence table and other sections describing operator rules (signed/unsigned/2-state/4-state/real operands, etc.). | |||||
LRM-20 | SV-EC | 12.4.9 | Editor’s Note: Verilog syntax puts "static" after the data type, the opposite of C. Should the declaration for constraint be consistent with Verilog, or with C? Note that the Co-design SystemSim simulator allows the static declaration of SystemVerilog variables to be in either order. I submitted a request to the BC committee asking if the SystemVerilog LRM was intended to allow the same. I do not know the result of that request. | No Change | Section 12.4.9 |
LRM-21 | SV-EC | 12.10.1 | function unsigned int $urandom [ (int seed ) ] ; | Change | Section 12.10.1 |
Editor’s Note: Verilog syntax is "function int unsigned" instead of "function unsigned int". Co-design’s SystemSim allows both Verilog and C styles. | |||||
LRM-22 | SV-EC | 12.10.2 | function unsigned int $urandom_range( unsigned int maxval, unsigned int minval = 0 ); | Change | Section 12.10.2 |
Editor’s Note: Verilog syntax is “function int unsigned” instead of “function unsigned int” ? | |||||
LRM-23 | SV-EC | 12.10.3 | task $srandom( int seed, [object obj] ); | Change | Section 12.10.3 |
Editor’s Note: Is “object” a data type? There is no keyword “object” anywhere else in the LRM. | |||||
LRM-24 | SV-SSWG | 14.4 | There are two kinds of PLI callbacks, those that are executed immediately when some object changes value in an update event, and those that are explicitly registered as a one-shot evaluation event. | Change | Section 14.4 |
Editor’s Note: The preceding paragraph does not account for all types of callbacks. For example: cbStmt, cbEnterInteractive, cbStartOfReset, etc. These and some other callbacks are not logic value related, and they may occur more than one time after being registered. | |||||
Peter Flake responds: | |||||
Here is my proposal. The term "specific activity" is taken from the Verilog 2001 LRM VPI section. | |||||
There are two kinds of PLI callbacks, those that are executed immediately whenever some specific activity occurs, and those that are explicitly registered as a one-shot evaluation event. | |||||
LRM-25 | SV-BC | 18.7.3 | Editor’s Note: BC42-24 said to make “.name” all bold. This was not done, because the bold text is used to designate a keyword, and “name” is not a keyword | Change | Section 18.7.3 |
LRM-26 | SV-BC | 18.8.3 | See Section XX for more port connection rules with interfaces. | Change | Section 18.8.3 |
Editor’s Note: What is the cross reference for above? | |||||
LRM-27 | SV-AC | 22.6 22.7 | Editor’s Note: Are these system tasks to be removed? The new 3.1 assertion section does not mention them. | No Change | No Change |
LRM-28 | SV-CC | 26.4.4 | Each imported function shall be declared. Such declaration are referred to as import declarations. The syntax | No Change | Section 26.4.4 |
of an import declaration is similar to the syntax of SystemVerilog function prototypes (see Section 10.6). | |||||
Editor’s Note: Is the preceding cross reference correct? | |||||
LRM-29 | SV-CC | 26.4.4 | import "DPI" newQueue=function handle newAnonQueue(input string s=NULL); | Change | Section 26.4.4 |
Editor’s Note: Is the uppercase “NULL” correct? The SystemVerilog keyword is in lowercase. | |||||
LRM-30 | SV-CC | 26.4.6.1 | Here are examples of types of formal arguments (empty square brackets [] denote open array): | Change | Section 26.4.6.1 |
logic | |||||
bit [8:1] | |||||
bit[] | |||||
bit [7:0] b8x10 [1:10] // b8x10 is a formal arg name | |||||
logic [31:0] l32x [] // l32x is a formal arg name | |||||
logic [] lx3 [3:1] // lx3 is a formal arg name | |||||
bit [] an_unsized_array [] // an_unsized_array is a formal arg name | |||||
Editor’s Note: It is illegal in Verilog to start a name with a number (e.g. “132x”. Does that rule apply here? | |||||
LRM-31 | SV-CC | 27.1.2 | Assertion Temporal expression—A declarative expression (one or more clock cycles) describing the behavior | Change | Section 27.1.2 |
of a system over time. // This is the "body" of the assertion. | |||||
Editor’s Note: Why the underlined comment, above? Should it be regular text, or deleted? | |||||
LRM-32 | SV-CC | 27.2 | These extension shall be merged into the contents of the vpi_user.h file, described in IEEE Std 1364-2001, Annex G. The numbers in the range 700 - 799 are reserved for the assertion portion of the VPI. | Change | Section 27.2 |
Editor’s Note: Is “shall”, which means mandatory, too strong here? It seems to infer that users or software vendors must modify the IEEE standard vpi_user.h header file, thereby making the file non IEEE compliant. Response: Shall is correct and yes vendors and users will have to modify vpi_user.h. | |||||
Editor's Note: Grammer problem in "These extension" | |||||
LRM-33 | SV-CC | 27.2.3 | 27.2.2 Object properties | No Change | Section 27.2.3 |
This section lists the object property VPI calls. The VPI reserved range for these call is 700 - 729. | |||||
/* Directives as properties */ | |||||
#define vpiSequenceAssertion 701 | |||||
#define vpiAssertAssertion 702 | |||||
#define vpiAssumeAssertion 703 | |||||
#define vpiRestrictAssertion 704 | |||||
#define vpiCoverAssertion 705 | |||||
#define vpiCheckAssertion 705 /* inlined behavior assertion */ | |||||
#define vpiOtherDirectiveAssertion 706 /* placeholder for other assertion directive */ | |||||
27.2.3 Callbacks | |||||
This section lists the system callbacks. The VPI reserved range for these call is 700 - 719. | |||||
1) Assertion | |||||
#define cbAssertionStart 700 | |||||
#define cbAssertionSuccess 701 | |||||
#define cbAssertionFailure 702 | |||||
#define cbAssertionStepSuccess 703 | |||||
#define cbAssertionStepFailure 704 | |||||
#define cbAssertionDisable 705 | |||||
#define cbAssertionEnable 706 | |||||
#define cbAssertionReset 707 | |||||
#define cbAssertionKill 708 | |||||
Editor’s Note: This section is using some of the same constant values as the previous section. Response:the enumeration constants are allowed to be different for different kind of object. | |||||
One set of enumeration constants is for properties, while the other set is for callbacks reasons. | |||||
LRM-34 | SV-CC | 27.3.2 | — Any assertion updates from the SV-AC. | Change | Section 27.3.2 |
— Assertion source information: the file, line, and column where the assertion is defined. | |||||
— Assertion clocking domain/expression2 | |||||
Editor’s Note: Item 6, above, does not seem appropriate in a standard. Should it be deleted? | |||||
Editor’s Note: Are the two dashed-list lines above part of item 6? | |||||
Editor’s Note: What is the “2” in “expression2”, above? | |||||
LRM-35 | SV-CC | 27.4.1 | Section 27.4.1 Placing assertion “system” callbacks | Change | Section 27.4.1 |
Editor’s Note: Why is “system” in quotes?. | |||||
LRM-36 | SV-CC | 27.4.2 | cbAssertionStepSucess | Change | Section 27.4.2 |
the progress of one “thread” along an attempt. By default, step callbacks are not enabled on any assertions; they are enabled on a per-assertion/per-attempt basis, rather than on a per-assertion basis. | |||||
Editor’s Note: Why is “thread” in quotes?. | |||||
LRM-37 | SV-CC | 27.5.2 | For the following operator, the second argument shall be a valid assertion handle, the third argument shall be an attempt start-time (as a pointer to a correctly initialized s_vpi_time structure) and the fourth argument shall be a “step control” constant. | Change | Section 27.5.2 |
Editor’s Note: Why is “step control” in quotes?. | |||||
LRM-38 | SV-CC | 28.2 | This section ... | Change | Section 28.2 |
Editor’s Note: Something appears to be missing in this section. | |||||
LRM-39 | SV-CC | 28.2.2 | This section ... | Change | Section 28.2.2 |
Editor’s Note: Something appears to be missing in this section. | |||||
LRM-40 | SV-CC | 28.3.1 | /* tool state_vector signal_name */ | No Change | Section 28.3.1 |
where tool and state_vector are required keywords. This pragma needs to be specified inside the module definition where the signal is declared. | |||||
Editor’s Note: Throughout this coverage API section, Verilog-2001 attributes should be used, instead of using obsolete pragmas that are hidden in comments! | |||||
Reply from SV-CC: | |||||
no, pragmas have to be used as attributes are not sufficiently capable in the current revision of SV. Specifically, attributes can only be attached to a single declaration, whereas for FSM descriptions information needs to be attached to declarations of multiple variables/parameters, or to variable concatenations and part selects (for which no declarative item even exists to which an attribute could be attached). It is proposed that these limitations be raised as an issue to be resolved in SV 3.2 | |||||
LRM-41 | SV-CC | 28.3.6 | parameter [1:0] /* tool enum enumeration_name */ | No Change | Section 28.3.6 |
S0 = 0, | |||||
s1 = 1, | |||||
s2 = 2, | |||||
s3 = 3; | |||||
Editor’s Note: Can SystemVerilog enumerated types be used instead of parameter constants? What about ‘define macros | |||||
SV-CC reply: | |||||
Yes, enumerated types could also be used, but this use of parameters for FSM modelling is common. In either case the pragma would be the same. | |||||
LRM-42 | SV-CC | 28.4 | This section ... | Change | Section 28.4 |
Editor’s Note: Something appears to be missing in this section. | |||||
LRM-43 | SV-CC | 28.4.1 | This section ... | Change | Section 28.4.1 |
Editor’s Note: Something appears to be missing in this section. | |||||
LRM-44 | SV-CC | 28.4.3 | All **what?? use vpi_get() along with the appropriate properties and object handles. | Change | Section 28.4.3 |
Editor’s Note: The preceding sentence needs to be fixed. | |||||
LRM-45 | SV-CC | 28.4.4 | 28.4.4 Controlling coverage | Change | Section 28.4.4 |
**Revise similar to Assertions** | |||||
Editor’s Note: What is this comment referring to? | |||||
LRM-46 | SV-BC | A.1.6 | extern_tf_declaration ::= | No Change | Section A.1.6 |
extern method_prototype | |||||
| extern forkjoin task named_task_proto ; | |||||
Editor’s Note: The added syntax added just for interface items may be better combined with the DPI import, but | |||||
that is allowed anywhere a function may be declared... The BC should take a look at the DPI import/export to | |||||
make sure these make sense... The dpi_import_export is in A.2.6 | |||||
LRM-47 | SV-EC | A.1.8 | Editor’s Note: The examples seemed to allow arbitrary ordering for the extern, virtual, etc... So that is maintained | Change | Section 11.16 |
here... either an order should be specified (and examples that use virtual protected or protected virtual at will | |||||
should be changed). Or text should be added to sections to deal with question of “protected private”. | Section A.1.8 | ||||
LRM-48 | SV-BC | A.2.2.1 | non_integer_type ::= time | shortreal | real | realtime | $built-in | Change | Section A.2.2.1 |
Editor’s Note: Why isn’t $built-in mentioned in the text? What is it? Remove? Should be bold? | |||||
LRM-49 | SV-EC | A.2.2.1 | Editor’s Note: Singular is listed as anything but unpacked structs, unpacked arrays, and handle type. Either the text should simply let the singular_type bnf explain or should deal with other exceptions: union, void, dynamic arrays | No Change | No Change |
SV-BC Responds: | |||||
SV-EC has added this. They split the packed and unpacked unions. | |||||
Therefore,
we are moving this issues back to EC. Stefen: Need the description in the LRM
(3.9) to be cleaned up and make sure that BNF matches.
SUGGESTION: Singular should not become a BNF construct. Singular is defined only to refer to non-aggregate types in the text of the LRM. Some system tasks and built-in methods will need semantic checks to restrict their use to singular types, but that is best handled semantically and not via BNF. |
|||||
LRM-50 | SV-BC | A.2.2.1 | Editor’s Note: Enum here suggests that we can have ports: input enum { a, b, c} myin; Is this a problem (considering the semi-strong typing introduced in 3.1 for enum)? | No Change | Section A.2.2.1 |
SV-BC responds: | |||||
Existing port connection sematics take care of this. | |||||
LRM-51 | SV-EC | A.2.2.1 | Editor’s Note: String and event assignment restrictions not part of bnf productions (semantic only) | No Change | Section A.2.2.1 |
SV-BC responds: | |||||
Should be moved back to EC, because string was added by EC | |||||
LRM-52 | SV-BC | A.2.6 | Editor’s Note: Enum here suggests that we can have return values: | No Change | Section A.2.6 |
function enum { a, b, c} myfunc; | |||||
Is this a problem (considering the semi-strong typing introduced in 3.1 for enum)? | |||||
SV-BC responds: | |||||
leave it. Existing sematic rules take care of it. DPI might need it also | |||||
LRM-53 | SV-BC | A.2.6 | Editor’s Note: Why eliminate [ signing ] from this production and then add note? The note will constantly need updating due to new types (e.g. string) and function prototypes won’t be allowed to be signed. Better to make “function_data_type ::= data_type | handle |void” and move the “[ signing ]” from function_declaration to the first line of range_or_type. | No Change | Section A.2.6 |
SV-BC Response: The reason we voted for splitting this rule was the location of the signing which should go before the data type and after the function keyword. | |||||
Recommendation: keep this BNF. | |||||
LRM-54 | SV-BC | A.2.6 | Editor’s Note: Since [ signing ] was removed from function_data_type, we can’t have a signed prototype? | Change | Section A.2.6 |
LRM-55 | SV-EC | A.2.7 | Editor’s Note: Looks like the new definition disallows “output signed [3:0] foo” (same for inout). I took the liberty of adding it. | Change | Section A.2.7 (Draft 5 change) |
SV-BC Responds: | |||||
It
looks OK, but it should be moved back to EC because it was changed by them. RESPONSE: The BNF needs to allow for the optional signed on all task/function arguments, regardless of their direction (input, output, or inout). This is needed for backward compatibility with V2K. For the same reason, the implicit “reg” type must be supported. Hence, “output signed [3:0] foo” is valid. |
|||||
LRM-56 | SV-EC | A.6.1 | Editor’s Note: I used expression since that is what is used in module instance ports. Dispite the style of showing semantics in the BNF, I’m following the style of ports of module instances. One restriction that is not clear in the text is that the bit and part selects of nets in an alias must be constant (i.e. can’t use [expression +: constant]) | Change | Section A.6.1 |
SV-BC Responds: | |||||
Alias was pushed by SV-EC, therefore this issue should be moved back to them | |||||
LRM-57 | SV-BC | A.8.3 | Editor’s Note: This change collided with BC19-44. I left variable_lvalue alone since it now does what variable_lvalue_item used to do. | No Change | Section A.8.3 |
LRM-58 | SV-EC | A.8.4 | Editor’s Note: The general syntax for making a function call to a method is given here. I do not list all the possible methods for each type. As is done with system tasks and functions, these will have BNF descriptions that are separate from Annex A. | No Change | Section A.8.4 |
SV-BC Responds | |||||
[ . method_identifier { attribute_instance } [ ( expression { , expression } ) ] ] | |||||
This note refers to the changes which were specifically done by SV-EC. The issue should be moved back to SV-EC. | |||||
LRM-59 | SV-BC | A.9.3 | Editor’s Note: This isn’t referenced by any other production. Remove? Add reference somewhere? | Change | Section A.9.3 |
LRM-60 | SV-BC | A.9.3 | Editor’s Note: Looks like this is left over from state machine syntax that didn’t make it into 3.0 | Change | Section A.9.3 |
LRM-61 | SV-BC | A.9.3 | Editor’s Note: This isn’t referenced by any other production. Remove? Add reference somewhere? | No Change | Section A.9.3 |
LRM-62 | SV-CC | D.1 | Formal arguments in SystemVerilog can be specified as open arrays solely in import declarations; exported SystemVerilog functions can not have formal arguments specified as open arrays. A formal argument is an open array when a range of one or more of its dimensions is unspecified (denoted in SystemVerilog by using empty square brackets ([])). This corresponds to a relaxation of the DPI argument-matching rules (section 1.5.1). An actual argument shall match the corresponding formal argument regardless of the range(s) for its corresponding dimension(s), which facilitates writing generalized C code that can handle SystemVerilog arrays of different sizes. | Change | Section D.1 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-63 | SV-CC | D.5 | Note that the constraints expressed here merely restate those expressed in section 1.4.1. | Change | Section D.5 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-64 | SV-CC | D.5.5 | Also refer to section 1.4.3. | Change | Section D.5.5 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-65 | SV-CC | D.5.6 | See also 1.4.2. | Change | Section D.5.6 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-66 | SV-CC | D.5.7 | See also section 1.4.1.4. | Change | Section D.5.7 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-67 | SV-CC | D.6.6 | 1) If a packed part of an array has more than one dimension, it is linearized as specified by the equivalence of packed types (see section ??). | Change | Section D.6.6 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-68 | SV-CC | D.7.2 | It can be done while preserving the binary compatibility, see Annex D.7.5 and section A.11.11. | Change | Section D.7.2 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-69 | SV-CC | D.7.5 | compromising the portability (see section A.11.11). Such a technique does not work if a packed array is a part of another type. | Change | Section D.7.5 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-70 | SV-CC | D.7.7 | [There is a problem here: ‘int’ is the same as svBitVec32, long long is not the snae as svBitVect32[2], so how to return a value in the canonical representation as a function result, if this value is between 33 and 64 bits?] | Change | Section D.7.7 |
Editor’s Note: Has the preceding note been taken care of? | |||||
LRM-71 | SV-CC | D.8 | A small set of DPI utility functions is available to assist programmers when working with context functions (see section A.8.3). If those utility functions are used with any non-context function, a system error will result. | Change | Section D.8 |
Editor’s Note: Has the preceding note been taken care of? | |||||
LRM-72 | SV-CC | D.10.2 | Unpacked arrays, with the exception of formal arguments specified as open arrays, shall have the same layout as used by a C compiler; they are accessed using C indexing (see section A.6.6). | Change | Section D.10.2 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-73 | SV-CC | D.11.1 | In the former case, all indices are normalized on the C side (i.e., 0 and up) and the programmer needs to know the size of an array and be capable of determining how the ranges of the actual argument map onto C-style ranges (see section A.6.6). | Change | Section D.11.1 |
Editor’s Note: What is the correct cross reference, above? | |||||
LRM-74 | SV-EC | 3.7 | define/clarify why chandle cannot be used in structures or unions | Change | Section 3.7 |
LRM-75 | SV-EC | 4.2 | remove Note: from shortcut description | Change | Section 4.2 |
LRM-76 | SV-EC | 4.10.1 | change map.num to imem.num in example | Change | Section 4.10.1 |
LRM-77 | SV-EC | 7.5 | Change !=== to !== | Change | Section 7.5 |
LRM-78 | SV-EC | 7.9 | <= missing from precendence table | Change | Section 7.9 |
LRM-79 | SV-EC | 9.6 | Change example of return in function to return in task | Change | Section 9.6 |
LRM-80 | SV-EC | 10.2 | Add ref to list of directions for tasks | Change | Section 10.2 |
LRM-81 | SV-EC | 10.3 | Add ref to list of directions for functions | Change | Section 10.3 |
LRM-82 | SV-EC | 4.3 | Remove int from comment in example | Change | Section 4.3 |
LRM-83 | SV-EC | 9.6 | Remove redundant description in Table 9-1 for fork…join | Change | Section 9.6 |
LRM-84 | SV-EC | A.2.7 | Add const to BNF for tf_ref_declaration | Change | Section A.2.7 |
LRM-85 | SV-EC | G | Remove discussion of process keyword from Glossary | Change | Section G |
LRM-86 | SV-EC | 13.4 | Clarify run-time check support for parameterized mailboxes | Change | Section 13.4 |
LRM-87 | SV-EC | 8.10 | Move description of Nonblocking event trigger to 13.5.2 (creating new section and renumbering existing 13.5.2) | Change | Section 8.10 |
LRM-88 | SV-EC | C.4 | Add note on iterator to clarify what happens on methods | Change | Section C.4 |
LRM-89 | SV-BC | 4.2 | Missing text from SV-BC62 | Change | Section 4.2 |
LRM-90 | SV-EC | 16.1 | Rewording from Karen's review of chapter 16 | Change | Section 16.1 |
LRM-91 | SV-EC | 16.2 | module needs to be bold in example (from Karen's review of chapter 16) | Change | Section 16.2 |
LRM-92 | SV-EC | 16.2 | Change UPD to UDP in text after example (from Karen's review of chapter 16) | Change | Section 16.2 |
LRM-93 | SV-EC | 16.6 | Make $stop bold (from Karen's review of chapter 16) | Change | Section 16.6 |
LRM-94 | SV-EC | 12.1 | hyphenate object oriented (from Brad's review of Chapter 12) | Change | Section 12.1 |
LRM-95 | SV-EC | 12.2 | Correct binary literal (from Brad's review of Chapter 12) | Change | Section 12.2 |
LRM-96 | SV-EC | 12.2 | Correct endfunction and endtask (from Brad's review of Chapter 12) | Change | Section 12.2 |
LRM_97 | SV-EC | 12.4.4 | italicize expression (from Brad's review of Chapter 12) | Change | Section 12.4.4 |
LRM-98 | SV-EC | 12.4.8 | Clarify legal value (from Brad's review of Chapter 12) | Change | Section 12.4.8 |
LRM_99 | SV-EC | 12.4.8 | Reword sentence (from Brad's review of Chapter 12) | Change | Section 12.4.8 |
LRM-100 | SV-EC | 12.5.3 | Add comma (from Brad's review of Chapter 12) | Change | Section 12.5.3 |
LRM-101 | SV-EC | 12.9 | Change system task to built-in method (from Brad's review of Chapter 12) | Change | Section 12.9 |
LRM-102 | SV-EC | 12.10.1 | Clarify random number sequence (from Brad's review of Chapter 12) | Change | Section 12.10.1 |
LRM-103 | SV-EC | 12.11.1 | italicize hierarchical seeding (from Brad's review of Chapter 12) | Change | Section 12.11.1 |
LRM-104 | SV-EC | 12.11.2 | Reword sentence (from Brad's review of Chapter 12) | Change | Section 12.11.2 |
LRM-105 | SV-EC | 12.12 | italicize hierarchical object seeding (from Brad's review of Chapter 12) | Change | Section 12.12 |
LRM-106 | SV-EC | 12.2 12.4.6 15.2 | Bi-directional to bidirectional (from Brad's review of Chapter 12) | Change | Section 12.2 |
Section 12.4.6 | |||||
Section 15.2 | |||||
LRM-107 | SV-EC | 12.4.7 12.11.1 | sub-tree to subtree (from Brad's review of Chapter 12) | Change | Section 12.4.7 |
Section 12.11.1 | |||||
LRM-108 | SV-BC | 3.12 | Correction of SV-BC8-7 from Dave Rich | Change | Section 3.12 |
LRM-109 | SV-BC | 8.11 | Remove Section based on SV-BC85 from Dave Rich | Change | Section 8.11 |
LRM-110 | SV-AC | Acknowledgements | Misspelled name from Connie O'Dell | Change | Section Ack |
LRM-111 | SV-AC | 3.7 | Grammar correction from Connie O'Dell | Change | Section 3.7 |
LRM-112 | SV-AC | 7.1 7.3 | Spelling of incrementor and decrementor from Connie O'Dell | Change | Section 7.1 Section 7.3 |
LRM-113 | SV-AC | 17.6 | Spelling of nedgedge from Connie O'Dell | Change | Section 17.6 |
LRM-114 | SV-EC | 3.11.3 | 3.11.3 says "SystemVerilog enumerated types are strongly typed, thus, a variable of type enum cannot be assigned a value that lies outside the enumeration set" but that isn't true -- a cast or union must be used but it's legal to do such an assignment. I think the use of the phrase "strongly typed" is misleading. | Change | Section 3.11.3 |
LRM-115 | SV-EC | 3.11.4 | Wrong placement of "Methods for iterating over enumerated types" section heading -- it's in the middle of section 3.11.4, instead of at the end, and doesn't introduce a new section -- it should introduce the next 3.11.x section. | Change | Section 3.11.4 |
LRM-116 | SV-EC | 3.11.3 | 3.11.3 says "Casting is discussed in Sections 3.14 and 3.15." but casting is also discussed in the section immediately following, 3.11.4. | Change | Section 3.11.3 |
LRM-117 | SV-EC | 3.11.4 | 3.11.4 discusses static casts but not dynamic casts. It says casts to enums are not checked, but that is only true of static casts. | Change | Section 3.11.4 |
LRM-118 | SV-BC | 8.1 | Font change found by Dennis's review of Chapter 8 | Change | Section 8.1 |
LRM-119 | SV-BC | 8.3 | Grammar correction from Dennis's review of Chapter 8 | Change | Section 8.3 |
LRM-120 | SV-BC | 8.3 | Change intro to example to a note from Dennis's revoew of Chapter 8 | Change | Section 8.3 |
LRM-121 | SV-BC | 8.8 | Reword sentence (from Dennis's review of Chapter 8) | Change | Section 8.8 |
LRM-122 | SV-BC | 8.11 | Remove editor's note (from Dennis's review of Chapter 8) | Change | Section 8.11 |
LRM-123 | SV-BC | 8.2 | Reword based on Dennis's review of Chapter 8 | Change | Section 8.2 |
LRM-124 | SV-AC | 17.7.1 | Remove redundant word from Connie O'Dell's review | Change | Section 17.7.1 |
LRM-125 | SV-AC | 17.7.3 | Replace rxpressions with expressions per Connie O'Dell's review | Change | Section 17.7.3 |
LRM-126 | SV-AC | 17.10 | Fix spelling per Connie O'Dell's review | Change | Section 7.10 |
LRM-127 | SV-EC | 11.14 | Change the variable type and description based on Editorial review | Change | Section 11.14 |
LRM-128 | SV-EC | Index | Add $exit, $urandom, $urandom_mode, and $srandom to index per Editorial review | Change | Index |
LRM-129 | SV-EC | 11.20 | Replace -> with . for class example per Editorial review | Change | Section 11.20 |
LRM-130 | SV-EC | 12.4.7 | Correct cross reference to 12.7.1 per Editorial review | Change | Section 12.4.7 |
LRM-131 | SV-EC | 12.5.3 | Add reference to $srandom definition where used per Editorial review | Change | Section 12.5.3 |
LRM-132 | SV-EC | 12.5.2 | Clarification of use of super in if example per Editorial review | Change | Section 12.5.2 |
LRM-133 | SV-EC | 13.3.3 13.3.4 | Clarify singular per Editorial review | Change | Section 13.3.3 Section 13.3.4 |
LRM-134 | SV-EC | 13.3.5 13.3.6 13.3.7 13.3.8 | Change l-value to left-hand side expression per Editorial review | Change | Section 13.3.5 Section 13.3.6 Section 13.3.7 Section 13.3.8 |
LRM-135 | SV-EC | 15.7 | Replace module with test for example per Editorial review | Change | Section 15.7 |
LRM-136 | SV-EC | 15.2 | Replace read-only-synchronize with postponed region per Editorial review | Change | Section 15.2 |
LRM-137 | SV-EC | 15.14 | Reword example to remove confusion with sampling per Editorial review | Change | Section 15.14 |
LRM-138 | SV-EC | 4.2 | Clarify short hand notation based on comments from Stefen | Change | Section 4.2 |
LRM-139 | SV-BC | 19.4 | Correct example for interface | Change | Section 19.4 |
LRM-140 | SV-EC | 10.5.1 10.5.2 | Fixed illegal packed array specification found by Arturo | Change | Section 10.5.1 Section 10.5.2 |
LRM-141 | SV-BC | A.8.1 A.8.4 | Changed BNF of concatenation, constant_concatenation, primary, and constant_primary per Dave Rich | Change | Section A.8.1 Section A.8.4 |
LRM-142 | SV-EC | 3.8 | Missing . between Verilog and However in third paragraph from Neil's review | Change | Section 3.8 |
LRM-143 | SV-EC | 3.8 | Clarify use of operand and string in concatenation semantics of Table 3-2 from Neil's review | Change | Section 3.8 |
LRM-144 | SV-EC | 3.11 | Grammer error found from Neil's review | Change | Section 3.11 |
LRM-145 | SV-EC | 3.11.4.2 | Grammer error found from Neil's review | Change | Section 3.11.4.2 |
LRM-146 | SV-EC | 3.11.4.3 3.11.4.4 3.11.4.6 | Replace function with member per Neil's review | Change | Section 3.11.4.3 Section 3.11.4.4 Section 3.11.4.6 |
LRM-147 | SV-EC | 4.2 | Replace scalar (non-unpacked-array type) with singular per Neil's review | Change | Section 4.2 |
LRM-148 | SV-EC | 10.5.3 | Formatting of examples inconsistent per Neil's review | Change | Section 10.5.3 |
LRM-149 | SV-EC | 10.5.4 | Remove blank lines in example per Neil's review | Change | Section 10.5.4 |
LRM-150 | SV-EC | 12.4.7 | Grammer error found from Neil's review | Change | Section 12.4.7 |
LRM-151 | SV-EC | 13.2 | Extend EC-CH107 to try_get per Neil's review | Change | Section 13.2 |
LRM-152 | SV-AC | 17.3 | Page 162, paragraph 2-3 (including the example) This section is discussing methodology and not language constructs. | No Change | No Change |
I suggest that this be removed. | |||||
Starting with "If the severity..." and ending with ".. assert failed at | |||||
time 10". | |||||
LRM-153 | SV-AC | 17.4 | Page 162, section 17.4, 3rd paragraph | Change | Fixed in SV-AC submission |
"The timing model employed in concurrent..." | |||||
"The timing model employed in a concurrent..." <--- correction | |||||
LRM-154 | SV-AC | 17.4 | Page 163, 3d paragraph | Change | Fixed in SV-AC submission |
"The two words "clock tick" and "sampling event" are used..." | |||||
"The two phrases "clock tick" and "sampling event" are used..." <-- corrected | |||||
LRM-155 | SV-AC | 17.5 | Page 166, paragraph after second example | No Change | |
"...first subsequent tick and req will be false on the next tick..." | |||||
"...first subsequent clock tick and req will be false on the next clock | |||||
tick..." <-- corrected | |||||
LRM-156 | SV-AC | 17.5 | Page 167, 2nd paragraph | Change | Fixed in SV-AC submission |
"After signal c, the signal length..." | |||||
"After signal c, the sequence length..." <-- correction | |||||
LRM-157 | SV-AC | 17.5 | Page
167, 2nd paragraph "...when complex sequences constructed by..." "...when complex sequences are constructed by..." <--- corrected |
Change | Fixed in SV-AC submission |
"...when complex sequences constructed by..." | |||||
"...when complex sequences are constructed by..." <--- corrected | |||||
LRM-158 | SV-AC | 17.6 | Sequences can be reused by declaring them as objects of type sequence with optional parameters: | Change | Fixed in SV-AC submission |
LRM-159 | SV-AC | 17.6 | Page
167, section 17.6, 1st paragraph sequence should be bold. |
Change | Fixed in Draft 5 |
sequence should be bold. | |||||
LRM-160 | SV-AC | 17.7.3 | Page 174, section 17.7.3 | Change | Fixed in SV-AC submission |
1st paragraph under figure 17-5 | |||||
"...the expression succeeds..." <--- which expression? (te1 and te2?) | |||||
LRM-161 | SV-AC | 17.7.3 | Page 174, last paragraph | Change | Fixed in SV-AC submission |
"The expression matches at clock tick 1,3 and 8..." | |||||
"The expression matches at clock tick 1,3,8 and 14..." <-- corrected | |||||
LRM-162 | SV-AC | 17.7.5 | Page 177, 2nd paragraph | Change | Fixed in SV-AC submission |
"...sequence is associated with time range..." | |||||
"...sequence is associated with a time range..." <---- corrected | |||||
LRM-163 | SV-AC | 17.7.10 | Page 183, section 17.7.10, 2nd example | Change | Fixed in SV-AC submission |
data_end1 |-> ##[1:2] | |||||
data_end |-> ##[1:2] <--- corrected | |||||
LRM-164 | SV-AC | 17.10 | Page 188, section 17.10, last paragraph | Change | Fixed in SV-AC submission |
"A property declaration is parameterized, like..." | |||||
"A property declaration can have arguments, like..." <--- correction | |||||
LRM-165 | SV-AC | 17.14 | Page 199, section 17.14 | Change | Fixed in SV-AC submission |
This whole section on templates hasn't been carefully worked out. | |||||
The ASWG (assertion syntax working group) tried to clean it up but didn't | |||||
have time to do it justice. We came to the conclusion that we simply | |||||
didn't have time to deal with it and kicked it back to the SVAC. | |||||
Should this be taken out of 3.1 and put on the wish list for 3.2? | |||||
LRM-166 | SV-AC | B | Add endsequence and endproperty to Annex B per Neil's review | Change | Section B |
LRM-167 | SV-BC | 10.2 | Change reg to logic per Neil's review and Dave Rich's input | Change | Section 10.2 |
LRM-168 | SV-EC | A.2.6 A.2.7 | Change handle to chandle per Stefen Boyd | Change | Section A.2.6 Section A.2.7 |
LRM-169 | SV-EC | A.2.7 | Add the "tf_" to the data_type in tf_ref_declaration per Stefen Boyd | Change | Section A.2.7 |
LRM-170 | SV-EC | A.8.4 A.Notes | Super is not defined in the BNF | Change | Section A.8.4 Section A.Notes |
LRM-171 | SV-EC | A.1.5 A.1.6 A.6.2 | Final is not defined in the BNF | Change | Section A.1.5 Section A.1.6 Section A.6.2 |
LRM-172 | SV-EC | A.1.8 | local is not defined in the BNF replace private | Change | Section A.1.8 |
LRM-173 | SV-EC | A.8.4 A.Notes | this is not defined in the BNF | Change | Section A.8.4 Section A.Notes |
LRM-174 | SV-BC | 12.4.6 | Handle dangling else for if else constraints per Dan Jacobi's review | Change | Section 12.4.6 |
LRM-175 | SV-BC | A.6.8 | DJ-AA-13. BNF for more than one initial statement and more than one-step assignment with in a for loop is missing. Currently the BNF for the following for loop statement is missing: | Change | Section A.6.8 |
for (a=1,b=2 ; a<10 & b<200 ; a=a+1,b=b*2) … | |||||
LRM-176 | SV-AC | A.6.3 | DJ-AA-14. Under A.6.3 the following production is problematic | Change | Section A.6.3 |
action_block ::= [ statement ] [ else statement ] ; | |||||
The following assertion statement can be interpreted in more than one way: | |||||
assert (cond) if (cond2) a = 1; else a = 2;; | |||||
One-way to parse this statement - If the assertion succeeds (cond == true) evaluate the if-else conditional statement. | |||||
The other way to parse this statement is – If the assertion succeeds (cond == true) and if cond2 is true than assign ‘a’ with the value 1. If the assertion fails then assign ‘a’ with the value 2. | |||||
Some language needs to be added chapter 17 that deals with this case and with more complicated cases such as nested assertion and nested conditional if-else statements and the nesting of assertions in if-else statements and vise-versa for example how should the following RTL be parsed “ | |||||
always | |||||
if (c1) assert (c2); else assert(c3); else if (c4) a =1; else a = 2;; else a=3;;;;;;;; | |||||
LRM-177 | SV-AC | A.2.10 | DJ-AA-15. Under A.2.10 the following production has a loop: | Change | Fixed in SV-AC submission |
sequence_expr ::= | |||||
[ cycle_delay_range ] sequence_expr { cycle_delay_range sequence_expr } | |||||
… | |||||
The token sequence_expr can parse itself I would recommend the following change to the begging of the sequence_expr production | |||||
sequence_expr ::= | |||||
[ cycle_delay_range ] sequence_expr { cycle_delay_range sequence_expr } | |||||
cycle_delay_range sequence_expr { cycle_delay_range sequence_expr } | |||||
| sequence_expr cycle_delay_range sequence_expr | |||||
{ cycle_delay_range sequence_expr } Stefen responds: not clear what is being requested. The suggested change doesn't seem to make the production work any better. | |||||
LRM-178 | SV-AC | A.2.10 | Change sequence_expr production (making parens bold) per Dan Jacobi | Change | Section A.2.10 |
LRM-179 | SV-AC | A.2.10 | DJ-AA-17. Precedence for the operators added by the sequence_expr production under A.2.10 should be added to section. The precedence for the and, intersect, or, first_match, throughout, and within operators is not defined. | Change | Fixed in SV-AC submission |
The following sequence expression : | |||||
d1 intersect d2 within d2 | |||||
Can be parsed in two ways: | |||||
(d1 intersect d2) within d2 | |||||
d1 intersect (d2 within d2) Stefen responds: This is not a bnf issue. AC needs to update LRM to | |||||
indicate operator precedence | |||||
LRM-180 | SV-AC | A.2.10 | DJ-AA-18. Under A.2.10 the production sequence_expr causes a problem when adding a prentices around an expression that relates from the primary production. | No Change | |
In the following example: | |||||
d1 within (d2 & d3) | |||||
The prentices may be parsed using the primary production | |||||
(primary :: = ( mintypmax_expression ) ) or using the sequence_expr production (sequence_expr ::= ( sequence_expr ) [ sequence_abbrev ] ) Stefen Responds: expression leads to primary which can be ( mintypmax_expression ) | |||||
which is where confusion lies... I don't have any suggestions. | |||||
LRM-181 | SV-AC | A.2.10 | DJ-AA-19. Under A.2.10 replace the name of the token const_range_expression to sequence_const_range_expression. The original name causes confusion with the constant_range_expression token. | Change | Section A.2.10 |
LRM-182 | SV-BC | B | Remove longreal per Shalom Bresticker | Change | Section B |
LRM-183 | SV-BC | 9.1 | Reword per Matt Maidment | Change | Section 9.1 |
LRM-184 | SV-BC | 9.1 | Remove comma per Matt Maidment | Change | Section 9.1 |
LRM-185 | SV-BC | 9.2 9.3 9.4 | Titles are confusing change per Matt Maidment | Change | Section 9.2 Section 9.3 Section 9.4 |
LRM-186 | SV-BC | 9.6 | Reword purpose of fork...join to be consistent with 1364-2001 per Matt Maidment | Change | Section 9.6 |
LRM-187 | SV-BC | 9.6 | Reword SystemVerilog addition per Matt Maidment | Change | Section 9.6 |
LRM-188 | SV-BC | 9.6 | Remove redundant word and grammer fix per Matt Maidment | Change | Section 9.6 |
LRM-189 | SV-BC | 9.7 9.8.2 | Grammer fix per Matt Maidment | Change | Section 9.7 Section 9.8.2 |
LRM-190 | SV-EC | 3.8 | Remove paragraph that contains redundant info per Neil Korpusik | Change | Section 3.8 |
LRM-191 | SV-EC | 10.5.2 | Fix example per Arturo | Change | Section 10.5.2 |
LRM-192 | SV-EC | 11.13 | Change property to member in description of Super per Arturo | Change | Section 11.13 |
LRM-193 | SV-EC | 11.19 | Add comments to example per Arturo | Change | Section 11.19 |
LRM-194 | SV-EC | 15.11 | Move clocking domain into module in example per Arturo | Change | Section 15.11 |
LRM-195 | SV-EC | 15.12 15.13 | Swap 15.12 and 15.13 per Arturo | Change | Section 15.12 Section 15.13 |
LRM-196 | SV-EC | 19.5.2 | Fix example per Arturo | Change | Section 19.5.2 |
LRM-197 | SV-EC | 3.11 | Fix example per Arturo | Change | Section 3.11 |
LRM-198 | SV-EC | 5.7 | Fix example per Arturo | Change | Section 5.7 |
LRM-199 | SV-EC | A.1.7 | Continuous assignment missing in list of program items | Change | Section A.1.7 |
LRM-200 | SV-BC | 18.5 19.2.1 19.2.2 19.4 19.4.1 19.4.2 19.4.3 19.5.2 19.5.3 19.5.4 19.6 | SV-BC-18fg makes it illegal to use a variable on an inout port. Instead, they must use a ref port. I found a number of examples that need to be updated. | Change | Section 18.5 |
Section 19.2.2 Section 19.4 Section 19.4.1 Section 19.4.2 Section 19.4.3 Section 19.5.2 Section 19.5.3 Section 19.5.3 Section 19.5.4 Section 19.6 | |||||
LRM-201 | SV-EC | 11.1 | The notion of framework is kind of foreign to Verilog. Why not replacing this with: SystemVerilog introduces an object-oriented class type system. since classes are just a new type. Other grammer errors and clarification per Francoise's review. | Change | Section 11.1 |
LRM-202 | SV-EC | 11.3 | Define the term subroutine in the Verilog context per Francoise's review | Change | Section 11.3 |
LRM-203 | SV-EC | 11.3 | The data and methods portions should be delimited. Sometimes the comment is on the first line, sometimes it is below. Based on Francoise's review. | Change | Section 11.3 |
LRM-204 | SV-EC | 11.4 | Reword the introduction to object handles per Francoise's review. | Change | Section 11.4 |
LRM-205 | SV-EC | 11.4 | Move the last row to the front of the table in Table 11-2 per Francoise's review. | Change | Section 11.4 |
LRM-206 | SV-EC | 11.7 | Misuse of the term task per Francoise's review. | Change | Section 11.7 |
LRM-207 | SV-EC | 11.7 | Clarify use of subroutine calling conventions per Francoise's review. | Change | Section 11.7 |
LRM-208 | SV-EC | 11.8.1 | Raise in level per Francoise's review. | Change | Section 11.8.1 |
LRM-209 | SV-EC | 11.9 | Enhance definition of this per Francoise's review. | Change | Section 11.9 |
LRM-210 | SV-EC | 11.13 | Clarify use of super to members per Francoise's review. | Change | Section 11.13 |
LRM-211 | SV-EC | 11.13 | Define derived class and parent class per Francoise's review. | Change | Section 11.13 |
LRM-212 | SV-EC | 11.15 | Clarify new handling per Francoise's review. | Change | Section 11.15 |
LRM-213 | SV-EC | 11.16 | Reword default public status per Francoise's review. | Change | Section 11.16 |
LRM-214 | SV-EC | 11.17 | Change case per Francoise's review. | Change | Section 11.17 |
LRM-215 | SV-EC | A.1.8 | Make sure that static int size=0; is supported in a class in the BNF per Francoise's review. | Change | Section A.1.8 |
LRM-216 | SV-EC | A.1.8 A.2.6 A.2.7 | Make sure that static task foo
and task static foo are supported in a class in the BNF per Francoise's
review RESPONSE: The draft-5 BNF does support both forms of static for class methods: static task foo(…) // method lifetime task static foo(…) // arguments and data lifetime. |
Change | Section A.1.8 Section A.2.6 Section A.2.7 |
LRM-217 | SV-EC | 11.18 | Fix font problem per Francoise's review | Change | Section 11.18 |
LRM-218 | SV-EC | 11.19 | Clarify polymorphic description per Francoise's review | Change | Section 11.19 |
LRM-219 | SV-EC | 11.21 | Replace attributes with hiding encapsulation qualifiers per Francoise's review | Change | Section 11.21 |
LRM-220 | SV-EC | 11.24 | Replace framework with type system per Francoise's review | Change | Section 11.24 |
LRM-221 | SV-EC | 12.1 | Replace framework with type system per Francoise's review | Change | Section 12.1 |
LRM-222 | SV-EC | 12.2 | Remove duplicate sentence per Francoise's review | Change | Section 12.2 |
LRM-223 | SV-EC | 12.3 | Remove such as from description per Francoise's review | Change | Section 12.3 |
LRM-224 | SV-EC | 12.4.4 | Clarify sentence per Francoise's review | Change | Section 12.4.4 |
LRM-225 | SV-EC | 12.7 | The function form of $rand_mode() only accepts scalar singular variables, thus, if the specified variable is an array, a single element must be selected via its index. But singular variables include packed arrays. Per Francoise review | Change | Section 12.7 |
LRM-226 | SV-EC | 12.6 | Replace parameter with arguments per Francoise's review | Change | Section 12.6 |
LRM-227 | SV-EC | 12.11 | Change stream to sequence per Francoise's review | Change | Section 12.11 |
LRM-228 | SV-EC | 12.11.3 12.12 | Remove void function from examples | Change | Section 12.11.3 Section 12.12 |
LRM-229 | SV-EC | 5.4 | Add table for default values for types per Bradford's review. | Change | Section 5.4 |
LRM-230 | SV-EC | 11.10 | Correct comment in example per Bradford's review. | Change | Section 11.10 |
LRM-231 | SV-EC | 12.4.3 | Clarify range handling in inside per Bradford's review. | Change | Section 12.4.3 |
LRM-232 | SV-EC | 12.4.8 | Fix typo in range per Bradford's review. | Change | Section 12.4.8 |
LRM-233 | SV-EC | 13.2 | Add Semaphore example per Bradford's review. | Change | Section 13.2 |
LRM-234 | SV-EC | 13.3 | Add Mailbox example per Bradford's review. | Change | Section 13.3 |
LRM-235 | SV-EC | 19.4.3 | Fix bold on example per Bradford's review. | Change | Section 19.4.3 |
LRM-236 | SV-EC | 19.5.2 | Fix bold on example per Bradford's review. | Change | Section 19.5.2 |
LRM-237 | SV-EC | 1 11.25 12.11 13.1 15.1 15.8 16.2 | Replace test-bench with testbench per Cliff's review | Change | Section 1 |
Section 11.25 | |||||
Section 12.11 | |||||
Section 13.1 | |||||
Section 15.1 Section 15.8 | |||||
Section 16.2 | |||||
LRM-238 | SV-EC | 13.1 | Fix grammar per Cliff's review | Change | Section 13.1 |
LRM-239 | SV-EC | 13.2.1 | Change key_count to keyCount in description per Cliff's review | Change | Section 13.2.1 |
LRM-240 | SV-EC | 14.2 | Clean up wording per Cliff's review | Change | Section 14.2 |
LRM-241 | SV-EC | 14.3 | Add cross reference per Cliff's review | Change | Section 14.3 |
LRM-242 | SV-EC | 15.4 | Add cross reference per Cliff's review | Change | Section 15.4 |
LRM-243 | SV-EC | 15.14.2 | Fix hyphenation per Cliff's review | Change | Section 15.14.2 |
LRM-244 | SV-EC | 15.7 | Fix plurality per Cliff's review | Change | Section 15.7 |
LRM-245 | SV-EC | 15.7 | Correct examples per Cliff's review | Change | Section 15.7 |
LRM-246 | SV-EC | 15.8 | Correct examples per Cliff's review | Change | Section 15.8 |
LRM-247 | SV-EC | 15.11 | Remove other per Cliff's review | Change | Section 15.11 |
LRM-248 | SV-EC | 15.14.2 | Spelling fix per Cliff's review | Change | Section 15.14.2 |
LRM-249 | SV-EC | 18.6 | Remove incorrect word per Cliff's review | Change | Section 18.6 |
LRM-250 | SV-EC | C.4.2 | Grammar correction per Neil's review | Change | Section C.4.2 |
LRM-251 | SV-EC | C.4.3 C.5.6 C.5.10 C.5.11 | Fix bold on methods per Neil's review | Change | Section C.4.3 Section C.5.6 Section C.5.10 Section C.5.11 |
LRM-252 | SV-AC | 18.2 A.1.5 A.2.10 A.6.3 A.6.4 A.6.10 A.6.11 A.9.3 B | Changes from AC committee to BNF | Change | Section 18.2 |
Section A.1.5 Section 2.10 Section A.6.3 Section A.6.4 Section A.6.10 Section A.6.11 Section A.9.3 | |||||
Section B | |||||
LRM-253 | SV-BC | 15.12 | Typo in clock-domain from Cliff's review | Change | Section 15.12 |
LRM-254 | SV-BC | 9.1 9.7 | Remove references to test-and-set per Arturo and Dave Rich | Change | Section 9.1 Section 9.7 |
LRM-255 | SV-CC | 26.1.2 | Included change based on request from Joao and Arturo | Change | Section 26.1.2 |
LRM-256 | SV-EC | 3.3.1 | Correction to integral type definition from Arturo | Change | Section 3.3.1 |
LRM-257 | SV-EC | 12.4.8 | Change integral singular to integral per Arturo | Change | Section 12.4.8 |