VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/2015 2 R.H.Khade.

Slides:



Advertisements
Similar presentations
COE 405 VHDL Basics Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh Computer Engineering.
Advertisements

1 Introduction to VHDL (Continued) EE19D. 2 Basic elements of a VHDL Model Package Declaration ENTITY (interface description) ARCHITECTURE (functionality)
Verilog Intro: Part 1.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
Mridula Allani Fall 2010 (Refer to the comments if required) ELEC Fall 2010, Nov 21(Adopted from Profs. Nelson and Stroud)
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
© Dr. Alaaeldin Amin 1 Hardware Modeling & Synthesis Using VHDL Very High Speed Integrated Circuits Start Of VHDL Development First Publication.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
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.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
HDL-Based Digital Design Part I: Introduction to VHDL (I) Dr. Yingtao Jiang Department Electrical and Computer Engineering University of Nevada Las Vegas.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Introduction to VHDL (part 2)
1 H ardware D escription L anguages Basic Language Concepts.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
Modeling styles: 1. Structural Modeling: As a set of interconnected components (to represent structure), 2. Dataflow Modeling: As a set of concurrent assignment.
ECE 2372 Modern Digital System Design
Introduction to VHDL Arab Academy for Science, Technology & Maritime Transport Computer Engineering Department Magdy Saeb, Ph.D.
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to VHDL An Overview / Review.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
Module 1.2 Introduction to Verilog
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Copyright(c) 1996 W. B. Ligon III1 Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
VHDL Basics. VHDL BASICS 2 OUTLINE –Component model –Code model –Entity –Architecture –Identifiers and objects –Operations for relations VHDL ET062G &
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
CEC 220 Digital Circuit Design Introduction to VHDL Wed, February 25 CEC 220 Digital Circuit Design Slide 1 of 19.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Basic VHDL RASSP Education & Facilitation Module 10 Version 2.02 Copyright  RASSP E&F All rights reserved. This information is copyrighted by.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Subprograms Lecture 6. Subprograms A subprogram defines a sequential algorithm that performs some computations. Subprograms can be: –1. functions –2.
VHDL Programming Fundamentals Presented By Dr. Pradyut Kumar Biswal Department of Electronics, IIIT Bhubaneswar.
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
1/8/ L10 AttributesCopyright Joanne DeGroat, ECE, OSU1 Language Attributes and Package Standard A very useful aspect of the language.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
CEC 220 Digital Circuit Design Introduction to VHDL Wed, Oct 14 CEC 220 Digital Circuit Design Slide 1 of 19.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Introduction To VHDL 홍 원 의.
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45
VHDL Basics.
VHDL VHSIC Hardware Description Language VHSIC
VHDL Discussion Subprograms
Hardware Modeling & Synthesis Using VHDL
第7章 VHDL OBJECTS: CONSTANTS, VARIABLES, AND SIGNALS
Design units Lecture 2.
COE 202 Introduction to Verilog
EEL4712 Digital Design (VHDL Tutorial).
VHDL - Introduction.
Presentation transcript:

VHDL

What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade

Entity :- The most basic building block in the design. The uppermost level of the design is the top level entity. Entity is a hardware abstration of the actual hardware device. The entity declaration specifies the name of the entity modeled and lists the interfaces. An entity X, when used in another entity Y, becomes a component for the entity Y. R.H.Khade 3 7/2/2015

Entity communicates with other models in its external environment through port signals. Entity Declaration R.H.Khade 4 7/2/2015

Entity Declaration For Half Adder R.H.Khade 5 7/2/2015

Entity Entity Declaration: Indicates what comes in and what goes out. entity name port namesport mode (direction) port type punctuation 7/2/ R.H.Khade

The port type for this entity have been specified to be of type BIT, which means that the ports can take the values ‘0’ or ‘1’. R.H.Khade 7 7/2/2015

Entity declaration for the 2-to-4 decoder circuit. R.H.Khade 8 7/2/2015

BIT_VECTOR is a predefined unconstrained array type of BIT. entity DECODER2×4 is Port (A, B, ENABLE: in BIT; Z:out BIT_VECTOR(0 to 3)); end DECODER2×4; R.H.Khade 9 7/2/2015

The range ”0 to 3” for port Z specifies the array size. An unconstrained array type is a type in which the size of the array is not specified. R.H.Khade 10 7/2/2015

Architecture – All entities that can be simulated have an architecture description. The architecture describes the behavior of the entity.. Each VHDL design unit comprises an "entity" declaration and one or more "architectures". 7/2/ R.H.Khade

12 7/2/2015 Architecture Body The internal details of an entity are specified by an architectural body using any of the following modeling style:

4) As any combination of previous three. 3) As a set of sequential assignments (to represent behavior) R.H.Khade 13 7/2/2015 1)As a set of interconnected components (to represent structure) 2) As a set of concurrent assignment statements (to represent dataflow)

Dataflow model of HALF_ADDER described usig two concurrent signal assignment statements. R.H.Khade 14 7/2/2015

Architecture of full adder entity name port namesport mode (direction) port type reserved words punctuation 7/2/ R.H.Khade

1) Structural style of modeling. 2) Dataflow style of modeling 3) Behavioral style of modeling Architecture Modeling Style R.H.Khade 16 7/2/2015

In the structural style of modeling, an entity is described as a set of interconnected components R.H.Khade 17 7/2/2015

In the structural style of modeling, the architecture body is composed of two parts: 1) The declarative part before the keyword begin. 2) The statement part after the keyword begin. R.H.Khade 18 7/2/2015

