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.

Slides:



Advertisements
Similar presentations
Multiplexers Section 3-7 Mano & Kime. Multiplexers & Demultiplexers Multiplexers (Selectors) Lab 1 – Behavioral VHDL -- Multiplexers MUX as a Universal.
Advertisements

Introduction to VHDL CLASS MATERIALS EECE 255. Very High Speed Integrated Circuit Hardware Description Language Industry standard language to describe.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
History TTL-logic PAL (Programmable Array Logic)
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.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Introduction to VHDL Multiplexers. Introduction to VHDL VHDL is an acronym for VHSIC (Very High Speed Integrated Circuit) Hardware Description Language.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
ELEN 468 Lecture 191 ELEN 468 Advanced Logic Design Lecture 19 VHDL.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Introduction to VHDL Multiplexers Discussion D1.1.
ECE 331 – Digital System Design Course Introduction and VHDL Fundamentals (Lecture #1)
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Simple Testbenches Behavioral Modeling of Combinational Logic
1 H ardware D escription L anguages Basic Language Concepts.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
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 Part I: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
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 Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
Basic Overview of VHDL Matthew Murach Slides Available at:
VHDL for Combinational Circuits. VHDL We Know Simple assignment statements –f
1 Introduction to VHDL Spring What is VHDL? VHDL can be uses to model and synthesise digital systems. VHDL = VHSIC Hardware Description Language.
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.
1 Introduction to VHDL part 1 Fall Preliminary Class web page egre365/index.html Syllabus Grades: –Quizzes.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
ECE 331 – Digital System Design Multiplexers and Demultiplexers (Lecture #13)
(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.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
L19 – Resolved Signals. Resolved Signals  What are resolved signals In systems In VHDL Resolution – Isn’t that for resolving conflicts?  Ref: text Unit.
George Mason University Simple Testbenches ECE 545 Lecture 4.
9/9/2006DSD,USIT,GGSIPU1 Concurrent vs Sequential Combinational vs Sequential logic –Combinational logic is that in which the output of the circuit depends.
CS/EE 3700 : Fundamentals of Digital System Design
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.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 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.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
VHDL Tutorial.
EGRE 6311 LHO 04 - Subprograms, Packages, and Libraries EGRE 631 1/26/09.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Fundamentals of Digital Signal Processing יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב.
IAY 0600 Digital Systems Design
Combinational logic circuit
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45
Describing Combinational Logic Using Processes
Design Entry: Schematic Capture and VHDL
Combinational Circuits Using VHDL
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
IAS 0600 Digital Systems Design
UNIT 2: Data Flow description
VHDL 1. ver.7a VHDL1 INTRODUCTION TO VHDL (VERY-HIGH-SPEED-INTEGRATED-CIRCUITS HARDWARE DESCRIPTION LANGUAGE) KH WONG (w2 begins) (Some pictures are.
VHDL Discussion Subprograms
VHDL Structural Architecture
Concurrent vs Sequential
Introduction to VHDL part 1
VHDL Discussion Subprograms
ECE 331 – Digital System Design
4-Input Gates VHDL for Loops
Digital Logic with VHDL
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

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 VHDL program. The VHDL description can be simulate to verify the systems behavior and it can then be synthesized and programmed into an FPGA. A VHDL program typically consists of at least two parts. These parts are called the entity and architecture. Entity – Declaration of a modules input and output. oAnalogous to schematic symbol showing signal pin outs. Architecture – Describes actual behavior and implementation details. –An architecture can have only one entity associated with it, but several architectures may have the same entity. –This means we can have several architectures.

3 Example of Entity Architecture pair for a simple gate ENTITY AND2 is port (X, Y: in BIT; Z: out BIT); end ENTITY AND2; ARCHITECTURE ARC1 OF AND2 IS BEGIN -- After a delay of 2 ns Z <= X and Y after 2 ns; -- Z assumes the value of X and Y. END ARCHITECTURE ARC1;

4 Constants, variables, and signals VHDL objects include constants, variables, and signals. The VHDL use of constants and variables is similar to that in other languages. Signals are new and are typically used to represent voltages on wires.

5 Port signal modes ENTITY AND2 is port (X, Y: in BIT; Z: out BIT); end ENTITY AND2; Type BIT can assume values of only “0” and “1”. Possible entity port modes in – The signal is an input to the entity. out – The signal is an output to the entity. buffer – The signal is an output to the entity, but its value can be read inside the entity’s architecture. inout – The signal can be used as an input or an output. Used for tri- state I/O busses.

6 Standard logic should be use instead of bit Type STD_ULOGIC is ( ‘U’,-- Uninitialized ‘X’,-- Forcing Unknown ‘0’,-- Forcing 0 ‘1’,-- Forcing 1 ‘W’,-- Weak unknown (seldom used) ‘L’,-- Weak 0 (seldom used) ‘H’, -- Weak 1 (seldom used) '-'-- Don’t care );

7 Example using standard logic type LIBRARY IEEE; USE work.all; USE IEEE.Std_Logic_1164.all; -- VHDL library that defines std_logic entity AND2 is port (X, Y: in std_logic; Z: out std_logic); end entity AND2; ARCHITECTURE ARC1 OF AND2 IS BEGIN Z <= X and Y after 2 ns; END ARCHITECTURE ARC1;

8 Example using std_logic_vector input AND gate example LIBRARY IEEE; USE work.all; USE IEEE.Std_Logic_1164.all; entity AND4 is port (X: in std_logic_vector (3 downto 0); Z: out std_logic); end entity AND4; ARCHITECTURE ARC OF AND4 IS BEGIN Z <= X(3) and X(2) and X(1) and X(0); END ARCHITECTURE ARC;

9 74LS138

10 Boolean Operators AND OR NAND NOR XOR XNOR NOT

11 Process The process is a fundamental concept in VHDL Processes are contained within an architecture. –An architecture may contain several processes. Processes execute concurrently (at the same time) Combinational circuits can be modeled without using process. Sequential circuits need processes. Processes provide powerful statements not available outside processes. Example process (A, B) F <= A xor B; end process; Sensitivity list

12 Using VHDL for a BCD to 2421 decoder. library IEEE; use IEEE.std_logic_1164.all; entity VBCD2421 is port ( SWT: in STD_LOGIC_VECTOR (4 downto 1); LED: out STD_LOGIC_VECTOR (8 downto 1) ); end VBCD2421;

13 architecture VBCD2421_arch of VBCD2421 is signal W, X, Y, Z: STD_LOGIC; signal F: STD_LOGIC_VECTOR(3 downto 0); signal V: STD_LOGIC_VECTOR(3 downto 0); signal A, B, C, D: STD_LOGIC; begin W <= SWT(1); X <= SWT(2); Y <= SWT(3); Z <= SWT(4); A <= F(3); B <= F(2); C <= F(1); D <= F(0); LED(8 downto 5) <= D&C&B&A; LED(4 downto 1) <= Z&Y&X&W; V <= W&X&Y&Z;

14 process(V) begin case V is when "0000" => F <= "0000"; when "0001" => F <= "0001"; when "0010" => F <= "0010"; when "0011" => F <= "0011";

15 when "0100" => F <= "0100"; when "0101" => F <= "1011"; when "0110" => F <= "1100"; when "0111" => F <= "1101"; when "1000" => F <= "1110"; when "1001" => F <= "1111"; when others => F <= "----"; -- Don't Cares end case; end process; end VBCD2421_arch;

16