vhdl lecture series-i

Upload: parag-parandkar

Post on 08-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 VHDL Lecture Series-I

    1/21

    VERYHIGH SPEED INTEGRATED CIRCUIT

    HARDWARE DESCRIPTION LANGUAGE

    LECTURE - I

    Presented By :Parag Parandkar

    Assistant Professor,

    Chameli Devi School of Engg., KhandwaRoad, Indore (M.P.), India 452020

    Email: [email protected],[email protected]

    Contact: +919826139931

  • 8/6/2019 VHDL Lecture Series-I

    2/21

    ACKNOWLEDGEMENT

    The Presenter would like to thank and

    acknowledge the power point presentation

    slides of VHDL A Comprehensive tutorial

    by anonymous.

  • 8/6/2019 VHDL Lecture Series-I

    3/21

    CONTENTS COVERAGE

    Introduction System design approach with HDLs

    History of VHDL

    Why VHDL ?

    Simulation Fundamentals

    Simulation Cycle

    Digital Simulator

    Modeling of Hardware Language Basics

    Building Blocks in VHDL

    Design Units and Libraries

  • 8/6/2019 VHDL Lecture Series-I

    4/21

    INTRODUCTION

    System Design Approach with HDLs HDL is mostly related to the front end part of the

    design flow where a system is described withprogramming language constructs.

    A complex system can be easily decomposed intosmaller pieces : improves modularity

    Allows a design to be simulated and synthesizedbefore being manufactured.

    Eliminates hardware prototyping expenses

    Reduces design time

    Increases design reliability at lower costs/time

    req.

  • 8/6/2019 VHDL Lecture Series-I

    5/21

    INTRODUCTION(CONTD.)

    Typical Design flowAlgorithm

    HDL Description (Behavioral)

    Register Transfer Level

    simulation and

    verification

    Synthesizer

    Structural Description

    Physical Layout

    Technology mapping (with ready-made primitives)

    + Floor Planning

    Level of

    abstraction

  • 8/6/2019 VHDL Lecture Series-I

    6/21

    INTRODUCTION(CONTD.)

    Why VHDL ?

    Public Availability

    Developed initiated under Government Contract

    Now is an IEEE standard

    Design Methodology and Design TechnologySupport

    Technology and Process Independent

    Wide Range of Descriptive capabilities

    Digital System (e.g. box) level to gate level

    Capability of mixing descriptions

    Design Exchange

    Large Scale Design and Design re-use

  • 8/6/2019 VHDL Lecture Series-I

    7/21

  • 8/6/2019 VHDL Lecture Series-I

    8/21

    SIMULATION FUNDAMENTALS

    Purpose of simulation is to verify the behavior ofa system by applying stimulation at the inputsand monitoring the response of the system over aperiod of time.

    There are three types of simulators : Purely analog simulator.

    A simulator with both digital and analog simulation capabilities.

    Purely digital simulator.

    In digital simulation only logic level of the

    measured quantity is determined; no precisevalue is required.

    In analog simulation the precise values of themeasured quantities are determined

  • 8/6/2019 VHDL Lecture Series-I

    9/21

    SIMULATION FUNDAMENTALS(CONTD.)

    The system is described with a HardwareDescription Language (HDL). The design

    contains a number of concurrently operating

    blocks connected with each other by signals.

    Maintains node values at logic level.

    Maintains a time wheel to model propagation of

    time.

    Evaluates circuit behavior at intervals of time.

    The interval is chosen as the smallest unit of time

    after which a node can change its state.

  • 8/6/2019 VHDL Lecture Series-I

    10/21

    MODELING HARDWARE

    The VHDL Language

    A language for describing digital and analogsystems.

    Makes no assumptions about the technology. Multiple levels of abstraction for modeling

    BehavioralStructuralDataflowMixed

    Behavioral model, timing model and structuralmodel are integrated. A VHDL process models a block and a VHDL

    signal models the connection between different

    blocks.

  • 8/6/2019 VHDL Lecture Series-I

    11/21

    STRUCTURAL MODEL

    Digital circuits consist of components andinterconnection between them.

    A component can in turn be composed of sub-

    components and their interconnections.

    A component interacts with other components

    through pins.

    Component is modeled as entity.

    Component pins are modeled as ports.

    Interconnections between components are

    modeled as signals.

  • 8/6/2019 VHDL Lecture Series-I

    12/21

    BEHAVIORAL MODEL

    The behavior of a component is modeled insidean architecture body of the entity

    It may be described using a collection ofconcurrently executing statements

    A concurrent statement is sensitive to a set ofinput signals and is executed whenever any of itssensitive signal changes its value

    A concurrent statement called process statementcan contain one or more sequential statements

    A set of sequential statements can be clubbedtogether in a subprogram

  • 8/6/2019 VHDL Lecture Series-I

    13/21

    DATAFLOWMODEL

    The flow of data through the entity is modelledprimarily using concurrent signal assignmentstatements.

    The structure of the entity is not explicitly

    specified but it can be implicitly deduced. Architecture MYARCH of MYENT is

    begin

    SUM

  • 8/6/2019 VHDL Lecture Series-I

    14/21

    ASIMPLE EXAMPLE

    entity Xor_gate isport (in1, in2 : in bit; Out1 : out bit);

    end Xor_gate ;

    architecture behavioral of Xor_gate is

    begin

    process

    begin

    Out1

  • 8/6/2019 VHDL Lecture Series-I

    15/21

    VHDL LIBRARIES DESIGN UNITS

    A VHDL library is a host dependent storage facility forintermediate-form representations of analyzed designunits

    A design unit is a VHDL construction that can beindependently analyzed and stored in a design library. A

    design unit may be a primary or a secondary one. Primary design unit

    entity decl, package decl and configuration decl

    Secondary design unit

    architecture body and package body In a library, there can be only one primary unit of samename but there can be multiple secondary units by samename

    A secondary unit can have name same as primary unit

  • 8/6/2019 VHDL Lecture Series-I

    16/21

    BUILDING BLOCKS IN VHDL

    Entity Declarationgeneric, port, declarations, statements

    Architecture Bodydeclarations, statements

    Subprogram Declarationparameter - list Subprogram Specificationdeclarations statements

    Package Declarationsdeclarations

    Package Bodiesdeclarations, subprogram body

  • 8/6/2019 VHDL Lecture Series-I

    17/21

    ENTITY

    provides a name to the component

    contains the port definitions in the interface

    list

    can contain some generic definitions which

    can be used to override default values entity identifieris

    generic interface_list;

    port interface_list;

    declarations

    begin

    statements

    end [entity] [identifier];

  • 8/6/2019 VHDL Lecture Series-I

    18/21

    EXAMPLE

    entity Adder is

    port ( A : in Bit;

    B : in Bit;Sum : out Bit;

    Cout : out Bit );

    end Adder;

    Adder

    Sum

    Cout

    A

    B

  • 8/6/2019 VHDL Lecture Series-I

    19/21

    ARCHITECTURE

    encapsulates the behavior and timinginformation

    contains a number of concurrent statements

    there can be multiple architecture bodies for a

    given entity

    architecture identifier of entity_name is

    declarationsbegin

    statements

    end [architecture] [identifier];

  • 8/6/2019 VHDL Lecture Series-I

    20/21

    EXAMPLE-1

    architecture Behavioral_Desc ofAdder is

    begin

    process (A, B)Sum

  • 8/6/2019 VHDL Lecture Series-I

    21/21

    EXAMPLE-2

    architecture Struct_Desc ofAdder is

    -- declarationscomponent Or_Comp

    port ( X: in Bit; Y: in Bit; Out: out Bit);

    end component;

    componentAnd_Compport ( X: in Bit; Y: in Bit; Out: out Bit);

    end component;

    begin

    -- component instantiationsA1: Or_Comp port_map ( X=> A,y =>B,Out=> SUM);

    B1: And_Compport_map ( X=> A,y =>B,Out=> Cout);

    end Struct_Desc;