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

Slides:



Advertisements
Similar presentations
Chapter 11 Verilog HDL Application-Specific Integrated Circuits Michael John Sebastian Smith Addison Wesley, 1997.
Advertisements

CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
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 Dr. Adnan Shaout The University of Michigan-Dearborn.
© 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.
VHDL Quick Start Peter J. Ashenden The University of Adelaide.
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.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
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.
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
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
Introduction to VHDL By Mr. Fazrul Faiz Zakaria School of Computer and Communication Engineering UniMAP.
Introduction to VHDL (part 2)
1 H ardware D escription L anguages Basic Language Concepts.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
An Introduction to VHDL Using Altera’s Quartus II IDE Dr. William M. Jones Coastal Carolina University Numbers and Bytes Meeting 20 OCT 2008.
1 H ardware D escription L anguages Modeling Digital Systems.
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.
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.
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 VLSI Design – Lec01. Chapter 1 Introduction to VLSI Systems Lecture # 6 Computer-Aided Design Technology for VLSI.
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.
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.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
1 Introduction to VHDL Part 2 Fall We will use Std_logic And, Or have same precedence See slide 8 of part 1.
CMSC 611: Advanced Computer Architecture Design & Simulation Languages Practically everything adapted from slides by Peter J. Ashenden, VHDL Quick Start.
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)
5-1 Logic System Design I VHDL Design Principles ECGR2181 Reading: Chapter 5.0, 5.1, 5.3 port ( I: in STD_LOGIC_VECTOR (1 to 9); EVEN, ODD: out STD_LOGIC.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
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.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
CMSC 611: Advanced Computer Architecture Hardware Design Languages Some material adapted from slides by Peter J. Ashenden, VHDL Quick Start Some material.
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.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Hardware Description Languages: Verilog
Combinational Logic Design
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Verilog-HDL-1 by Dr. Amin Danial Asham.
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Hardware Description Languages: Verilog
ECE 434 Advanced Digital System L08
Peter J. Ashenden The University of Adelaide
Introduction to Verilog
CMSC 611: Advanced Computer Architecture
VHDL Introduction.
Hardware Modeling & Synthesis Using VHDL
Digital Designs – What does it take
VHDL - Introduction.
Presentation transcript:

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

Adnan ShaoutIntro to VHDL2 VHDL Very Hard Difficult Language

Fall 08, Oct 29ELEC Lecture 7 (updated) 3 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) 4 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  Class Assignments

Adnan ShaoutIntro to VHDL5 Basic VHDL Concepts  Interfaces -- i.e. ports  Behavior  Structure  Test Benches  Analysis, simulation  Synthesis

Adnan ShaoutIntro to VHDL6 VHDL Intro.--  Oh yeah, For all you C people --forget everything you know...  Well, not EVERYTHING...  But VHDL is NOT C... There are some similarities, as with any programming language, but syntax and logic are quite different; so get over it !! -obviously, this was a painful transition for me.

Adnan ShaoutIntro to VHDL7 3 ways to DO IT -- the VHDL way Dataflow Behavioral Structural Kindof BORING sounding huh?? well, it gets more exciting with the details !! :)

Adnan ShaoutIntro to VHDL8 VHDL --  VHDL is a programming language that allows one to model and develop complex digital systems in a dynamic envirornment.  Object Oriented methodology for you C people can be observed -- modules can be used and reused.  Allows you to designate in/out ports (bits) and specify behavior or response of the system.

Fall 08, Oct 29ELEC Lecture 7 (updated) 9 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) 10 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) 11 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) 12 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) 13 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) 14 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) 15 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) 16 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) 17 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) 18 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) 19 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) 20 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: Synplify

Fall 08, Oct 29ELEC Lecture 7 (updated) 21 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) 22 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

Adnan ShaoutIntro to VHDL23 Structural way -- e.g. 3

Adnan ShaoutIntro to VHDL24 Structural way cont..  First declare D-latch and and-gate entities and architectures entity d_latch is port ( d, clk : in bit; q : out bit ); end entity d_latch; architecture basic of d_latch is begin process (clk, d) begin if clk = ‘1’ then q <= d after 2 ns; end if; end process; end basic; entity and2 is port ( a, b : in bit; y : out bit ); end entity and2; architecture basic of and2 is begin process (a, b) begin y <= a and b after 2 ns; end process ; end basic; notice semicolon placements -- odd as it is, omit from last statement

Adnan ShaoutIntro to VHDL25 Structural way...  Declare corresponding components in register architecture body architecture struct of reg4 is component d_latch port ( d, clk : in bit; q : out bit ); end component; component and2 port ( a, b : in bit; y : out bit ); end component; signal int_clk : bit;...

Adnan ShaoutIntro to VHDL26 Structural way..  Now use them to implement the register... begin bit0 : d_latch port map ( d0, int_clk, q0 ); bit1 : d_latch port map ( d1, int_clk, q1 ); bit2 : d_latch port map ( d2, int_clk, q2 ); bit3 : d_latch port map ( d3, int_clk, q3 ); gate : and2 port map ( en, clk, int_clk ); end struct;

Adnan ShaoutIntro to VHDL27 Mixed Behavior and Structure  An architecture can contain both behavioral and structural parts process statements and component instances  collectively called concurrent statements processes can read and assign to signals  Example: register-transfer-level (RTL) Model data path described structurally control section described behaviorally

Adnan ShaoutIntro to VHDL28 Test Bench your Model  Testing a design by simulation  Use a test bench model a Model that uses your Model apply test sequences to your inputs monitors values on output signals  either using simulator  or with a process that verifies correct operation  or logic analyzer

Adnan ShaoutIntro to VHDL29 Basic Design Methodology Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest Bench ASIC or FPGA Place & Route Timing Model Simulate

Adnan ShaoutIntro to VHDL30 VHDL -- conclusion...  Thats it !! in review -- replay presentaion  Now for first asignment design a computer Memory access processor data/address bus display  Always remember to use this knowledge for GOOD...