ISAC analyzed IR and updated activeIRs list

From: Chuck Swart <cswart_at_.....>
Date: Thu Mar 02 2006 - 16:53:32 PST
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 body
Received 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