Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45

Slides:



Advertisements
Similar presentations
ENEL111 Digital Electronics
Advertisements

1 Introduction to VHDL (Continued) EE19D. 2 Basic elements of a VHDL Model Package Declaration ENTITY (interface description) ARCHITECTURE (functionality)
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.
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.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
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.
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.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
1 H ardware D escription L anguages Basic Language Concepts.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
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.
VHDL – Dataflow and Structural Modeling and Testbenches ENGIN 341 – Advanced Digital Design University of Massachusetts Boston Department of Engineering.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to VHDL An Overview / Review.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description 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.
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.
HARDWARE DESCRIPTION LANGUAGE (HDL). What is HDL? A type of programming language for sampling and modeling of electronic & logic circuit designs It can.
(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.
Lecture #7 Page 1 Lecture #7 Agenda 1.VHDL Data Types Announcements 1.n/a ECE 4110– Digital 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.
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.
Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1 Chapter 1: Introduction Prof. Ming-Bo.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
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.
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.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Design Entry: Schematic Capture and VHDL
Dataflow Style Combinational Design with VHDL
HDL Programming Fundamentals
ECE 4110–5110 Digital System Design
Hardware Descriptive Languages these notes are taken from Mano’s book
UNIT 2: Data Flow description
CHAPTER 10 Introduction to VHDL
VHDL VHSIC Hardware Description Language VHSIC
Introduction to Verilog
Lecture 1.3 Hardware Description Languages (HDLs)
Hardware Descriptive Languages these notes are taken from Mano’s book
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
CPE 528: Lecture #3 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
UNIT 6: Mixed-Type Description
Hardware Modeling & Synthesis Using VHDL
Digital Designs – What does it take
Introduction to Digital IC Design
Design units Lecture 2.
COE 202 Introduction to Verilog
EEL4712 Digital Design (VHDL Tutorial).
VHDL - Introduction.
Presentation transcript:

Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45 Prepared By: DIVYA P K Department: ELECTRONICS AND COMMUNICATION Date: 26-02-2015 5/17/2018

Hardware Description Language - Introduction HDL is a language that describes the hardware of digital systems in a textual form. It resembles a programming language, but is specifically oriented to describing hardware structures and behaviors. The main difference with the traditional programming languages is HDL’s representation of extensive parallel operations whereas traditional ones represents mostly serial operations. The most common use of a HDL is to provide an alternative to schematics. 5/17/2018

– VHDL (VHSIC (Very High Speed Integrated Circuits) Most popular HDLs are – VHDL (VHSIC (Very High Speed Integrated Circuits) HDL – Developed for the U. S. DOD. – Verilog® – Developed by Gateway Design Automation, which was bought by Cadence® Design Systems. . 5/17/2018

VHDL (VHSIC (Very High Speed Integrated Circuits) VHDL is the most common Large standard developed by US DoD VHDL = VHSIC HDL VHSIC = Very High Speed Integrated Circuit 5/17/2018

VERILOG HDL Verilog HDL is second most common Easier to use in many ways = better for teaching C - like syntax History Developed as proprietary language in 1985 Opened as public domain spec in 1990 Due to losing market share to VHDL Became IEEE standard in 1995 5/17/2018

STRUCTURE OF DATA FLOW DESCRIPTION LIBRARY declarations: Contains a list of all libraries to be used in the design. For Example: ieee, std, work, etc. ENTITY: Specifies the I/O pins of the circuit. ARCHITECTURE: Contains the VHDL code, which describes how the circuit should behave (function). 5/17/2018

VHDL PORTS in input port. A variable or a signal can read a value from a port of mode in, but is not allowed to assign a value to it. out output port. It is allowed to make signal assignments to a port of the mode out, but it is not legal to read from it. inout bi-directional port. Both assignments to such a port and reading from it are allowed. buffer output port with read capability. It differs from inout in that it can be updated by at most one source, whereas inout can be updated by zero or more sources. linkage . The value of the port may be read or updated, but only by appearing as an actual corresponding to an interface object of mode linkage. 5/17/2018

MODULES Let’s start to consider systems without hierarchy (no submodules) A module contains objects declarations and concurrent processes that operate in parallel. Initial blocks Always blocks Continuous assignments (instantiations of submodules) 5/17/2018

VERILOG PORTS in input port. A variable or a signal can read a value from a port of mode in, but is not allowed to assign a value to it. out output port. It is allowed to make signal assignments to a port of the mode out, but it is not legal to read from it. inout bi-directional port. Both assignments to such a port and reading from it are allowed. 5/17/2018 5/17/2018

OPERATORS TYPES 5/17/2018 5/17/2018

5/17/2018

DATA TYPES Scalar Data Types (Built into VHDL) - scalar means that the type only has one value at any given time Boolean - values {TRUE, FALSE} - not the same as '0' or '1' Character - values are all symbols in the 8-bit ISO8859-1 set (i.e., Latin-1) - examples are '0', '+', 'A', 'a', '\' Integer - values are whole numbers from -2,147,483,647 to +2,147,483,647 - the range comes from +/- 232 - examples are -12, 0, 1002 Real - values are fractional numbers from -1.0E308 to +1.0E308 - examples are 0.0, 1.134, 1.0E5 Bit - values {'0', '1'} - different from Boolean - this type can be used for logic gates - single bits are always represented with single quotes (i.e., '0', '1') Scalar Data Types (Built into VHDL) - scalar means that the type only has one value at any given time Boolean - values {TRUE, FALSE} - not the same as '0' or '1' Character - values are all symbols in the 8-bit ISO8859-1 set (i.e., Latin-1) - examples are '0', '+', 'A', 'a', '\' Integer - values are whole numbers from -2,147,483,647 to +2,147,483,647 - the range comes from +/- 232 - examples are -12, 0, 1002 Real - values are fractional numbers from -1.0E308 to +1.0E308 - examples are 0.0, 1.134, 1.0E5 Bit - values {'0', '1'} - different from Boolean - this type can be used for logic gates - single bits are always represented with single quotes (i.e., '0', '1') 5/17/2018

DATA TYPES Array Data Types (Built into VHDL) - array is a name that represents multiple signals Bit_Vector - vector of bits, values {'0', '1'} - array values are represented with double quotes (i.e., "0010") - this type can be used for logic gates ex) Addr_bus : in BIT_VECTOR (7 downto 0); - unlimited range - first element of array has index=0 (i.e., Addr_bus(0)…) String - vector of characters, values{Latin-1} - again use double quotes - define using "to" or "downto" ("to" is easier for strings) ex) Message : string (1 to 10) := "message here…" - first element in array has index=1, this is different from BIT_VECTOR 5/17/2018

DATA TYPES Physical Data Types (Built into VHDL) - these types contain object value and units - NOT synthesizable Time - range from -2,147,483,647 to +2,147,483,647 - units: fs, ps, ns, us, ms, sec, min, hr User-Defined Enumerated Types - we can create our own descriptive types, useful for State Machine - no quotes needed ex) type States is (Red, Yellow, Green); 5/17/2018

STD_LOGIC Data Types STD_LOGIC - we talked about the need for realistic data types to model busses and drive strength - within VHDL we only have BIT and BIT_VECTOR to model logic gates - these don't work for the real world - we need to use the IEEE.STD_LOGIC_1164.ALL package STD_LOGIC - "resolved" data type, scalar (analogous to BIT, but with drive strength) STD_LOGIC_VECTOR - "resolved" data type, vector (analogous to BIT_VECTOR, but with drive strength) - we use this package by entering the following: library IEEE; use IEEE.STD_LOGIC_1164.ALL 5/17/2018

STD_LOGIC Data Types Resolution - These types have the following possible values U = Un-Initialized X = Forcing Unknown 0 = Forcing '0' 1 = Forcing '1' Z = Forcing 'Z' W = Weak Unknown L = Weak '0' H = Weak '1' - = Don't Care - There is a table that VHDL can go to in order to "Resolve" any of the following conditions on a single line ex) 0 and H = 0 0 and 1 = 0 - we will always use these data types (from now on, don't use BIT or BIT_VECTOR) 5/17/2018

