P2a Entity

Embed Size (px)

Citation preview

  • 8/7/2019 P2a Entity

    1/19

    4/25/2011 1

    VHDL Design Units

  • 8/7/2019 P2a Entity

    2/19

    4/25/2011 2

    VHDL Design Units

    Entity

    Package

    Configuration

    Architecture

    Package body

    Primary Design Units

    Secondary Design units

  • 8/7/2019 P2a Entity

    3/19

    4/25/2011 3

    VHDL Terms

    Entity :

    All designs are expressed in terms of entities. An

    entity is the most basic building block in a design.If the design is hierarchical, then the top-leveldescription will have lower-level descriptionscontained in it. These lower-level descriptions will

    be lower-level entities contained in the top-levelentity description

  • 8/7/2019 P2a Entity

    4/19

    4/25/2011 4

    VHDL Terms

    Architecture :

    All entities that can be simulated have an

    architecture description. The architecture describesthe behaviour of the entity. A single entity canhave multiple architectures. One architecture mightbe behavioural while another might be structural

    description of the design.

  • 8/7/2019 P2a Entity

    5/19

    4/25/2011 5

    VHDL Terms

    Configuration :

    A Configuration statement is used to bind a

    component instance to an entity-architecture pair.

    Package :

    A package is a collection of commonly used datatypes and subprograms in a design. (like a toolboxthat contains tools used to build designs)

  • 8/7/2019 P2a Entity

    6/19

    4/25/2011 6

    An Entity and its Model

    Hardware

    Abstraction

    of a

    Digital System

    Entity Declaration

    Entity

    Model

    Architecture Bodies

  • 8/7/2019 P2a Entity

    7/19

    4/25/2011 7

    Components

    Entity

    (Interface)

    Architecture

    (Function)

    Package

    Declaration

    Configuration

    Package

    Body

  • 8/7/2019 P2a Entity

    8/19

    4/25/2011 8

    A VHDL File

  • 8/7/2019 P2a Entity

    9/19

    4/25/2011 9

    Design Entity

    Functional Definition

    Entity Declaration

    Architecture Body

    Entity

    Interface Declaration

  • 8/7/2019 P2a Entity

    10/19

    4/25/2011 10

    Entity

    Declares the design name.

    Provides the port information

    Describes the interface of the design entity.

    The interface includes all inputs, outputs and bi-directional

    signals and generics.

    A declarative part to declare Subprograms, types and

    constants .

    Declarations are visible to all the architectures assigned

    to the entity An entity may contain its own passive statements.

  • 8/7/2019 P2a Entity

    11/19

    4/25/2011 11

    Entity Syntax

    Entity entity-nameis

    [generic (list-of-generics-and-their-types);]

    [port (list-of-interface-port-names-and-their-types);]

    [entity-item-declarations]

    [begin

    entity-statements]

    End [entity][entity_name];

  • 8/7/2019 P2a Entity

    12/19

    4/25/2011 12

    PORTS

    Each I/O signal in an entity declaration is a port.

    Must have a name, a direction (mode) and a data type.

    A port is a data object (signal).

    It can be assigned values and used in expressions.

    port (

    portname : [mode] subtype_indication [:= init_value]

    {; portname : [mode] subtype_indication [:= init_value]}

    );

  • 8/7/2019 P2a Entity

    13/19

    4/25/2011 13

    Port Data Types

    Pre defined

    BooleanBoolean

    bitbit

    bit_vectorbit_vector

    integerinteger

    IEEE std_logic_1164

    std_ulogic , std_logicstd_ulogic , std_logic std_logic_vectorsstd_logic_vectors

  • 8/7/2019 P2a Entity

    14/19

    4/25/2011 14

    Modes

    In - input port, read only

    out - output port , write only

    inout - bi-directional port, read/write,

    multiple drivers

    buffer - read and update, single driver

  • 8/7/2019 P2a Entity

    15/19

    4/25/2011 15

    VHDL Entity

    entity- name of a function and itsinterfaces

    Full adderb_in

    a_in

    cy_ in

    sum_out

    cy_out

  • 8/7/2019 P2a Entity

    16/19

    4/25/2011 16

    Entity

    entity

    fulladder

    is

    port a_in,b_in,cy_in :

    end

    ;

    sum_out,cy_out : ;

    (

    )

    in

    bitout

    bit

    ;

    fulladder

  • 8/7/2019 P2a Entity

    17/19

    4/25/2011 17

    Entity Declarations

    add4

    a

    b

    ci

    4

    4Sum

    co

    4

    EntityEntity add4

  • 8/7/2019 P2a Entity

    18/19

    4/25/2011 18

    Entity Declaration

    ExampleExample

    EntityEntity add4 isis

    portport

    ( a : inin std_logic_vectorstd_logic_vector(3 downto 0);b : inin std_logic_vectorstd_logic_vector(3 downto 0);

    ci : inin std_logicstd_logic;

    sum : outout std_logic_vectorstd_logic_vector(3 downto 0);

    co : outout std_logicstd_logic);

    endend add4;

  • 8/7/2019 P2a Entity

    19/19

    4/25/2011 19

    Example

    entity and2is --and gate

    port (a,b : in bit;

    y : out bit);

    endand2;

    architecture dataflowof and2is

    Begin

    y