EE295 - ASIC Design Using VHDL 
Attributes 
Assignment:  Read Ch 6 
Outline: 
- Syntax:
- object'attribute
 - pronounced 'tick'
 
 - PreDefined Attributes are Obtained from..
- Signals
 - Blocks
 - Type/Subtype
 
 - ..and Fall Into These Attribute Categories:
- Value - Evaluates to a Value
 - Function - A function call returns a Value
 - Signal - An Implicit Signal is Created Whose Value Depends on the Original
Signal the Attribute was Attached too.
 - Range - Range of an Object is Returned
 - Type - The Type of an Object is Returned
 
 - May be Cascaded - Within the Limits of Type Matching
 
- type'HIGH
 - Returns Upper Bound of a Type/SubType
 - type'LOW
 - Returns Lower Bound of a Type/SubType
 - type'LEFT
 - Returns Left Bound of a Type/SubType
 - type'RIGHT
 - Returns Right Bound of a Type/SubType
 
- array'LENGTH
 - Returns the length of an array
 
- architecture_name'STRUCTURE
 - True if Architecture/Block is Comprised of Components and
Passive Processes; False Otherwise
 - architecture_name'BEHAVIOR
 - True if Architecture/Block Contains No Components; False Otherwise
 
A Function Call is Executed to Evaluate..
- type'POS(value)
 - Position Number of Given Value
 - type'VAL(value)
 - Value of Given Position
 - type'SUCC(value)
 - Next Value After Given Value
 - type'PRED(value)
 - Previous Value
 - type'LEFTOF(value)
 - Value Left of Value
 - type'RIGHTOF(value)
 - Value Right of Value
 
- array'HIGH(n)
 - Upper Bound
 - array'LOW(n)
 - Lower Bound
 - array'LEFT(n)
 - Left Bound of Index
 - array'RIGHT(n)
 - Right Bound of Index
 
- For Ascending Ranges..
- array'LEFT = array'LOW
 - array'RIGHT = array'HIGH
 
 - For Descending Ranges..
- array'LEFT = array'HIGH
 - array'RIGHT = array'LOW
 
 
Function Signal - Return Signal History Information
- signal'EVENT
 - Returns true if an event occurred in the current delta; otherwise false
 - signal'ACTIVE
 - Returns true if a transaction occurred in the current delta; otherwise false
 - signal'LAST_EVENT
 - Returns time since last event
 - signal'LAST_VALUE
 - Returns value of signal prior to last event
 - signal'LAST_ACTIVE
 - Returns time since last transaction
 
- signal'DELAYED[(time)]
 - 
-  my_sig'DELAYED(n)
 - Creates a Delayed Version of Signal
 - Delayed by n - a Value of Type Time
- Defaults to 0
 - Delayed by a Delta Time
 
 - Use:
- Hold Test on a Latch Cell Model, RAM, etc
 - Insure Data has Held Constant Value for Minimum Time
 
 
 - signal'STABLE[(time)]
 - 
- Signal of Type Boolean
 - Evaluates to 'True' or 'False' ( not 0 or 1 )
 - True if No Events Occurred for the Time Specified
 
 - signal'QUIET[(time)]
 - 
- Signal of Type Boolean
 - Indicates a Transaction has Occurred
 - True if No Transactions Occurred for the Specified Time
 
 - signal'TRANSACTION
 - 
- Signal of Type Bit; '0'..'1'
 - Toggles for Every Transaction that Occurrs on signal
 
 
- subtype'BASE
 - Used in Context of SubTypes
 - Returns a SubTypes Heritage
 
- Function That Returns a Type Range Value
 - Used to Control Loop Iteration
- Describing Growable Macros ( N-Bit Gates, N-Bit RAM )
 - Conversion Functions
 - Working with Enumerated Types
 
 
From Chap 8; Pg 211-213
How was the class? Send your comments to jswift@vnet.ibm.com
Return to Class Home Page
Copyright 1995, James Swift 
Copying this document without the permission of the author is prohibited
and a violation of international copyright laws.