The declared components are instantiated in the statement part of the architecture body using component instantiation statements. X1 and A1 are the component labels for these component instantiation R.H.Khade 19 7/2/2015

The first component instantiation statement labeled X1, shows that signals A and B (the input ports of the HALF_ADDER) are connected to the X and Y input ports of a XOR2 component, while output port Z of this component is connected to output port SUM R.H.Khade 20 7/2/2015

Separate entity models should be written for the components XOR2 and AND2. The signals in the port map of a component instantiation and the port signals in the component declaration are associated by position called positional association. R.H.Khade 21 7/2/2015

A component instantiation statement is a concurrent statement. The order of these statements is not important. R.H.Khade 22 7/2/2015

The structural style of modeling describes only an interconnection of components (viewed as black boxes), without implying any behavior of the components. R.H.Khade 23 7/2/2015

Architecture of the DECODER2×4 using structural representation R.H.Khade 24 7/2/2015

BIT_VECTOR is a predefined unconstrained array type of BIT. entity DECODER2×4 is Port (A, B, ENABLE: in BIT; Z:out BIT_VECTOR(0 to 3)); end DECODER2×4; R.H.Khade 25 7/2/2015

R.H.Khade 26 7/2/2015

The architecture body contains a signal declaration that declares two signals, ABAR and BBAR, of type BIT. These signals, which represent wires, are used to connect components. The scope of these signals is restricted to the architecture body; and therefore these signals are not visible outside the architecture body. R.H.Khade 27 7/2/2015

Architecture Defines one particular implementation of a design unit architecture arch_name of entity_name is... declarations... // can be data types, constants, signals, etc begin... concurrent statements … end Concurrent statements describe a design unit at one or more levels of modeling abstraction:  Behavioral Model: No structure implied. Usually written in sequential, procedural style.  Dataflow Model: All datapaths shown, plus all control signals.  Structural Model: Interconnection of components. 7/2/ R.H.Khade

29 7/2/2015

Let’s Start Simple Support different description levels  Structural (specifying interconnections of the gates),  Dataflow (specifying logic equations), and  Behavioral (specifying behavior) 7/2/ R.H.Khade

Arithmetic and Logical Expressions Expressions in VHDL are similar to those of most high-level languages. Data elements must be of the type, or subtypes of the same base type. Operators include the following: Logical: and, or, nand, nor, xor, not (for boolean or bit ops) Relational: =, /=,, >= Arithmetic: +, -, *, /, mod, rem, **, abs (a mod b takes sign of b, a rem b takes sign of a) Concatenate: & (ex. a & b makes one array) Examples a <= b nand c; d := g1 * g2 / 3; Bus_16 <= Bus1_8 & Bus2_8; 7/2/ R.H.Khade

VHDL Data Types Each VHDL object must be classified as being of a specific data type. Predefined Scalar Data Types (single objects)  bit values: '0', '1', boolean values: TRUE, FALSE  integer values: -(231) to +( )  natural values: 0 to integer'high (subtype of integer)  character values: ASCII characters (eg. 'A')  time values include units (eg. 10ns, 20us) Predefined VHDL Aggregate Data Types  bit_vector array (natural range <>) of bit Example : signal dbus: bit_vector(15 downto 0); Accessing element: dbus(n) example: dbus(0)  string array (natural range <>) of char 7/2/ R.H.Khade

VHDL Objects: Variables A variable is declared within a block, process, procedure, or function, and is updated immediately when an assignment statement is executed. Can be of any scalar or aggregate data type, Is utilized primarily in behavioral descriptions. Declaration syntax: variable symbol: type [:= initial_value]; Example: process variable count: integer := 0; variable rega: bit_vector(7 downto 0); begin... count := 7; -- assign values to variables rega := x"01"; end; 7/2/ R.H.Khade

VHDL Objects: Signals A signal is an object with a history of values (related to "event" times, i.e. times at which the signal value changes). Signals are declared via signal declaration statements or entity port definitions, and may be of any data type. Declaration syntax : signal sig_name: data_type [:=initial_value]; Example: signal clock: bit; Signal assignment statement: A <= B after 10ns; 7/2/ R.H.Khade

Modeling Flip-Flops Using VHDL Processes Whenever one of the signals in the sensitivity list changes, the sequential statements are executed in sequence one time General form of process 7/2/ R.H.Khade

D Flip-flop Model Bit values are enclosed in single quotes 7/2/ R.H.Khade

JK Flip-Flop Model 7/2/ R.H.Khade

JK Flip-Flop Model 7/2/ R.H.Khade

Backup 7/2/ R.H.Khade

Object Attributes An object attribute returns information about a signal or data type. Signal Condition Attributes (for a signal S) S'DELAYED(T) - value of S delayed by T time units S'STABLE(T) - true if no event on S over last T time units S'QUIET(T) - true if S quiet for T time units S'LAST_VALUE - value of S prior to latest change S'LAST_EVENT - time at which S last changed S'LAST_ACTIVE - time at which S last active S'EVENT - true if an event has occurred on S in current cycle S'ACTIVE - true if signal S is active in the current cycle S'TRANSACTION - bit value which toggles each time signal S changes 7/2/ R.H.Khade

Constants A constant associates a value to a symbol of a given data type Declaration syntax: constant symbol: type := value; Example: constant zero4: bit_vector(0 to 3) := ('0','0','0','0'); 7/2/ R.H.Khade