© Dr. Alaaeldin Amin 1 Hardware Modeling & Synthesis Using VHDL Very High Speed Integrated Circuits Start Of VHDL Development 1981 1985 First Publication.

Slides:



Advertisements
Similar presentations
ENEL111 Digital Electronics
Advertisements

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.
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
VHDL Structural Architecture ENG241 Week #5 1. Fall 2012ENG241/Digital Design2 VHDL Design Styles Components and interconnects structural VHDL Design.
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.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
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.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
GOOD MORNING.
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 (part 2)
Design methodology.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
VHDL Structured Logic Design School of Electrical Engineering University of Belgrade Department of Computer Engineering Ivan Dugic Veljko.
1 Digital System Design Subject Name : Digital System Design Course Code : IT- 308 Instructor : Amit Prakash Singh Home page :
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
1 H ardware D escription L anguages Modeling Digital Systems.
Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.
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.
COE 405 Design and Modeling of Digital Systems
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 4 Step 1 in transitioning to behavioral modeling. We will wire behavioral.
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.
Reconfigurable Computing - VHDL John Morris Chung-Ang University The University of Auckland.
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Basic Overview of VHDL Matthew Murach Slides Available at:
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.
Reconfigurable Computing - VHDL John Morris Computer Science/ Electrical and Computer Engineering The University of Auckland Iolanthe racing off Fremantle,
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 component OR_3 port (A,B,C: in bit; Z: out bit); end component ; Reserved Words  Declarations of Components and Entities are similar  Components are.
M. Balakrishnan Dept of Computer Science & Engg. I.I.T. Delhi
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.
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.
CEC 220 Digital Circuit Design Introduction to VHDL Wed, February 25 CEC 220 Digital Circuit Design Slide 1 of 19.
ECNG 1014: Digital Electronics Lecture 5: Introduction to VHDL This presentation can be used for non-commercial purposes as long as this note and the copyright.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
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.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
CEC 220 Digital Circuit Design Introduction to VHDL Friday, February 21 CEC 220 Digital Circuit Design Slide 1 of 10.
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.
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.
Combinational Logic Design
Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45
Verilog-HDL-1 by Dr. Amin Danial Asham.
VHDL VHSIC Hardware Description Language VHSIC
VHDL Discussion Subprograms
VHDL Structural Architecture
VHDL Introduction.
VHDL Discussion Subprograms
Hardware Modeling & Synthesis Using VHDL
EEL4712 Digital Design (VHDL Tutorial).
VHDL - Introduction.
Presentation transcript:

© Dr. Alaaeldin Amin 1 Hardware Modeling & Synthesis Using VHDL Very High Speed Integrated Circuits Start Of VHDL Development First Publication (Base-Line) First Publication Of VHDL Standard Publication Of Revised VHDL Standard VHDL = VHSIC Hardware Description Language

© Dr. Alaaeldin Amin 2 Background OBJECTIVES: Provide a Standard Medium For –Design Modeling –Design Documentation VHDL is an IEEE Standard (Language Standard) –IEEE VHDL-87 –IEEE VHDL-93 VHDL-93 is Upward Compatible with the VHDL-87 (Minor Differences May Require Code Modification) Requires Simulation and Synthesis Tools By The End of 1995, Most Simulation Tools Have Incorporated Support for the VHDL-93 VHDL Is Also Used For Design Synthesis

© Dr. Alaaeldin Amin 3 VHDL Advantages Modular Hierarchical, Allows Design Description : –TOP - DOWN, –BOTTOM - UP, Portable Can Describe the Same Design Entity using More than one View (Domain): –The Behavioral View ( e.g. as an algorithm, Register- Transfer (Data Flow), Input-Output Relations, etc) –The Structural View. This Allows Investigation of Design Alternatives of the Same Entity It Also Allows Delayed Detailed Implementations. Can Model Systms at Various Levels of Abstraction (System, chip RTL, Logic (Gate)) VHDL Can be Made to Simulate Timing At Reasonable Accuracy.

© Dr. Alaaeldin Amin 4 VHDL synthesis

© Dr. Alaaeldin Amin 5 Hardware MOdeling using vhdl VHDL is NOT CaSe-SeNsItIvE, Thus: Begin = begin = beGiN Semicolon “ ; ” Terminates Declarations or Statements. Line Feeds and Carriage Returns are not Significant in VHDL. DESIGN ENTITY Interface Specs Name Ports (In, Out, InOut) Attributes ICON Architectural Specs Behavioral (Algorithmic, DataFlow) Structural A B Z Name Basic Modeling Unit

