VHDL - Introduction.

Slides:



Advertisements
Similar presentations
ENEL111 Digital Electronics
Advertisements

OBJECTIVES Learn the history of HDL Development. Learn how the HDL module is structured. Learn the use of operators in HDL module. Learn the different.
INTRO TO VHDL Appendix A: page page VHDL is an IEEE and ANSI standard. VHDL stands for Very High Speed IC hardware description language.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
Lecture #4 Page 1 ECE 4110–5110 Digital System Design Lecture #4 Agenda 1.VHDL History 2.Design Abstraction Announcements 1.n/a.
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.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
© 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.
Combinational Logic Design Sections 3-1, 3-2 Mano/Kime.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Jai Henwood Introduction to VHDL ECE /24/03 Dr. Veton Këpuska.
VHDL Asutosh Kar Asst. Prof. in IIIT, Bhubaneswar.
EENG 2910 – Digital Systems Design Fall Course Introduction Class Time: M9:30am-12:20pm Location: B239, B236 and B227 Instructor: Yomi Adamo
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
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.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
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.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
HARDWARE DESCRIPTION LANGUAGE (HDL). What is HDL? A type of programming language for sampling and modeling of electronic & logic circuit designs It can.
1 Hardware Description Languages: a Comparison of AHPL and VHDL By Tamas Kasza AHPL&VHDL Digital System Design 1 (ECE 5571) Spring 2003 A presentation.
(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 &
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
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.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
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.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
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.
CEC 220 Digital Circuit Design Introduction to VHDL Wed, Oct 14 CEC 220 Digital Circuit Design Slide 1 of 19.
Show who is the BOSS Issues with VHDL Synthesis. VHDL Simulator versus Synthetiser VHDL Simulator follows the strict VHDL rules. It does not produce a.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
An Introduction to V.H.D.L.. Need of a Compiler… main( ) { int x=10,y=20,z; z = x + y ; printf ( “ %d “, z ); getch( ) ; } What’s That ? Give me only.
Basic VHDL RASSP Education & Facilitation Module 10 Version 2.02
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45
Design Entry: Schematic Capture and VHDL
ECE 4110 – Digital Logic Design
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
CPE/EE 422/522 Advanced Logic Design L06
VHDL VHSIC Hardware Description Language VHSIC
Introduction to Verilog
Lecture 1.3 Hardware Description Languages (HDLs)
VHDL Introduction.
Hardware Modeling & Synthesis Using VHDL
Digital Designs – What does it take
4-Input Gates VHDL for Loops
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

VHDL - Introduction

VHDL’s History Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) is the product of a US Government request for a new means of describing digital hardware. The VHSIC Program was an initiative of the Defence Department to push the state of the art in VLSI technology, and VHDL was proposed as a versatile hardware description language.

VHDL’s History (Cont.) The language were first generated in 1981 under the VHSIC program. A number of U.S. companies were involved in designing VHSIC chips for the Department of Defense (DoD). In July 1983, a team of Intermetrics, IBM and Texas Instruments were awarded a contract to develop VHDL In August 1985, the final version of the language under government contract was released: VHDL Version 7.2

VHDL’s History (Cont.) In December 1987, VHDL became IEEE Standard 1076- 1987 and in 1988 an ANSI standard In September 1993, VHDL was restandardized to clarify and enhance the language (IEEE Standard 1076-1993) VHDL has been accepted as a Draft International Standard by the IEC (International Engineering Consortium) .

ELEC2200-002 Lecture 7 (updated) Applications of HDL Model and document digital systems Different levels of abstraction Behavioral, structural, etc. Verify design Synthesize circuits Convert from higher abstraction levels to lower abstraction levels Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

Input-Output specification of circuit Example: my_ckt Inputs: A, B, C Outputs: X, Y VHDL description: entity my_ckt is port ( A: in bit; B: in bit; S: in bit; X: out bit; Y: out bit); end my_ckt ; my_ckt A X B Y S Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

VHDL entity entity my_ckt is port ( A: in bit; B: in bit; S: in bit; X: out bit; Y: out bit ); end my_ckt; Datatypes: In-built User-defined Name of the circuit User-defined Filename same as circuit name recommended Example: Circuit name: my_ckt Filename: my_ckt.vhd Name of the circuit User-defined Filename same as circuit name Example. Circuit name: my_ckt Filename: my_ckt.vhd my_ckt A B S X Y Direction of port 3 main types: in: Input out: Output inout: Bidirectional Port names or Signal names Note the absence of semicolon “;” at the end of the last signal and the presence at the end of the closing bracket Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Built-in Datatypes Scalar (single valued) signal types: bit boolean integer Examples: A: in bit; G: out boolean; K: out integer range -2**4 to 2**4-1; Aggregate (collection) signal types: bit_vector: array of bits representing binary numbers signed: array of bits representing signed binary numbers D: in bit_vector(0 to 7); E: in bit_vector(7 downto 0); M: in signed (4 downto 0); --signed 5 bit_vector binary number Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