Structural Description – This is directly equivalent to the schematic of a circuit and is specifically oriented to describing hardware structures using the components of a circuit. Dataflow Description – This describes a circuit in terms of function rather than structure and is made up of concurrent assignment statements or their equivalent. Concurrent assignments statements are executed concurrently, i.e. in parallel whenever one of the values on the right hand side of the statement changes. Behavioral description- The Behavioral VHDL module describes features of the language that describe the behavior of components in response to signals. Behavioral descriptions of hardware utilize software engineering practices and constructs to achieve a functional model. Timing information is not necessary in a behavioral description, although such information may be included easily. 5/17/2018

Styles (Types) of Description Behavioral Description entity half_add is port (I1, I2 : in bit; O1, O2 : out bit); end half_add ; architecture behave_ex of half_add is --The architecture consists of a process construct begin process (I1, I2) --The above statement is process statement O1 <= I1 xor I2 after 10 ns ; O2 <= I1 and I2 after 10 ns;   end process; end behave_ex; 5/17/2018

port (a, b : in std_logic; sum, cout : out std_logic); end system; STRUCTURAL entity system is port (a, b : in std_logic; sum, cout : out std_logic); end system; architecture struct_exple of system is component xor2 --The above statement is a component statement port(I1, I2 : in std_logic; O1 : out std_logic); end component; component and2 begin X1: xor2 port map (a,b, sum); A1: and2 port map (a,b, cout); end struct_exple; 5/17/2018

