IEEE Standard VHDL Language Reference Manual
(IEEE Std. 1076-1993)
Table of Contents
Section 0   Overview of this standard
        0.1	Intent and scope of this document
        0.2	Structure and terminology of this document
        0.2.1	Syntactic description
        0.2.2	Semantic description
        0.2.3	Front matter, examples, notes, references, and appendices
Section 1   Design entities and configurations
        1.1	Entity declarations
        1.1.1	Entity header
        1.1.1.1	Generics
        1.1.1.2	Ports
        1.1.2	Entity declarative part
        1.1.3	Entity statement part
        1.2	Architecture bodies
        1.2.1	Architecture declarative part
        1.2.2	Architecture statement part
        1.3	Configuration declarations
        1.3.1	Block configuration
        1.3.2	Component configuration
Section 2   Subprograms  and  packages
       
        2.1	Subprogram declarations
        2.1.1 	Formal parameters
        2.1.1.1	Constant and variable parameters
        2.1.1.2	Signal parameters
        2.1.1.3	File parameters
        2.2	Subprogram bodies
        2.3	Subprogram overloading
        2.3.1	Operator overloading
        2.3.2	Signatures
        2.4	Resolution functions
        2.5	Package declarations
        2.6	Package bodies
        2.7	Conformance rules
Section 3   Types
        
        3.1	Scalar types
        3.1.1	Enumeration types
        3.1.1.1	Predefined enumeration types
        3.1.2	Integer types
        3.1.2.1	Predefined integer types
        3.1.3	Physical types
        3.1.3.1	Predefined physical types
        3.1.4	Floating point types
        3.1.4.1	Predefined floating point types
        3.2	Composite types
        3.2.1	Array types
        3.2.1.1	Index constraints and discrete ranges
        3.2.2	Record types
        3.3	Access types
        3.3.1	Incomplete type declarations
        3.3.2	Allocation and deallocation of objects
        3.4	File types
        3.4.1	File operations
Section 4   Declarations
	4.1	Type declarations
	4.2	Subtype declarations
	4.3	Objects
	4.3.1	Object declarations
	4.3.1.1	Constant declarations
	4.3.1.2	Signal declarations
	4.3.1.3	Variable declarations
	4.3.1.4	File declarations
	4.3.2	Interface declarations
	4.3.2.1	Interface lists
	4.3.2.2	Association lists
	4.3.3	Alias declarations
	4.3.3.1	Object aliases
	4.3.3.2	Nonobject aliases
	4.4	Attribute declarations
	4.5	Component declarations
	4.6	Group template declarations
	4.7	Group declarations
Section 5   Specifications
	5.1	Attribute specification
	5.2	Configuration specification
	5.2.1	Binding indication
	5.2.1.1	Entity aspect
	5.2.1.2	Generic map and port map aspects
	5.2.2	Default binding indication
	5.3	Disconnection specification
Section 6   Names
	6.1	Names
	6.2	Simple names
	6.3	Selected names
	6.4	Indexed names
	6.5	Slice names
	6.6	Attribute name
Section 7   Expressions
	7.1	Expressions
	7.2	Operators
	7.2.1	Logical operators
	7.2.2	Relational operators
	7.2.3	Shift operators
	7.2.4	Adding operators
	7.2.5	Sign operators
	7.2.6	Multiplying operators
	7.2.7	Miscellaneous operators
	7.3	Operands
	7.3.1	Literals
	7.3.2	Aggregates
	7.3.2.1	Record aggregates
	7.3.2.2	Array aggregates
	7.3.3	Function calls
	7.3.4	Qualified expressions
	7.3.5	Type conversions
	7.3.6	Allocators
	7.4	Static expressions
	7.4.1	Locally static primaries
	7.4.2	Globally static primaries
	7.5	Universal expressions
Section 8   Sequential statements
	8.1	Wait statement
	8.2	Assertion statement
	8.3	Report statement
	8.4	Signal assignment statement
	8.4.1	Updating a projected output waveform
	8.5	Variable assignment statement
	8.5.1	Array variable assignments
	8.6	Procedure call statement
	8.7	If statement
	8.8	Case statement
	8.9	Loop statement
	8.10	Next statement
	8.11	Exit statement
	8.12	Return statement
	8.13	Null statement
Section 9   Concurrent statements
	9.1	Block statement
	9.2	Process statement
	9.3	Concurrent procedure call statements
	9.4	Concurrent assertion statements
	9.5	Concurrent signal assignment statements
	9.5.1	Conditional signal assignments
	9.5.2	Selected signal assignments
	9.6	Component instantiation statements
	9.6.1	Instantiation of a component
	9.6.2	Instantiation of a design entity
	9.7	Generate statements
Section 10   Scope and visibility
 
	10.1	Declarative region
	10.2	Scope of declarations
	10.3	Visibility
	10.4	Use clauses
	10.5	The context of overload resolution
Section 11   Design units and their analysis
	11.1	Design units
	11.2	Design libraries
	11.3	Context clauses
	11.4	Order of analysis
Section 12   Elaboration  and  execution
	12.1	 Elaboration of a design hierarchy
	12.2	 Elaboration of a block header
	12.2.1	 The generic clause
	12.2.2	 The generic map aspect
	12.2.3	 The port clause
	12.2.4	 The port map aspect
	12.3	 Elaboration of a declarative part
	12.3.1	 Elaboration of a declaration
	12.3.1.1 Subprogram declarations and bodies
	12.3.1.2 Type declarations
	12.3.1.3 Subtype declarations
	12.3.1.4 Object declarations
	12.3.1.5 Alias declarations
	12.3.1.6 Attribute declarations
	12.3.1.7 Component declarations
	12.3.2	 Elaboration of a specification
	12.3.2.1 Attribute specifications
	12.3.2.2 Configuration specifications
	12.3.2.3 Disconnection specifications
	12.4 	 Elaboration of a statement part
	12.4.1	 Block statements
	12.4.2	 Generate statements
	12.4.3	 Component instantiation statements
	12.4.4	 Other concurrent statements
	12.5	 Dynamic elaboration
	12.6	 Execution of a model
	12.6.1	 Drivers
	12.6.2	 Propagation of signal values
	12.6.3	 Updating implicit signals
	12.6.4	 The simulation cycle
Section 13   Lexical  elements
	13.1	Character set
	13.2	Lexical elements, separators, and delimiters
	13.3	Identifiers
	13.3.1	Basic identifiers
	13.3.2	Extended identifiers
	13.4	Abstract literals
	13.4.1	Decimal literals
	13.4.2	Based literals
	13.5	Character literals
	13.6	String literals
	13.7	Bit string literals
	13.8	Comments
	13.9	Reserved words
	13.10	Allowable replacements of characters
Section 14   Predefined language environment
	14.1	Predefined attributes
	14.2	Package STANDARD
	14.3	Package TEXTIO
Annex  A   Syntax summary
Annex  B   Glossary
Annex  C   Potentially nonportable constructs
Annex  D   Changes from IEEE Std 1076-1987
Annex  E   Related standards
INDEX