User-defined datatype Construct datatypes arbitrarily or using built-in datatypes Examples: type temperature is (high, medium, low); type byte is array(0 to 7) of bit; Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

Functional specification Example: Behavior for output X: When S = 0 X <= A When S = 1 X <= B Behavior for output Y: When X = 0 and S =0 Y <= ‘1’ Else Y <= ‘0’ my_ckt A X B Y S Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) VHDL Architecture VHDL description (sequential behavior): architecture arch_name of my_ckt is begin p1: process (A,B,S) begin if (S=‘0’) then X <= A; else X <= B; end if; if ((X = ‘0’) and (S = ‘0’)) then Y <= ‘1’; Y <= ‘0’; end process p1; end; Error: Signals defined as output ports can only be driven and not read Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) VHDL Architecture architecture behav_seq of my_ckt is signal Xtmp: bit; begin p1: process (A,B,S,Xtmp) begin if (S=‘0’) then Xtmp <= A; else Xtmp <= B; end if; if ((Xtmp = ‘0’) and (S = ‘0’)) then Y <= ‘1’; Y <= ‘0’; X <= Xtmp; end process p1; end; Signals can only be defined in this place before the begin keyword General rule: Include all signals in the sensitivity list of the process which either appear in relational comparisons or on the right side of the assignment operator inside the process construct. In our example: Xtmp and S occur in relational comparisons A, B and Xtmp occur on the right side of the assignment operators Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) VHDL Architecture VHDL description (concurrent behavior): architecture behav_conc of my_ckt is signal Xtmp: bit; begin Xtmp <= A when (S=‘0’) else B; Y <= ‘1’ when ((Xtmp = ‘0’) and (S = ‘0’)) else ‘0’; X <= Xtmp; end ; Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Signals vs Variables Signals Signals follow the notion of ‘event scheduling’ An event is characterized by a (time,value) pair Signal assignment example: X <= Xtmp; means Schedule the assignment of the value of signal Xtmp to signal X at (Current time + delta) where delta: infinitesimal time unit used by simulator for processing the signals Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Signals vs Variables Variables Variables do not have notion of ‘events’ Variables can be defined and used only inside the process block and some other special blocks. Variable declaration and assignment example: process (…) variable K : bit; begin … -- Assign the value of signal L to var. K immediately K := L; end process; Variables can only be defined and used inside the process construct and can be defined only in this place Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Simulation Simulation is modeling the output response of a circuit to given input stimuli For our example circuit: Given the values of A, B and S Determine the values of X and Y Many types of simulators used Event driven simulator is used popularly Simulation tool we shall use: ModelSim my_ckt A X B Y S Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Simulation architecture behav_seq of my_ckt is signal Xtmp: bit; begin p1: process (A,B,S,Xtmp) variable XtmpVar: bit; begin if (S=‘0’) then Xtmp <= A; else Xtmp <= B; end if; if ((Xtmp = ‘0’) and (S = ‘0’)) then Y <= ‘1’; Y <= ‘0’; X <= Xtmp; XtmpVar := Xtmp; end process p1; end; Time ‘T’ A B S Xtmp Y XtmpVar X 0- U ‘X’ 1 0+d 0+2d 1+d 1+2d Scheduled events executed: Xtmp = 0 Y = 0 X = ‘X’ Assignments executed: XtmpVar = 0 Scheduled events executed: Xtmp = 0 Y = 1 X = 0 Scheduled events list: Xtmp = (0,0+d) Y = (0,0+d) X = (‘X’,0+d) Scheduled events list: (empty) Assignments executed: XtmpVar = ‘X’ Scheduled events list: Xtmp = (0,0+2d) Y = (1,0+2d) X = (‘0’,0+2d) Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Synthesis Synthesis: Conversion of behavioral level description to structural level netlist Abstract behavioral description maps to concrete logic-level implementation For ex. Integers at behavioral level mapped to bits at structural level Structural level netlist Implementation of behavioral description Describes interconnection of gates Synthesis tool we shall use: Leonardo Spectrum Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

Structural level netlist Behavior of our example circuit: Behavior for output X: When S = 0 X <= A When S = 1 X <= B Behavior for output Y: When X = 0 and S =0 Y <= 1 Else Y <= 0 my_ckt A X B Y S Logic functions Sbar = ~ S Xbar = ~ X X = A*(Sbar) + B*S Y = (Xbar)*(Sbar) Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

Structural level netlist architecture behav_conc of my_ckt is -- component declarations signal Sbar, Xbar, W1, W2: bit; begin G1: not port map(Sbar,S); G2: and port map(W1,A,Sbar); G3: and port map(W2,B,S); G4: or port map(X,W1,W2); G5: not port map(Xbar,X); G6: and port map(Y,Xbar,Sbar); end ; Gate level VHDL descriptions (and, or, etc) are described separately Design in which other design descriptions are included is called a “hierarchical design” A VHDL design is included in current design using port map statement Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) AND GATE Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) XOR Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) OR GATE Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) 4X1 MUX Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) DECODER 2X4 Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)

ELEC2200-002 Lecture 7 (updated) Fall 08, Oct 29 ELEC2200-002 Lecture 7 (updated)