1/8/2007 - L10 AttributesCopyright 2006 - Joanne DeGroat, ECE, OSU1 Language Attributes and Package Standard A very useful aspect of the language.

Slides:



Advertisements
Similar presentations
1/8/ VerilogCopyright Joanne DeGroat, ECE, OSU1 Verilog Overview An overview of the Verilog HDL.
Advertisements

L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
Slide: 1 Copyright © AdaCore Arrays Presented Quentin Ochem university.adacore.com.
Elementary Data Types Prof. Alamdeep Singh. Scalar Data Types Scalar data types represent a single object, i.e. only one value can be derived. In general,
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
COE 405 Basic Concepts in VHDL Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
All the Operators. Precedence An operator with higher precedence is done earlier (prededes) one with lower precedence –A higher precedence is indicated.
VHDL Data Types Module F3.1. VHDL Data Types Scalar Integer Enumerated Real (floating point)* Physical* Composite Array Record Access (pointers)* * Not.
1 Chapter 4 Language Fundamentals. 2 Identifiers Program parts such as packages, classes, and class members have names, which are formally known as identifiers.
Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes Dept.
ELEN 468 Lecture 191 ELEN 468 Advanced Logic Design Lecture 19 VHDL.
Topics of Lecture Structural Model Procedures Functions Overloading.
Elementary Data Types Scalar Data Types Numerical Data Types Other
第6章 VHDL NUMBERS, STRINGS, AND EXPRESSIONS 義守大學電機工程學系 陳慶瀚
ECE C03 Lecture 141 Lecture 14 VHDL Modeling of Sequential Machines Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
1 Part II: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
Package with 4-valued logic Signal Attributes Assertion Data Flow description.
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
Introduction to VHDL (part 2)
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
Concordia University 1 Lecture #8 In this lecture we will cover the following material: The standard package, The std_logic_1164  Objects & data Types.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
1 Week 12 Arrays, vectors, matrices and cubes. Introduction to Scientific & Engineering Computing 2 Array subscript expressions n Each subscript in an.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 5 Step 2 in behavioral modeling. Use of procedures.
The Xilinx Spartan-3E FPGA family. Field Programmable Gate Array (FPGA) Configurable Logic Block (CLB) –Look-up table (LUT) –Register –Logic circuit Adder.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
L16 – VHDL for State Machines with binary encoding.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 3 Structural Modeling and the Generate Statement.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
15-Nov-15 All the Operators. operators.ppt 2 Precedence An operator with higher precedence is done earlier (precedes) one with lower precedence A higher.
Lecture #8 Page 1 Lecture #8 Agenda 1.VHDL : Operators 2.VHDL : Signal Assignments Announcements 1.HW #4 assigned ECE 4110– Digital Logic Design.
Topics AliasesSubprograms Generics & Configurations.
VHDL Basics. VHDL BASICS 2 OUTLINE –Component model –Code model –Entity –Architecture –Identifiers and objects –Operations for relations VHDL ET062G &
L13 – VHDL Language Elements. VHDL Language Elements  Elements needed for FPGA design Types  Basic Types  Resolved Types – special attributes of resolved.
George Mason University ECE 545 – Introduction to VHDL Data types Timing in VHDL ECE 545 Lecture 13.
Lecture #7 Page 1 Lecture #7 Agenda 1.VHDL Data Types Announcements 1.n/a ECE 4110– Digital Logic Design.
9/4/ L6 Language Overview I Copyright 2006, Joanne DeGroat, ECE, OSU 1 Language Overview I The start of a grand tour of the language.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Introduction to VHDL. VHDL DARPA, VHSIC (Very High Speed Integrated Circuits) program Different manufacturers Standard language to describe –Structure.
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
1/8/ L16 Timing & Concurrency III Copyright Joanne DeGroat, ECE, OSU1 Timing & Concurrency III Delay Model foundations for simulation and.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
BASIC VHDL LANGUAGE ELEMENTS Digital Design for Instrumentation with VHDL 1.
ECOM 4311—Digital System Design with VHDL
Subprograms Lecture 6. Subprograms A subprogram defines a sequential algorithm that performs some computations. Subprograms can be: –1. functions –2.
Types As Globally Static, First Class Objects in VHDL-X TM Nothing in this presentation implies an offer for sale. FTL Systems is willing to provide IEEE.
Relational Operators Result is boolean: greater than (>) less than (=) less than or equal to (
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
Midterm Exam ReviewCopyright Joanne DeGroat, ECE, OSU1 Midterm Exam Notes.
Signals & Data-typesVer 1.1, Copyright 1997, TS, Inc. VHDL S i g n a l s & D a t a T y p e s Page 1.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
Introduction To VHDL 홍 원 의.
Operators Assignment Operators Logical Operators Relational Operators
Dataflow Style Combinational Design with VHDL
IAS 0600 Digital Systems Design
All the Operators 22-Nov-18.
VHDL DATA TYPES.
The start of a grand tour of the language.
All the Operators 4-Dec-18.
Modeling of Circuits with a Regular Structure
Step 2 in behavioral modeling. Use of procedures.
IAS 0600 Digital Systems Design
All the Operators 6-Apr-19.
All the Operators 13-Apr-19.
VHDL Data Types Module F3.1.
Step 2 in behavioral modeling. Use of procedures.
Language Attributes and Package Standard
Presentation transcript:

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU1 Language Attributes and Package Standard A very useful aspect of the language.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU2 Attributes  What are attributes?  VHDL Attributes Types Signal Variables Examples Signal Specific Other  Package Standard

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU3 What are attributes?  John is just plain nasty!!!! Being nasty is an attribute of John.  Language attributes Lovely, pretty and handsome are adjectives which describe and a attribute of the language element they apply to.  Lovely Rita ….. (Do you remember the Beatles!)

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU4 What are attributes?  VHDL attributes provide additional information on the language element to which they are associated.  For example They can tell you the size of an array and whether the index is X to Y or Y downto X. They can tell you a signal’s last value Etc.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU5 Attributes that relate to TYPES  ATTRIBUTE: T’BASE Kind: Type Prefix: Any Type or Subtype T Result Type: The base type of T Result: Same – a type Restrictions: This attribute is allowed only as a prefix of the name of another attribute; T’BASE’LEFT Example: BIT’BASE’LEFT is ‘0’  Base Type: The base type of a type is the type itself

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU6 Attributes that relate to TYPES  ATTRIBUTE: T’LEFT Kind: Value Prefix: Any scalar type or subtype T Result Type: Same type a T Result: The left bound of T Example: BIT’LEFT has value ‘0’ Scalar type consist of enumeration, integer, physical, and floating point types.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU7 Attributes that relate to TYPES  ATTRIBUTE: T’RIGHT Kind: Value Prefix: Any scalar type or subtype T Result Type: Same type a T Result: The right bound of T Example: BIT’RIGHT has value ‘1’

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU8 Attributes that relate to TYPES  ATTRIBUTE: T’HIGH Kind: Value Prefix: Any scalar type or subtype T Result Type: Same type a T Result: The upper bound of T Example: BIT’ HIGH has value ‘1’

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU9 Attributes that relate to TYPES  ATTRIBUTE: T’LOW Kind: Value Prefix: Any scalar type or subtype T Result Type: Same type a T Result: The lower bound of T Example: BIT’LOW has value ‘0’

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU10 Attributes that relate to TYPES  ATTRIBUTE: T’POS(X) Kind: Function Prefix: Any discrete or physical type or subtype T  A discrete type is an enumeration or intger type. Parameter: Any expression whose type is the base type of T Result Type: Universal Integer  Universal integer is an integer of an anonymous predefined integer type. An integer. Result: The position number of the value of the parameter. Example:  type operations is (OPADD, OPSUB, OPAND, OPOR);  signal oper : operations;  Then operations’POS(OPSUB) has value 2  operations’POS(OPOR) has value 4

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU11 Attributes that relate to TYPES  ATTRIBUTE: T’VAL(X) Kind: Function Prefix: Any discrete or physical type or subtype T Parameter: Any expression of any integer type Result Type: The base type of T Result: The value from the type whose position number is the universal integer value corresponding to X Example:  type operations is (OPADD, OPSUB, OPAND, OPOR);  signal oper : operations;  Then operations’VAL(2) has value OPSUB  operations’VAL(4) has value OPOR

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU12 Attributes that relate to TYPES  ATTRIBUTE: T’SUCC(X) Kind: Function Prefix: Any discrete or physical type or subtype T Parameter: Any expression whose type is the base type of T Result Type: The base type of T Result: The value whose position number is one greater than that of the parameter. Restricitons: An error occurs if X equals T’BASE’HIGH Example:  type operations is (OPADD, OPSUB, OPAND, OPOR);  signal oper : operations;  Then operations’SUCC(OPSUB) has value OPAND  operations’SUCC(OPAND) has value OPOR

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU13 Attributes that relate to TYPES  ATTRIBUTE: T’PRED(X) Kind: Function Prefix: Any discrete or physical type or subtype T Parameter: Any expression whose type is the base type of T Result Type: The base type of T Result: The value whose position number is one less than that of the parameter. Restricitons: An error occurs if X equals T’BASE’LOW Example:  type operations is (OPADD, OPSUB, OPAND, OPOR);  signal oper : operations;  Then operations’PRED(OPSUB) has value OPADD  operations’PRED(OPAND) has value OPSUB

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU14 Attributes that relate to TYPES  ATTRIBUTE: T’LEFTOF(X) Kind: Function Prefix: Any discrete or physical type or subtype T Parameter: Any expression whose type is the base type of T Result Type: The base type of T Result: The value which is to the left of the parameter in the range of T. Restricitons: An error occurs if X equals T’BASE’LEFT Example:  type operations is (OPADD, OPSUB, OPAND, OPOR);  signal oper : operations;  Then operations’LEFTOF(OPSUB) has value OPADD

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU15 Attributes that relate to TYPES  ATTRIBUTE: T’RIGHTOF(X) Kind: Function Prefix: Any discrete or physical type or subtype T Parameter: Any expression whose type is the base type of T Result Type: The base type of T Result: The value which is to the right of the parameter in the range of T. Restricitons: An error occurs if X equals T’BASE’RIGHT Example:  type operations is (OPADD, OPSUB, OPAND, OPOR);  signal oper : operations;  Then operations’RIGHTOF(OPSUB) has value OPAND

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU16 Attributes that relate to ARRAYS  ATTRIBUTE: A’LEFT[(N)] Kind: Function Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Type of the Nth index range of A Result: Left bound of the Nth index range of A.  ATTRIBUTE: A’RIGHT[(N)] Kind: Function Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Type of the Nth index range of A Result: Right bound of the Nth index range of A.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU17 Attributes that relate to ARRAYS  ATTRIBUTE: A’HIGH[(N)] Kind: Function Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Type of the Nth index range of A Result: Upper bound of the Nth index range of A.  ATTRIBUTE: A’LOW[(N)] Kind: Function Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Type of the Nth index range of A Result: Lower bound of the Nth index range of A.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU18 Attributes that relate to ARRAYS  ATTRIBUTE: A’RANGE[(N)] Kind: Range Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Type of the Nth index range of A Result: The range A’LEFT(N) to A’RIGHT(N) or A’LEFT(N) downto A’RIGHT(N)  ATTRIBUTE: A’REVERSE_RANGE[(N)] Kind: Range Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Type of the Nth index range of A Result:. The range A’ RIGHT(N) to A’ LEFT(N) or A’ RIGHT(N) downto A’ LEFT(N)

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU19 Attributes that relate to ARRAYS  ATTRIBUTE: A’LENGHT[(N)] Kind: Range Prefix: Any prefix A that is an array object Parameter: Locally static expression of type integer. Defaults to 1. Result Type: Universal Integer Result: Number of values in the Nth index range, i.e., A’HIGH(N) – A’LOW(N) +1

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU20 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU21 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU22 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU23 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU24 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU25 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU26 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU27 Attributes that relate to ARRAYS  EXAMPLE: signal mydt : bit_vector (31 downto 0); signal myto : bit_vector ( 0 to 15);  Then the

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU28 Attributes that relate to SIGNALS  ATTRIBUTE: S’DELAYED[(T)] Kind: Signal Prefix: Any signal Parameter: Any static expression of type TIME that evaluates to a non-negative value. Result Type: Base type of S Result: A signal equivalent to S delayed T units of time. The value of S’DELAYED(t) is always equal to the value of S t units of time previous.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU29 Attributes that relate to SIGNALS  ATTRIBUTE: S’STABLE[(T)] Kind: Signal Prefix: Any signal Parameter: Any static expression of type TIME that evaluates to a non-negative value. Defaults to 0 if omitted. Result Type: Boolean Result: A signal that has value TRUE when an event has not occurred on signal S for T units of time, and the value FALSE otherwise.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU30 Attributes that relate to SIGNALS  ATTRIBUTE: S’QUIET[(T)] Kind: Signal Prefix: Any signal Parameter: Any static expression of type TIME that evaluates to a non-negative value. Defaults to 0 if omitted. Result Type: Boolean Result: A signal that has value TRUE when the signal has been quiet (not had a change in value) for T units of time.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU31 Attributes that relate to SIGNALS  ATTRIBUTE: S’TRANSACTION Kind: Signal Prefix: Any signal Result Type: Type BIT Result: A signal that toggles to the inverse of its previous value in each simulation cycle in which the signal S becomes active.  ATTRIBUTE: S’EVENT Kind: Signal Prefix: Any signal Result Type: Type BOOLEAN Result: A value that indicates whether an event has just occurred on signal S.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU32 Attributes that relate to SIGNALS  ATTRIBUTE: S’ACTIVE Kind: Function Prefix: Any signal Result Type: Type BOOLEAN Result: A value that indicated whether S is active, i.e., has a new value generated for it this simulation cycle.  ATTRIBUTE: S’LAST_EVENT Kind: Function Prefix: Any signal Result Type: Type TIME Result: The amount of time that has elapsed since the last event on signal S.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU33 Attributes that relate to SIGNALS  ATTRIBUTE: S’LAST_ACTIVE Kind: Function Prefix: Any signal Result Type: Type TIME Result: The amount of time that has elapsed since the last time the signal S was active.  ATTRIBUTE: S’LAST_VALUE Kind: Function Prefix: Any signal Result Type: Base type of S Result: The previous value of S.

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU34 Attributes that relate to Design Units  ATTRIBUTE: B’BEHAVIOR Kind: Value Prefix: Any block denoted by a label or entity denoted by its architecture name. Result Type: BOOLEAN Result: The value if TRUE if the block defined by the block statement or entity does not contain a component instantiation statement.  ATTRIBUTE: B’STRUCTURE The same except that TRUE when the block/entity contains only component instantiations

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU35 Package STANDARD

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU36 Package Standard (cont.)

1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU37 Package Standard (completed)