© Dr. Alaaeldin Amin 6 Example “Ones Count CIRCUIT” Value of C1 C0 = No. of Ones in the Inputs A2, A1, and A0 C1 is the Majority Function (=1 IFF Two or More Inputs =1) C0 is a 3-Bit Odd-Parity Function (OPAR3)) C1 = A1 A0 + A2 A0 + A2 A1 C0 = A2 A1’ A0’ + A2’ A1’ A0 + A2 A1 A0 + A2’ A1 A0’ A0 A2 C0 A1 C1 ONES_CNT C1 Majority Fun C0 Function AND2AND3OR3 OR4

© Dr. Alaaeldin Amin 7 Example “Ones Count CIRCUIT INTERFACE SPecs entity ONES_CNT is port ( A : in BIT_VECTOR(2 downto 0); C : out BIT_VECTOR(1 downto 0)); -- Function Documentation of ONES_CNT -- (Truth Table Form) This is a COMMENT -- ___________________ -- | A2 A1 A0 | C1 C0 | -- | | | -- | | 0 0 | -- | | 0 1 | -- | | 0 1 | -- | | 1 0 | -- | | 0 1 | -- | | 1 0 | -- | | 1 0 | -- | | 1 1 | -- |__________ |________| -- end ONES_CNT; DOCUMENTATIONDOCUMENTATION

© Dr. Alaaeldin Amin 8 example “Ones Count CIRCUIT Architectural Body ((((( Behavioral view-1 ))))) architecture Algorithmic of ONES_CNT is begin Process(A) -- Sensitivity List Contains only Vector A Variable num: INTEGER range 0 to 3; begin num :=0; For i in 0 to 2 Loop IF A(i) = '1' then num := num+1; end if; end Loop; Transfer "num" Variable Value to a SIGNAL -- CASE num is WHEN 0 => C <= "00"; WHEN 1 => C <= "01"; WHEN 2 => C <= "10"; WHEN 3 => C <= "11"; end CASE; -- end process; end Algorithmic;

© Dr. Alaaeldin Amin 9 example “Ones Count CIRCUIT Architectural Body ( Behavioral (Data Flow) view - 2 ) architecture Two_Level of ONES_CNT is begin C(1) <=(A(1) and A(0)) or (A(2) and A(0)) or (A(2) and A(1)); -- C(0) <= (A(2) and not A(1) and not A(0)) or (not A(2) and not A(1) and A(0)) or (A(2) and A(1) and A(0)) or (not A(2) and A(1) and not A(0)); end Two_Level; C1 = A1 A0 + A2 A0 + A2 A1 C0 = A2 A1’ A0’ + A2’ A1’ A0 + A2 A1 A0 + A2’ A1 A0’

© Dr. Alaaeldin Amin 10 architecture Macro of ONES_CNT is begin C(1) <= MAJ3(A); -- C(0) <= OPAR3(A); end Macro ; Example “Ones Count CIRCUIT Architectural Body ( Behavioral (Data Flow) view - 3 ) Using Functions Functions OPAR3 and MAJ3 Must Have Been Declared and Defined Previously

© Dr. Alaaeldin Amin 11 example “Ones Count CIRCUIT Architectural Body ((((( Behavioral view -4 ))))) architecture Truth_Table of ONES_CNT is begin -- Process(A) -- Sensitivity List Contains only Vector A Variable num: BIT_VECTOR(2 downto 0); begin num :=A; CASE num is WHEN "000" => C <= "00"; WHEN "001" => C <= "01"; WHEN "010" => C <= "01"; WHEN "011" => C <= "10"; WHEN "100" => C <= "01"; WHEN "101" => C <= "10"; WHEN "110" => C <= "10"; WHEN "111" => C <= "11"; end CASE; -- end process; end Truth_Table;

© Dr. Alaaeldin Amin 12 “Ones Count CIRCUIT example ” C1 = A1 A0 + A2 A0 + A2 A1 =MAJ3(A) C0 = A2 A1’ A0’ + A2’ A1’ A0 + A2 A1 A0 + A2’ A1 A0’ = OPAR3(A) ONES_CNT C1 Majority Fun C0 Odd-Parity Fun AND2AND3OR3OR4 VHDL STRUCTURAL DESCRIPTION entity MAJ3 is PORT( X: in BIT_Vector(2 downto 0); Z: out BIT); end MAJ3; Structural Design Hierarchy entity OPAR3 is PORT( X: in BIT_Vector(2 downto 0); Z: out BIT); end OPAR3;

