These are available at eda.org. Chuck Swart -------------BEGINNING OF IR---------------- VHDL Issue Number: 2077 Language_Version: VHDL-2002 Classification: LRM Terminology, Grammar and Typographical Errors Summary: Incorrect wording on some language constructs Relevant_LRM_Sections: 3.3, 3.5.1, perhaps others Related_Issues: 2029, 2061 Key_Words_and_Phrases: Authors_Name: Chuck Swart Authors_Phone_Number: 503.685.0846 Authors_Fax_Number: 503.685.0921 Authors_Email_Address: cswart@model.com Authors_Affiliation: Model Technology Authors_Address1: 8005 SW Boeckman Road Authors_Address2: Wilsonville, OR 97070 Authors_Address3: Current Status: Analyzed Superseded By: ------------------------ Date Submitted: 15 November 2005 Date Analyzed: 01 March 2006 Author of Analysis: Larry Soule Revision Number: 1 Date Last Revised: 01 March 2006 Description of Problem --------------------- (Submitted from comments by Alex Zamfirescu) In several places the LRM wording is inaccurate. Here are several examples: Section 3.3 "The designated type must not be a file type or a protected type; moreover it must not have a subelement that is a file type or a protected type." This should be: "...it must not have a subelement that is <of> a file type or a protected type." Section 3.5.1 "... moreover, they must not have a subelement that is an access type or a file type." This should be: "... moreover, they must not have a subelement that is <of> an access type or a file type." Also, "... moreover, it must not have a subelement that is an access type or a file type." This should be: "... moreover, it must not have a subelement that is <of> an access type or a file type." Section 4.3.1.1 "Such formal parameters must not be of an access type or a file type; moreover, they must not have a subelement that is an access type. Additionally, in the case of a function subprogram, the return type of the function must not be of an access type or a file type; moreover, it must not have a subelement that is an access type." This should be: "Such formal parameters must not be of an access type or a file type; moreover, they must not have a subelement that is <of> an access type. Additionally, in the case of a function subprogram, the return type of the function must not be of an access type or a file type; moreover, it must not have a subelement that is <of> an access type." Section 4.3.1.2 "It is an error if a signal declaration declares a signal that is of a file type, a protected type, or a composite type having a subelement that is a file type, an access type, or a protected type." This should be "It is an error if a signal declaration declares a signal that is of a file type, a protected type, or a composite type having a subelement that is <of> a file type, an access type, or a protected type." Section 4.4 "It is an error if the type mark denotes an access type, a file type, a protected type, or a composite type with a subelement that is an access type, a file type, or a protected type." This should be "It is an error if the type mark denotes an access type, a file type, a protected type, or a composite type with a subelement that is <of> an access type, a file type, or a protected type." Similar changes are needed to incorporate IR2029 Section 8.2 "Evaluation of an assertion statement consists of evaluation of the Boolean expression..." This should be "Execution of an assertion statement consists of evaluation of the Boolean expression..." Section 8.3 "The evaluation of a report statement consists of the evaluation of the report expression..." This should be "The execution of a report statement consists of the evaluation of the report expression..." Proposed Resolution ------------------- Update the language as above and as outlined in the Analysis below. VASG-ISAC Analysis & Rationale ------------------------------ Searching for "subelement that is a" yields: 4.3.1.1 It is an error if a constant declaration declares a constant that is of a file type, an access type, a protected type, or a composite type that has a subelement that is a file type, an access type, or a protected type. Should be It is an error if a constant declaration declares a constant that is of a file type, an access type, a protected type, or a composite type that has a subelement that is <of> a file type, an access type, or a protected type. 4.3.2 For an interface constant declaration or an interface signal declaration, the subtype indication must define a subtype that is neither a file type, an access type, nor a protected type. Moreover, the subtype indication must not denote a composite type with a subelement that is a file type, an access type, or a protected type. Should be For an interface constant declaration or an interface signal declaration, the subtype indication must define a subtype that is neither a file type, an access type, nor a protected type. Moreover, the subtype indication must not denote a composite type with a subelement that is <of> a file type, an access type, or a protected type. Section 8.4 3 - For a signal assignment whose target is in the form of an aggregate, it is an error if any element of the target is of a protected type; moreover, it is an error if the type of any element of the target has a subelement that is a protected type. Should be ... moreover, it is an error if the type of any element of the target has a subelement that is <of> a protected type. Section 8.5 The same footnote #3 is in section 8.5 as in 8.4 above. I did not find any other occurrences of "evaluation of ... statement" VASG-ISAC Recommendation for IEEE Std 1076-2002 ----------------------------------------------- No change VASG-ISAC Recommendation for Future Revisions --------------------------------------------- Update the language as described by the submitter and in the Analysis section. -------------END OF IR---------------- Revised 02 March 2006 Number Status Responsible Description Notes Active IRs 2038 Submitted Ajay Minor semantic errors 2054 Analyzed Larry Individual assoc. rules for array formal are not valid 2074 Analyzed Chuck & Ajay Problem with direct/select visibility in formal part 2075 Analyzed Ajay Arrays with numeric and enumeration index types are not closely related 2077 Analyzed Larry Incorrect wording on some language constructs 2079 Analyzed Chuck Is TIME a locally static type? 2080 Analyzed Chuck Case expression should include parenthesized expression 2081 Analyzed Chuck The term ancestor is used where parent is meant 2082 Submitted Chuck Elaboration of unconstrained interface objects 2083 Submitted Chuck Generate index specification should be of same subtype as generate parameter 2084 Analyzed Peter A record "element" is not called a "field" 2085 Submitted What happens when a parameter of mode out is not assigned in a procedure? 2086 Submitted Incorrect description of type mark in disconnection specification 2087 Submitted Ambiguous rule for type of an alias declaration Resolved IRs 1044 VASG-Approved Definition of 'HIGH and 'LOW in a null range 2000 VASG-Approved Where may/must deferred constant declaration appear 2001 VASG-Approved Resize not working in numeric_std.vhd (1076.3 2002 VASG-Approved Resize(R.2) function in numeric_std.vhd does improper array length check 2003 Forwarded Specification of multi-cycle paths 2004 VASG-Approved Definition of SLA doesn't make sense 2005 Duplicate sla operator behavior does not match typical hardware behavior 2006 Forwarded "else" in "if generate"? 2007 Forwarded VHDL needs to be enhanced to allow the modeling of switches. 2008 VASG-Approved Source value of undriven, non-sourced INOUT, OUT or BUFFER port 2009 Forwarded New std package, containing compiler and target identification information 2010 VASG-Approved The description of type/subtype relationship could be better 2011 Forwarded A package body should be able to consist of several files 2012 Forwarded VHDL lacks inherent statements to describe the most basic hardware design equations 2013 VASG-Approved Exact subtype "matching" for port associations 2014 Forwarded Allowance of the keyword "all" in place of a sensitivity list is desirable 2015 Forwarded Generics should be able to incorporate other generics 2016 Duplicate Allowance of the keyword "all" in place of a sensitivity list is desirable 2017 Duplicate Generics should be able to incorporate other generics 2018 VASG-Approved Variable IN parameter should be no different than constant 2019 Forwarded Reading outputs from within architecture 2020 VASG-Approved Keyword REPORT is over-used 2021 Forwarded Dynamic hardware construct 2022 Forwarded Elements of constant composite to be locally static 2023 VASG-Approved Add predefined array types for integer, boolean, real and time 2024 Forwarded VHDL needs encryption support 2025 Forwarded "Generate" for sequential code 2026 Forwarded Upward propagating parameters 2027 Forwarded When loop index is static, drivers are created for each element of array 2028 VASG-Approved Clarify simulation cycle. 2029 VASG-Approved Non-relevant words and paragraph. 2030 VASG-Approved What signature does a method have 2031 VASG-Approved "mod" function needed for TIME 2032 VASG-Approved Function "now" is not pure 2033 Forwarded Incremental operator and auto subtype boundary wrap 2034 Forwarded Introduce history attribute on signals to auto infer registers 2035 Forwarded new function "stages" automates pipelining 2036 VASG-Approved protected_type_declarative_item includes subprogram_specification 2037 VASG-Approved Typo wrt now in the index 2039 VASG-Approved Minor typos 2040 VASG-Approved Problems with OTHERS in aggregates 2041 Forwarded Association of members is too restricted 2042 VASG-Approved Architecture as a block causes problems 2043 VASG-Approved Numeric VALUE attribute parameter can't have sign 2044 VASG-Approved Deprecation of linkage ports affects boundary scan description language 2045 VASG-Approved Add the ability to comment an entire block of code 2046 Forwarded Type independent ports and subprogram parameters 2047 VASG-Approved Backslash in extended identifiers 2048 VASG-Approved Miscellaneous errors 2049 VASG-Approved Circular definition of an event on a signal 2050 VASG-Approved Definition of S'Last_Value was apparently broken in 1993 2051 VASG-Approved Path_name and instance_name do not allow for protected types 2052 VASG-Approved Path_name and instance_name don't deal with operator symbols 2053 VASG-Approved Minor Typos in VHDL 2002 part 2 2055 VASG-Approved Prohibition on assignment of protected types not normative 2056 VASG-Approved Can an attribute name that denotes a function be used where a name is required? 2057 VASG-Approved Access-typed parameters to predefined "=" and "/=" 2058 VASG-Approved Does USE of type name make operators and literals visible? 2059 VASG-Approved Upper/lower case character mapping is not clear 2060 Forwarded Include truth table for multi-input/multi-output logic. 2061 VASG-Approved Default actions on severity flags is different between simulators 2062 ISAC-Approved Range staticness 2063 Forwarded Unconstrained array formals should not get subtype from actuals 2064 VASG-Approved Type conversion of unconstrained output in a port map 2065 Forwarded OTHERS in aggregates too restrictive 2066 Forwarded Multidimensional array in IEEE Std 1076.6-2004 2067 Forwarded Enhancement: Logical link interface abstraction 2068 VASG-Approved Entity instantiation with space before the entity name 2069 VASG-Approved Visibility of generics in block configurations 2070 ISAC-Approved Support for floating point denormal numbers 2071 VASG-Approved Indexed name in case expression 2072 Forwarded Allow static operations on "ranges" 2073 ISAC-Approved Index constraints and discrete range conversions from universal_integer 2076 Forwarded A member attribute for records 2078 ISAC-Approved Allow attribute declaration/specification in package bodyReceived on Thu Mar 2 16:53:40 2006
This archive was generated by hypermail 2.1.8 : Thu Mar 02 2006 - 16:53:55 PST