[Top] [Prev] [Next] [Bottom]
CHAPTER 13 FIR Name Derived Class
Names generally refer to an explicitly or implicitly declared entity. The variety of name forms derived from the FIR_Name class is shown in Table 144 on page 201.
As represented in the FIR, a name may always be replaced by its referent. For example the name for a declaration may be replaced by the declaration itself. Translating from a names to its referent(s) is called lookup. Since the actual organization of declarator information is implementation-dependent, FIR provides no lookup data strucutes.
13.1 FIR_Name
13.1.1 Derived Class Description
The pre-defined FIR_Name class represents the general class of references to explicitly or implicitly declared named entities.
13.1.2 Properties
13.1.3 Predefined Data Elements
struct FIR_Name {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* name or identifier */
};
13.2 FIR_SelectedName
13.2.1 Derived Class Description
The predefined FIR_SelectedName class represents naming in which a prefix denotes a collection of entities and the suffix further specifies a subset of the collection.
13.2.2 Properties
13.2.3 Predefined Data Elements
struct FIR_SelectedName {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* name or identifier */
FIR_Ref suffix; /* name or identifier */
};
13.3 FIR_SelectedNameByAll
13.3.1 Derived Class Description
The predefined FIR_SelectedNameByAll class represents all of the individual items present in the collection denoted by the prefix.
13.3.2 Properties
13.3.3 Predefined Data Elements
struct FIR_SelectedNameByAll {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* name or identifier */
};
13.4 FIR_IndexedName
13.4.1 Derived Class Description
The predefined FIR_IndexedName denotes a single element of an array.
13.4.2 Properties
13.4.3 Predefined Data Elements
struct FIR_IndexedName {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* name or identifier */;
FIR_Ref suffix; /* index_expression;
};
13.5 FIR_SliceName
13.5.1 Derived Class Description
The predefined FIR_SliceName refers to zero or more elements of an array via a range.
13.5.2 Properties
13.5.3 Predefined Data Elements
struct FIR_SliceName {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* name or identifier */
FIR_Ref suffix; /* range_expression */
};
13.6 FIR_Attribute
13.6.1 Derived Class Description
The predefined FIR_Attribute class refers to a value, function or implicitly named entity.
13.6.2 Properties
13.6.3 Predefined Data Elements
struct FIR_Attribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* name, identifier or declarator */
};
13.7 FIR_UserAttribute
13.7.1 Derived Class Description
The predefined FIR_UserAttribute refers to a named value associated with an entity.
13.7.2 Properties
13.7.3 Predefined Data Elements
struct FIR_UserAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
FIR_Ref suffix; /* value */
};
13.8 FIR_BaseAttribute
13.8.1 Derived Class Description
The predefined FIR_BaseAttribute refers to the base type of the attribute's prefix.
13.8.2 Properties
13.8.3 Predefined Data Elements
struct FIR_BaseAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
};
13.9 FIR_LeftAttribute
13.9.1 Derived Class Description
The predefined FIR_LeftAttribute class represents the left bound of a scalar object or the left bound of the Nth dimension of an array object.
13.9.2 Properties
13.9.3 Predefined Data Elements
The dimension is only valid if prefix is an array.
struct FIR_LeftAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type or array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.10 FIR_RightAttribute
13.10.1 Derived Class Description
The predefined FIR_RightAttribute class represents the right bound of a scalar object or the right bound of the Nth dimension of an array object.
13.10.2 Properties
13.10.3 Predefined Data Elements
struct FIR_RightAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type or array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.11 FIR_LowAttribute
13.11.1 Derived Class Description
The FIR_LowAttribute predefined class represents the lower bound of an entity of scalar type (prefix).
13.11.2 Properties
13.11.3 Predefined Data Elements
struct FIR_LowAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type or array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.12 FIR_HighAttribute
13.12.1 Derived Class Description
The FIR_HighAttribute predefined class represents the higher bound of an entity of scalar type (prefix).
13.12.2 Properties
13.12.3 Predefined Data Elements
struct FIR_HighAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type or array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.13 FIR_AscendingAttribute
13.13.1 Derived Class Description
The predefined FIR_AscendingAttribute is true if the prefix is a scalar type or subtype having ascending range or the Nth dimension of an array object having the specified suffix.
13.13.2 Properties
13.13.3 Predefined Data Elements
struct FIR_AscendingAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type or array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.14 FIR_ImageAttribute
13.14.1 Derived Class Description
The predefined FIR_ImageAttribute class represents the printable form of its suffix having type specified by the prefix.
13.14.2 Properties
13.14.3 Predefined Data Elements
struct FIR_ImageAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* value */
};
13.15 FIR_ValueAttribute
13.15.1 Derived Class Description
The predefined FIR_ValueAttribute represents the value of the suffix interpreted via the type denoted by the prefix.
13.15.2 Properties
13.15.3 Predefined Data Elements
struct FIR_ValueAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* string_representation */
};
13.16 FIR_PosAttribute
13.16.1 Derived Class Description
The predefined FIR_PosAttribute represents the position number of the suffix interpreted in terms of a type (or subtype) denoted by the prefix.
13.16.2 Properties
13.16.3 Predefined Data Elements
struct FIR_PosAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* expression */
};
13.17 FIR_ValAttribute
13.17.1 Derived Class Description
The predefined FIR_ValAttribute represents the value, in terms of the type or subtype denoted by the prefix, of the suffix.
13.17.2 Properties
13.17.3 Predefined Data Elements
struct FIR_ValAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* integer expression */
};
13.18 FIR_SuccAttribute
13.18.1 Derived Class Description
The predefined FIR_SuccAttribute class represents the value which is one greater than the suffix when interpreted using the type or subtype denoted by the prefix.
13.18.2 Properties
13.18.3 Predefined Data Elements
struct FIR_SuccAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* expression */
};
13.19 FIR_PredAttribute
13.19.1 Derived Class Description
The predefined FIR_PredAttribute class represents the value which is one less than the suffix when interpreted using the type or subtype denoted by the prefix.
13.19.2 Properties
13.19.3 Predefined Data Elements
struct FIR_PredAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* expression */
};
13.20 FIR_LeftOfAttribute
13.20.1 Derived Class Description
The predefined FIR_LeftOfAttribute class represents the value which is to the left of the suffix when interpreted using the type or subtype denoted by the prefix.
13.20.2 Properties
13.20.3 Predefined Data Elements
struct FIR_LeftOfAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* expression */
};
13.21 FIR_RightOfAttribute
13.21.1 Derived Class Description
The predefined FIR_RightOfAttribute class represents the value which is to the right of the suffix when interpreted using the type or subtype denoted by the prefix.
13.21.2 Properties
13.21.3 Predefined Data Elements
struct FIR_RightOfAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* type */
FIR_Ref suffix; /* expression */
};
13.22 FIR_RangeAttribute
13.22.1 Derived Class Description
The predefined FIR_RangeAttribute represents the range of the Nth dimension (suffix) of the prefix (an array type, subtype or object).
13.22.2 Properties
13.22.3 Predefined Data Elements
struct FIR_RangeAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.23 FIR_ReverseRangeAttribute
13.23.1 Derived Class Description
The predefined FIR_ReverseRangeAttribute represents the reverse range of the Nth dimension (suffix) of the prefix (an array type, subtype or object).
13.23.2 Properties
13.23.3 Predefined Data Elements
struct FIR_ReverseRangeAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.24 FIR_LengthAttribute
13.24.1 Derived Class Description
The predefined FIR_LengthAttribute represents the number of elements present in the Nth dimension (suffix) of an array object, type or subtype denoted by the prefix.
13.24.2 Properties
13.24.3 Predefined Data Elements
struct FIR_LengthAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* array */
FIR_Ref suffix; /* dimension for array prefix */
};
13.25 FIR_DelayedAttribute
13.25.1 Derived Class Description
The predefined FIR_DelayedAttribute class represents the delayed form of a signal (prefix) where the suffix denotes the delay value
13.25.2 Properties
13.25.3 Predefined Data Elements
struct FIR_DelayedAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
FIR_Ref suffix; /* static time expression */
};
13.26 FIR_StableAttribute
13.26.1 Derived Class Description
The predefined FIR_StableAttribute class represents a boolean asserting that an event has not occurred on a signal (denoted by the prefix) for an interval of time denoted by the optional suffix.
13.26.2 Properties
13.26.3 Predefined Data Elements
struct FIR_StableAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
FIR_Ref suffix; /* static time expression */
};
13.27 FIR_QuietAttribute
13.27.1 Derived Class Description
The predefined FIR_QuietAttribute represents a boolean denoting that a signal (the prefix) has been quiet for at least the time interval denoted by the suffix.
13.27.2 Properties
13.27.3 Predefined Data Elements
struct FIR_QuietAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
FIR_Ref suffix; /* static time expression */
};
13.28 FIR_TransactionAttribute
13.28.1 Derived Class Description
The predefined FIR_TransactionAttribute represents a boolean which toggles value on each simulation cycle where a signal (denoted by the prefix) becomes active.
13.28.2 Properties
13.28.3 Predefined Data Elements
struct FIR_TransactionAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.29 FIR_EventAttribute
13.29.1 Derived Class Description
The predefined FIR_EventAttribute class is a boolean attribute representing when an event has occurred during the current simulation cycle on a signal denoted by the attribute's prefix.
13.29.2 Properties
13.29.3 Predefined Data Elements
struct FIR_EventAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.30 FIR_ActiveAttribute
13.30.1 Derived Class Description
The predefined FIR_ActiveAttribute class represents a boolean attribute denoting if a signal (denoted by the prefix) is active on the current simulation cycle.
13.30.2 Properties
13.30.3 Predefined Data Elements
struct FIR_ActiveAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.31 FIR_LastEventAttribute
13.31.1 Derived Class Description
The predefined FIR_LastEventAttribute class represents the interval of time since the last event occurred on a signal denoted by the prefix.
13.31.2 Properties
13.31.3 Predefined Data Elements
struct FIR_LastEventAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.32 FIR_LastActiveAttribute
13.32.1 Derived Class Description
The predefined FIR_LastActiveAttribute class represents the amount of time since a signal denoted by the prefix was last active.
13.32.2 Properties
13.32.3 Predefined Data Elements
struct FIR_LastActiveAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.33 FIR_LastValueAttribute
13.33.1 Derived Class Description
The predefined FIR_LastValueAttribute class represents the last value assumed by a signal denoted by the attribute's prefix.
13.33.2 Properties
13.33.3 Predefined Data Elements
struct FIR_LastValueAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.34 FIR_DrivingAttribute
13.34.1 Derived Class Description
The predefined FIR_DrivingAttribute class assists in determining which driver is driving a signal denoted by the attribute prefix.
13.34.2 Properties
13.34.3 Predefined Data Elements
struct FIR_DrivingAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.35 FIR_DrivingValueAttribute
13.35.1 Derived Class Description
The predefined FIR_DrivingAttribute class assists in determining which driver is driving a signal denoted by the attribute prefix.
13.35.2 Properties
13.35.3 Predefined Data Elements
struct FIR_DrivingValueAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* signal */
};
13.36 FIR_SimpleNameAttribute
13.36.1 Derived Class Description
The predefined FIR_SimpleNameAttribute class represents the simple name associated with a named entity.
13.36.2 Properties
13.36.3 Predefined Data Elements
struct FIR_SimpleNameAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* named entity */
};
13.37 FIR_InstanceNameAttribute
13.37.1 Derived Class Description
The predefined FIR_InstanceNameAttribute class represents the hierarchical path name associated with a named entity (including its simple name).
13.37.2 Properties
13.37.3 Predefined Data Elements
struct FIR_InstanceNameAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* named entity */
};
13.38 FIR_PathNameAttribute
13.38.1 Derived Class Description
The predefined FIR_PathNameAttribute class represents the hierarchical path name associated with a named entity (including its simple name).
13.38.2 Properties
13.38.3 Predefined Data Elements
struct FIR_PathNameAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix; /* named entity */
};
13.39 FIR_AcrossAttribute
13.39.1 Derived Class Description
The predefined FIR_AcrossAttribute class represents the across type of the nature prefix.
13.39.2 Properties
13.39.3 Predefined Data Elements
struct FIR_AcrossAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
};
13.40 FIR_ThroughAttribute
13.40.1 Derived Class Description
The predefined FIR_ThroughAttribute class represents the through type of the nature prefix.
13.40.2 Properties
13.40.3 Predefined Data Elements
struct FIR_ThroughAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
};
13.41 FIR_ReferenceAttribute
13.41.1 Derived Class Description
The predefined FIR_ReferenceAttribute class represents the reference terminal for the nature denoted by the prefix.
13.41.2 Properties
13.41.3 Predefined Data Elements
struct FIR_ReferenceAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
};
13.42 FIR_ContributionAttribute
13.42.1 Derived Class Description
The predefined FIR_ContributionAttribute class represents the through quantity formed by the prefix (plus terminal) and a minus terminal which is the reference of the nature of the prefix.
13.42.2 Properties
13.42.3 Predefined Data Elements
struct FIR_ContributionAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
};
13.43 FIR_DotAttribute
13.43.1 Derived Class Description
The predefined FIR_DotAttribute class represents the time differential of the prefix when the attribute is evaluated.
13.43.2 Properties
13.43.3 Predefined Data Elements
struct FIR_DotAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
};
13.44 FIR_IntegAttribute
13.44.1 Derived Class Description
The predefined FIR_IntegAttribute class represents the time integral of the prefix from time=0 to the time at which evaluation takes place.
13.44.2 Properties
13.44.3 Predefined Data Elements
struct FIR_IntegAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
};
13.45 FIR_AboveAttribute
13.45.1 Derived Class Description
The predefined FIR_AboveAttribute class represents a boolean tolerance function which is TRUE if the prefix is sufficiently above the suffix, FALSE if it is sufficiently below and undefined in between.
13.45.2 Properties
13.45.3 Predefined Data Elements
struct FIR_AboveAttribute {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref prefix;
FIR_Ref suffix;
};
[Top] [Prev] [Next] [Bottom]
aire@vhdl.org
Copyright © 1995, 1996 FTL Systems Inc. All rights
reserved except as noted in the document copyright statement.