© Dr. Alaaeldin Amin 13 VHDL STRUCTURAL DESCRIPTION Maj3 Majority Function architecture Structural of MAJ3 is COMPONENT AND2 PORT( I1, I2: in BIT; Declare Components O: out BIT); To Be Instantiated END COMPONENT; COMPONENT OR3 PORT( I1, I2, I3: in BIT; O: out BIT); END COMPONENT; -- SIGNAL A1, A2, A3: BIT; Declare Maj3 Local Signals begin -- Instantiate Gates g1: AND2 PORT MAP (X(0), X(1), A1); g2: AND2 PORT MAP (X(0), X(2), A2); Wiring of g3: AND2 PORT MAP (X(1), X(2), A3); Maj3 g4: OR3 PORT MAP (A1, A2, A3, Z); Compts. end Structural;

© Dr. Alaaeldin Amin 14 entity OPAR3 is PORT( X: in BIT_Vector(2 downto 0); Interface Specs Z: out BIT); end OPAR3; -- architecture Structural of OPAR3 is COMPONENT INV PORT(Ipt: in BIT; Opt: out BIT); END COMPONENT; COMPONENT NAND3 PORT( I1, I2, I3: in BIT; O: out BIT); END COMPONENT; COMPONENT NAND4 PORT( I1, I2, I3, I4: in BIT; O: out BIT); END COMPONENT; -- SIGNAL A1B, A2B, A0B, Z1, Z2, Z3, Z4: BIT; Architecture beginBody -- Instantiate Gates g1: INV PORT MAP (X(0), A0B); g2: INV PORT MAP (X(1), A1B); g3: INV PORT MAP (X(2), A2B); g4: NAND3 PORT MAP (X(2), A1B, A0B, Z1); g5: NAND3 PORT MAP (X(0), A1B, A2B, Z2); g6: NAND3 PORT MAP (X(0), X(1), X(2), Z3); g7: NAND3 PORT MAP (X(1), A2B, A0B, Z4); g8: NAND4 PORT MAP (Z1, Z2, Z3, Z4, Z); end Structural;

© Dr. Alaaeldin Amin 15 C0 Odd-Parity (OPAR3) g8 architecture Structural of OPAR3 is Component INV PORT( Ipt: in BIT; Opt: out BIT); end Component ; Component NAND3 PORT( I1, I2, I3: in BIT; O: out BIT); end Component ; Component NAND4 PORT( I1, I2, I3, I4: in BIT; O: out BIT); end Component ; -- SIGNAL A1B, A2B, A0B, Z1, Z2, Z3, Z4: BIT; begin g1: INV PORT MAP (X(0), A0B); g2: INV PORT MAP (X(1), A1B); g3: INV PORT MAP (X(2), A2B); g4: NAND3 PORT MAP (X(2), A1B, A0B, Z1); g5: NAND3 PORT MAP (X(0), A1B, A2B, Z2); g6: NAND3 PORT MAP (X(0), X(1), X(2), Z3); g7: NAND3 PORT MAP (X(1), A2B, A0B, Z4); g8: NAND4 PORT MAP (Z1, Z2, Z3, Z4, Z); end Structural;

© Dr. Alaaeldin Amin 16 Top Structural level of ones_cnt architecture Structural of ONES_CNT is COMPONENT MAJ3 PORT( X: in BIT_Vector(0 to 2); Z: out BIT); END COMPONENT; COMPONENT OPAR3 PORT( X: in BIT_Vector(0 to 2); Z: out BIT); END COMPONENT; -- begin -- Instantiate Components -- c1: MAJ3 PORT MAP (A, C(1)); c2: OPAR3 PORT MAP (A, C(0)); end Structural;

© Dr. Alaaeldin Amin 17 Behavioral definition of lower level components entity INV is PORT( Ipt: in BIT; Opt: out BIT); end INV; -- architecture behavior of INV is begin Opt <= not Ipt; end behavior; entity NAND2 is PORT( I1, I2: in BIT; O: out BIT); end NAND2; -- architecture behavior of NAND2 is begin O <= not (I1 and I2); end behavior; Similarly Other Lower Level Gates Are Defined