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.