Switch-Level Description entity Inverter is Port (y : out std_logic; a: in std_logic );--VHDL does not have built-in switch-level end Inverter; architecture Invert_switch of Inverter is component nmos --nmos is one of the key words for switch-level. port (O1: out std_logic; I1, I2 : in std_logic); end component; ………….. for all: pmos use entity work. mos (pmos_behavioral); for all: nmos use entity work. mos (nmos_behavioral); --The above two statements are referring to a package mos --See details in Chapter 5 constant vdd: std_logic := '1'; constant gnd : std_logic:= '0'; begin p1 : pmos port map (y, vdd, a); n1: nmos port map (y, gnd, a); end Invert_switch; 5/17/2018

architecture HA_DtFl of halfadder is Data Flow Description entity halfadder is port ( a: in bit; b: in bit; s: out bit; c: out bit); end halfadder; architecture HA_DtFl of halfadder is --The architecture has no process, component, cmos, --tranif0, tran,or tranif0 begin s <= a xor b; c <= a and b; end HA_DtFl; 5/17/2018

Two Models for VHDL Programs • Two models • Simulation – Describe the behavior of the circuit in terms of input signals, the output signals, knowledge of delays – Behavior described in terms of occurrences of events and waveforms on signals • Synthesis – Reverse process – inference of hardware from description – The synthesis tool will infer a hardware architecture from the VHDL model – When writing a VHDL program, think of the hardware that synthesis tool would infer from it 5/17/2018

DIFFERENCE BETWEEN VHDL AND VERILOG DATA TYPES Type oriented language User defined type Can handle multidimensional array types Ease of learning Hard to learn because of its rigid type requirements Libraries and packages Can be attached to Standard VHDL packages Operators VHDL Operators does not have predefined Unary Operators Procedures and Tasks VHDL allows a function to be written inside the procedures body DATA TYPES All type defined by language Not User defined type Can not handle multidimensional array types Ease of learning User just write the module without worrying about what library or package should be obtained Libraries and packages There is a no concept of Libraries and packages Operators VHDL Operators have predefined Unary Operators Procedures and Tasks Functions are not allowed to be written inside the task’s body 5/17/2018