Fall 08, Oct 29ELEC2200-002 Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi

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
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.
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.
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.
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
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.
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.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
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.
Fall 09, Aug 19 ELEC / Lecture 2 (from Prof. Nelson's and Prof. Stroud's course material) 1 ELEC / Computer Architecture.
Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.
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
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.
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.
M. Balakrishnan Dept of Computer Science & Engg. I.I.T. Delhi
(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.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
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
© 조준동 2008 ECE C03 Lecture 121 Lecture 12 Introduction to VHDL Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
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.
VHDL Tutorial.
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.
1 - CPRE 583 (Reconfigurable Computing): VHDL overview 1 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 2: 8/26/2011 (VHDL Overview.
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.
Combinational Logic Design
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45
HDL simulation and Synthesis (Marks16)
Design Entry: Schematic Capture and VHDL
ELEC 5200/6200 Computer Architecture and Design Review of VHDL
VHDL Introduction.
Hardware Modeling & Synthesis Using VHDL
4-Input Gates VHDL for Loops
EEL4712 Digital Design (VHDL Tutorial).
VHDL - Introduction.
Presentation transcript:

Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi

Fall 08, Oct 29ELEC Lecture 7 (updated) 2 Introduction  Hardware description languages (HDL) Language to describe hardware Two popular languages  VHDL: Very High Speed Integrated Circuits Hardware Description Language Developed by DOD from 1983 IEEE Standard /1993/200x Based on the ADA language  Verilog IEEE Standard /2001/2005 Based on the C language

Fall 08, Oct 29ELEC Lecture 7 (updated) 3 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 29ELEC Lecture 7 (updated) 4 Input-Output specification of circuit my_ckt A B S X Y  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 ;

Fall 08, Oct 29ELEC Lecture 7 (updated) 5 my_ckt A B S X Y 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;  Name of the circuit  User-defined  Filename same as circuit name  Example.  Circuit name: my_ckt  Filename: my_ckt.vhd Port names or Signal names  Name of the circuit  User-defined  Filename same as circuit name recommended  Example:  Circuit name: my_ckt  Filename: my_ckt.vhd Datatypes:  In-built  User-defined Direction of port 3 main types:  in : Input  out : Output  inout : Bidirectional 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 29ELEC Lecture 7 (updated) 6 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 Examples:  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 29ELEC Lecture 7 (updated) 7 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 29ELEC Lecture 7 (updated) 8 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 B S X Y

Fall 08, Oct 29ELEC Lecture 7 (updated) 9 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’; else Y <= ‘0’; end if; end process p1; end; Error: Signals defined as output ports can only be driven and not read

Fall 08, Oct 29ELEC Lecture 7 (updated) 10 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’; else Y <= ‘0’; end if; 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 29ELEC Lecture 7 (updated) 11 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 29ELEC Lecture 7 (updated) 12 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 29ELEC Lecture 7 (updated) 13 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 29ELEC Lecture 7 (updated) 14 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 B S X Y

Fall 08, Oct 29ELEC Lecture 7 (updated) 15 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’; else Y <= ‘0’; end if; X <= Xtmp; XtmpVar := Xtmp; end process p1; end; Time ‘T’ ABSXtmpYXtmpVarX 0-UUU‘X’ d010000‘X’ 0+2d d d Scheduled events list: Xtmp = (0,0+d) Y = (0,0+d) X = (‘X’,0+d) Assignments executed: XtmpVar = ‘X’ Scheduled events executed: Xtmp = 0 Y = 0 X = ‘X’ Assignments executed: XtmpVar = 0 Scheduled events list: Xtmp = (0,0+2d) Y = (1,0+2d) X = (‘0’,0+2d) Scheduled events executed: Xtmp = 0 Y = 1 X = 0 Scheduled events list: (empty)

Fall 08, Oct 29ELEC Lecture 7 (updated) 16 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 29ELEC Lecture 7 (updated) 17 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 B S X Y  Logic functions Sbar = ~ S Xbar = ~ X X = A*(Sbar) + B*S Y = (Xbar)*(Sbar)

Fall 08, Oct 29ELEC Lecture 7 (updated) 18 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 29ELEC Lecture 7 (updated) 19 Other VHDL resources  VHDL mini-reference by Prof. Nelson /ee/mgc/vhdl.html /ee/mgc/vhdl.html  VHDL Tutorial: Learn by Example by Weijun Zhang