| 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 litera | ||