stracture vhdl +

Upload: morteza-moti

Post on 05-Apr-2018

244 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Stracture vhdl +

    1/23

    1

    !" # ! $ %

    &

    Morteza Shabanzadeh [email protected]

    ! " #$%& ' ( ) '*" +,- . " #/012345

    /6 -%728/'*"23( *+93& " ' : '*" 3( * +;

    < =;>$

    ? " '@1( A @ " %4 7 A 341 */" ( A 2?" B C 0 " '* ' A+

    DE

    www.IranMedar.com

  • 7/31/2019 Stracture vhdl +

    2/23

    2

    '( ) *+, - ) .- / * 0 1). 2 ' % 0VHDL3)4- 5 ) %*VHDL%*+ )6

    ! "# #$$$% &" &" ' (&) * !+, ,&" " ,+ -+ &( ( . " %/ ' 0) %" 1 &" ( %( ) 2#1 &3 4+ %

    5 6 " 7 8 % &9 &: . &" # ; 2 < =+ # ) > %" ? @A" 0+& B C #

    0DEF &3 G E ";D H C %- ! # 5 H+ E ! &" & 9 & # + 2 1 " =+ & &I JK,L&M+ 8( %" + # (&) %" (&) H+ D 4 C N3 5 / &" , ODE #P%"D! (&) %, ,5 -+ -" 5 Q) ! &R% 4 , #

    ) %S& " %" 1. 7 ) + ! #K-+ % 4 1 DEL-+ 1. -" % 4 #5T%" F ,+ # % &9 & 1 &" ( 7 U % 4 ,+ #& %" ! 1 1. %( . "0+ 5 V&E %( 4

    1. W 2 C FNC& 9$

    F * & 4 ) ' A G H0'& 0 '* IJK*L

    Context Clauses

    Library Clause

    Use Clause

    Library Units

    Package Declaration (optional)

    Package Body (optional)

    Entity Declaration

    Architecture Body

    ! %4" ! &M N O 'P Q RS ) ' *. ".

    ! !!!

    " " " " # $ # $ # $ # $%%%%&&&&

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    3/23

    3

    Y_chartL

    %

    % TS

    '!"

    #

    '@'S % H " %& 4 G 'J U BJ * 'P * & 4 ! %* A 7 T 34 ' 1" '* 1L0 V3 7 A 1 ) '@ "'S % H " N 0T 4 W) " # A 7 ) A O B& 'J U N X&*%&+OY

    7 ' *) ?" R* 3( 4 A 0 .( '* 7 3 8 B 8 % " 7 ) " '%&) BP883( 40 - *Z I " * A " '* 7 - 0 '4(+[ 4'J U(((())))" '*% ' = \]4 O ) 'J U ^ % * _ ]4 " 7% % % % \]4'M]0*+++ ) ^ ` B 8 34+

    A % ^ ` NYJ * "****A a " 1 7 " @ = 3Y R` '* # A) 4 P7 34+

    " A" @ - 0b 3 .* " A) 4 P7 '4 . 'J U _ ]4 4 " '* 734 -'*' )'@ . A) 4 ?" # A 7 ) BM%&* " H+

    '* " @ = '4 ) c#A %( 4 ^ ` G _ U7 ' ` A J ) B@1%*0 *

    " + " + " + " +B Pd+A) 4 P7 G T "_ U 7 -X ]* '*A %( 4- A J 4" '* H '%4 " ? S" ! = ? 7 e %+" 7 " H ! d.O ) ' %* ! O " '* . A %( 4 ^ ` 0 '* B@+

    ^ ` - ` G " B @ M '*'@ . ^ 3 " 0 # 34"! C 1*3( 4d f %4 )+

    . 3 4 ^ ` ) G BJ * - '* A. * A .! ,"! ,"! ,"! ,"@%1# ` J Y * ' " 434 g# @* " )+

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    4/23

    4

    % G A @ ' ( ? RL

    LIBRARY library_name ;

    N h*L

    - ---- ---. $. $. $. $- ---

    - ---

    / /// / ///. $. $. $. $/ /// - ---

    G A @ ' ( ? R$ $ $ $ % B( " )WLUSE library_name . package_name .ALL; N h*L++++ 0000 ) ))) ) )))11231123112311230000 ----++++ 0000 ) ))) ) ))) 0000 ----++++ 0000 ) ))) ) ))) 0 000 ----++++ 0000 ) ))) ) ))) 0 000 ----++++ 0 000 4444 5 5550000 ----

    ++++ 0 000 4444 5 5550000 44445555 //// 0000 )))) ) )))11231123112311230000 ----

    ' i 6 6 6 6 L

    ENTITY entity_name ISGENERIC( parameter_name : string := default_value ;

    parameter_name : integer := default_value );PORT(

    input_name , input_name : IN STD_LOGIC;input_vector_name : IN STD_LOGIC_VECTOR( high downto low);bidir_name , bidir_name : INOUT STD_LOGIC;output_name , output_name : OUT STD_LOGIC);

    END entity_name ;

    %4"'O ( A" A # j Q RS ) _ U ]8 A k B@7 ' * I0*' ( " !l C?" %4" 7 '*+

    m * ! P=6 * ) 0 @ 3& '* .Sn 1 'J U N J "c *" 7 %7 '*+) A S h*0 PL

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    5/23

    5

    N h*L) Aentityj oK p GD+6666 ))))

    7777 8888 ) ))) ) )))* * * * 77779 99 9 .... : :::;;;;----$$$$ 8888 ) ))) - ---

    6666 8888 ) ))) - ---" " " " 8 ) -8 ) -8 ) -8 ) -" " " " 8 )8 )8 )8 ) - ---

  • 7/31/2019 Stracture vhdl +

    6/23

    6

    ' i " " " " L

    ARCHITECTURE arch_name OF entity_name ISSIGNAL signal_name : STD_LOGIC;SIGNAL signal_name : STD_LOGIC;

    BEGIN-- Process Statement

    -- Concurrent Procedure Call

    -- Concurrent Signal Assignment

    -- Conditional Signal Assignment O *. ] " O ! ` " ! P= - '*7 '*

    -- Selected Signal Assignment

    -- Component Instantiation Statement

    -- Generate Statement

    END arch_name ;

    N h*L " " " " ) ))) ) ))) 4444

    BR*' ( " !l C ^1 111 8888 ) ))) ----# # # #

    * " @ = " " _ 71111 ????==== - ---????==== 1111 $$$$ ----

    - ---

    -%7 A O "34 A %(+

    37 ) B@7 '* * -L " " " " ) ))) ) ))) 4 4 4 4

    BR*' ( " !l C ^1 111 8888 ) ))) - ---# # # #

    * " @ = " " _ 7 ????==== 1111 $$$$ ----1111 ????==== - ---

    - ---" * m ]( -%7 H O " * " - " " " "343r = 0 ' '8 s H % Y *

    34 - " " " "B@70 * * T " qK( '0 0 '* B = ' *. " " " "+++'* # * t( t( " CR0* ' u - A "B( " " 34

    " " " "0 B R ' " M* H@ *. ] ! %4" ! P= '* '* " (G 3 8 " %PS(ZGb &(Z ' A " B = " . 'M]0* A % )07 '*+

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    7/23

    7

    %4" ' i L CASE expression IS

    WHEN constant_value =>statement;statement;

    WHEN constant_value =>statement;statement;

    . ! P= - '*'P ! Ct( t(7 '* O

    .

    .

    WHEN OTHERS =>statement;statement;

    END CASE;

    %4"%4" G b3& '* v%J gS 7 '* O t( t( F ' ( " ! P= '0 34B( " " 7 %7+

    N h*L

    @@@@::::AAAA ====BBBB ????==== ----@@@@1111AAAA ====BBBB ????==== ----

    6666 - ---

    .... ! P= -@ * A %S J '* 3& '* ! C0 " " 1 %7H0 "" 7 w+ N h*L

    : ::: ====BBBB ????====CCCC----T ='0 *7 '*+1 111DDDD5555 ====BBBB ????====5555----

    = ===BBBB ????====::::----6666 - ---

    N h*L

    : ::: ====BBBB ????====> >> >----1 111 19 19 19 19 ====BBBB ????====9 99 9----5C5C5C5C .... 1E1E1E1E ====BBBB ????====5555----

    = ===BBBB ????====::::----6666 - ---

    -@ * A %S J ?" R*4444 07 %7 " ' 7 x P+

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    8/23

  • 7/31/2019 Stracture vhdl +

    9/23

    9

    ^ ' L* %( 4 O vl *'*)" ) '@" ?" %4 )L

    I+ &J 3& S3Y 4 **** Lprocess_label :PROCESS ( signal_name , signal_name , signal_name )

    VARIABLE variable_name : STD_LOGIC;VARIABLE variable_name : STD_LOGIC;BEGIN

    -- Signal Assignment Statement

    -- Variable Assignment Statement

    -- Procedure Call Statement

    -- If Statement

    -- Case Statement

    -- Loop Statement

    END PROCESS process_label ;

    ---------------------------------------------------------------

    II 3Y 4 &J 3& S! P= G.... ,.... ,.... ,.... Lprocess_label :PROCESS

    VARIABLE variable_name : STD_LOGIC;VARIABLE variable_name : STD_LOGIC;

    BEGIN

    WAIT UNTIL clk_signal = '1' ; .%04 B 8 z

    -- Signal Assignment Statement

    -- Variable Assignment Statement

    -- Procedure Call Statement

    -- If Statement

    -- Case Statement

    -- Loop Statement

    END PROCESS process_label ;

    3 !{ O '*D|'& ` " N % H " A . 3 4 ! * A%4" t4 7 '* %7" @0 '0 - ! %4" - % * - " } # ) '@ 7 '*+

    %4" " ( 34 B( " '0" 7 '* %7

    c@= W B( " Y * ! C0 '*+

    (Z ~J %PS" "

    %4" " ( 34 B( " '0" 7 '* %7

    c@= W B( " Y * ! C0 '*+

    (Z ~J %PS" "

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    10/23

    10

    N h*L%4"process'P A * A '*Combinational 3& S B( " " A " ! ` - " Oy - %@b " " 8 3 4 &J3 aprocess0 S I " * 'O ( ?" cJ y -+

    7 777 " " " " //// # # # # //// ;;;;

    ????= 7= 7= 7= 7 " # " # " # " # ; ;;; - ----

    ---

    N h*L%4"process'P A * A '*Sequential" ! ` - 37A clock 8 * '( "A "

    enableresetpreset3 4 &J 3& S B( " "process" " 8P@ ) '@ 3 a y R*process O ( " 'P ! P= - # l )S I " * 'O ( 0 +

    7 777 $$$$ / /// ; ;;;

    ====AAAA1111AAAA????= 7= 7= 7= 7 = ===BBBBAAAA::::AAAA;;;;----7777 $A * $$A * $$A * $$A * $= ===AAAA1111AAAA;;;;

    ????==== JJJJ1111---- - ---

    - --- ! P=====BBBBAAAA::::AAAA34 '0 * -A % '*' " 4 A - `? 7 ?" %4 -%7 - ) '*' l U v%P& ) A H????====GGGG::::::::::::::::::::::::::::::::G GGG----" ?" %4 .+

    ! P=$A * $$A * $$A * $$A * $= ===AAAA1111AAAA'0 *" ? lPScS #$$$$7 '*+O 8 "$A *$A *$A *$A *

    cS # PS " y *$$$$O 7 '*$$$$====AAAA1111AAAA? l *PS "7 '* 3= 4 cS #+ %4" ' d IJK* F ]* - * " " '*+

    '%4"KKKK KKKK L

    IF expression THENstatement ;statement ;

    ELSIF expression THEN

    statement ;statement ;

    ELSEstatement ;statement ;

    END IF;

    '0 ?" 4! ` " ' ) ! P= G tM 7) 0 '* O " * " * " 7 '* f ( *'S ' KKKK%7 "70 '* e % '@ ! P= " -+

    ! P= 'P ! Ct( t(7 '* O

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    11/23

    11

    N h*L====AAAA1111AAAA????==== ----

    ????==== ---- - ---

    %4" %4"" Y * " @ = 3 P7 " O 47 %7 " I * 34 % " '4 4L $+! P=1* B@7 m 7 H % 'S 34 'U 7 e 1 A C A A 4 7 '* # # # #7 '*'0 " * " @ S J "'* m 7 H % O ) ' % * A

    ))))* * * * ) ))) ) )))* * * * +++7+,+' 8 *" @ S J " 0%& A &* 3 S A " 1 '* " 7 '* ?" @ 3& ]0+5+"%4" " 'S " 7 '* e % 1 ) '@ vM%&* "" '* 3& m 7 1 0bF 34 e

    7 '* 3& 4 31# 3 S+

    e &% 'S 0T 4 "Lsignal_name

  • 7/31/2019 Stracture vhdl +

    12/23

    12

    N h*L" %4" -sequential" 7 '* %7+

    . $. $. $. $= ===AAAA1111AAAA---- .... 7 777 $A * $$A * $$A * $$A * $= ===AAAA1111AAAA ;;;;---- . $. $. $. $= ===AAAA1111AAAA----

    -4I%0* M 07 '* '0 * - 0%& N" *0 * '*A ? l PS G$$$$+

    ####

    $$$$= ===AAAA1111AAAA----????==== - ---6666 - ---

    '%4"K K K K Llabel :WITH expression SELECT

    signal

  • 7/31/2019 Stracture vhdl +

    13/23

  • 7/31/2019 Stracture vhdl +

    14/23

  • 7/31/2019 Stracture vhdl +

    15/23

    15

    ^ ' LSUBTYPE subtype_name IS type_name RANGE low_value TO high_value ;SUBTYPE array_subtype_name IS array_ type_name ( high_index DOWNTO low_index );

    ") A = H* ) 8 % ` 0= " A " ? 7 " R* j '0 34 7 '*+

    N h*L) ))) : ::: >11>11>11>11 ----

    #### ) )))* * * * 7777 9 99 9 .... : ::: ;;;;----8 ) -8 ) -8 ) -8 ) -8 # -8 # -8 # -8 # -

    7 %7 " OY ! K= 3 &8 "BP8 '0)7 '* ^+

    'A @ ^ L COMPONENT component_name

    GENERIC( parameter_name : string := default _value ; " " c * e % 'T%& parameter_name : integer := default _value ); A %(

    PORT(input_name , input_name : IN STD_LOGIC;bidir_name , bidir_name : INOUT STD_LOGIC;output_name , output_name : OUT STD_LOGIC);

    END COMPONENT;

    'O ( A" A *'O ( A" A * 1* M 8"7 I " * ]8+]8 ^ - a "! K= 3 &8 "`" T !+

    N h*L))))

    7 / / 8 ) -7 / / 8 ) -7 / / 8 ) -7 / / 8 ) -/ 8 ) ;-/ 8 ) ;-/ 8 ) ;-/ 8 ) ;-

    ----

    N h*L

    O% O% O% O%5 5557777 1111 //// 5555 8888 ) ))) - ---

    OOOO 1111 8888 ) ))) ; ;;; ----6 -6 -6 -6 -

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    16/23

    16

    ]8 G ) A ' Linstance_name : component_name

    PORT MAP ( component_port => connect _ port ,component_port => connect _ port );

    instance_name : component_name PORT MAP ( connect _ port , connect _ port );

    ]8 G ) 34 )l 8 * '! %* ]8 - 0b_ U " T "%4" 8 * - " gS 0 ?" %4 " (0 ' * " ( ' ` * ! ]8 - % * ( * G%4" G 3 "

    0 ?" %4 ! ]8 - )+j$" 0@ ?" %4 ? 7 % ]8 A # '( ) '* G ) 34 A Bj " @ S J,

    4 N C W @0 " OS 0T 4- " Y * 34 % 4 ? 7 % ]8 A #?" %4 # ) W" 7" " O ^ F Q RS ) # -%7 H O @*+

    a "-"" 7 '* %7+ N h*L

    + ++ +1111 8888 )))) 7 777 " "" "7777::::;=;=;=;=BBBB //// # ## #7777::::;=;=;=;=BBBB ////

    =B /=B /=B /=B /+'+'+'+'7 777::::;=;=;=;=BBBB / ///"%%("%%("%%("%%(7777::::;;;;=B ;-=B ;-=B ;-=B ;-

    + ++ +5555 8888 ) ) ) ) 7 777 " "" "77771111;=;=;=;=BBBB //// # ## #77771111;=;=;=;=BBBB ////

    "%%("%%("%%("%%(7777::::;;;;=B /=B /=B /=B /+'7+'7+'7+'71111;=B /;=B /;=B /;=B /"%%("%%("%%("%%(77771111;;;;=B ;-=B ;-=B ;-=B ;-

    + ++ +CCCC 8888 ) ) ) ) 7 777 " "" "77775555;=;=;=;=BBBB //// # ## #77775555;=;=;=;=BBBB ////

    "%%("%%("%%("%%(77771111;;;;=B=B=B=B ////+'7+'7+'7+'75555;=B /;=B /;=B /;=B /"%%("%%("%%("%%(77775555;;;;=B ;-=B ;-=B ;-=B ;-

    + ++ +3333 8888 ) ) ) ) 7 777 " "" "7777CCCC;=;=;=;=BBBB //// # ## #7777CCCC;=;=;=;=BBBB ////

    "%%("%%("%%("%%(77775555;;;;=B /=B /=B /=B /+'7+'7+'7+'7CCCC;=B /;=B /;=B /;=B /"%%("%%("%%("%%(7777CCCC;;;;====B ;-B ;-B ;-B ;-

    0N h*) A " A+ ++ +CCCCj ),%4" " B = B@7 - 0 ?" %4L

    + ++ +CCCC 8888 ) ) ) ) 7 777 " "" "77775555;;;; //// # ## #77775555;;;; //// "%%("%%("%%("%%(77771111;;;; //// +'+'+'+'7 7775555;;;; //// "%%("%%("%%("%%(77775555; ;; ;; ;; ;----

    j$

    j,

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    17/23

    17

    'A @ ^$ $ $ $ LPACKAGE pack_name IS

    .Pack_declarations.

    END pack_name ;

    ------------------------------------------------------PACKAGE BODY pack_name IS.

    Pack_declarations.

    END PACKAGE BODY pack_name ;

    N h*L $ )$ )$ )$ )

    ) ))) : ::: 1> 1> 1> 1> ----$ -$ -$ -$ -

    - ) ( '* N J B( " " $ $ $ $4 A) )))34- $ $ $ $B( " " G * ]% . $. $. $. $%. $. $. $. $7 '* A * '* G * A 8 A V # % G" % 8

    4 A T " * ) ))) & '* ]0 c# 0 ?" %4L+ . $+ . $+ . $+ . $0 ) 0 -0 ) 0 -0 ) 0 -0 ) 0 -

    )))) 7 / 8 ) - 7 / 8 ) - 7 / 8 ) - 7 / 8 ) -

    8888 ) ;-) ;-) ;-) ;-----

    N h*L'M]0* " " C8 H0 "NANDXORG B( " " A" "packagelogical_pack" 8L

    ----++++ 0000 ) ))) ) )))11231123112311230000 ----$ ) $$ ) $$ ) $$ ) $

    &"&&"&&"&&"& 5 5557777 1111 //// 5555 8888 ) ))) ----

    1111 8888 ) ))) ; ;;;--------

    PO% PO% PO% PO%5 5557777 1111 //// 5555 8888 ) ))) - ---

    1111 8888 ) ))) ; ;;;--------$ -$ -$ -$ -

    ----------------------------------------------------------

    ++++ 0000 ) ))) ) )))11231123112311230000 ----$$$$ ) $ ) $) $) $

    6 &"&6 &"&6 &"&6 &"&5 5557777 1111 //// 5555 8888 ) ))) - ---

    " $ $ $ $tM %7 "-%7 A) T " $ $ $ $3&+

    '*^ B* 7 7 '*

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    18/23

    18

    1111 8888 ) ))) ; ;;;----&"&&"&&"&&"& 5 555 ----

    " " " " 5 555 &"&&"&&"&&"& 5555

    1111 ????==== 1111 5 555 ----5 555 - ---

    6 PO% 6 PO% 6 PO% 6 PO%55557777 1111 //// 5555 8888 ) ))) - ---1111 8888 ) ))) ; ;;;----

    PO% PO% PO% PO%5555----" 4 " 4 " 4 " 4 5 555 PO% PO% PO% PO%5555

    1111 ????==== 1111 4 4 4 4 5555 ----4 4 4 4 5 555 - ---

    $ -$ -$ -$ -

    ' ( ^ '! ! ! ! L

    FUNCTION func_name ( func_inputs : in inputs_type ) RETURN output_var_type IS VARIABLE var_name : var_type ;...

    BEGIN.

    .

    .Output_var := statement ;RETURN output ;

    END func_name ;

    N h*L 7 777 * / 4 / 8 ;* / 4 / 8 ;* / 4 / 8 ;* / 4 / 8 ;

    * B 4 4 -* B 4 4 -* B 4 4 -* B 4 4 -* ?* ?* ?* ? - ---

    * -* -* -* -----

    ----n C !K O " '* ' (e &%y%*N 0T 40 * " T ! ` .L

    1111 8=8=8=8= 7 777 ) ))) J JJJ / /// 1:1:1:1: //// 1::1::1::1:: ;;;; ----?= ?= ?= ?= 7 / / ; -7 / / ; -7 / / ; -7 / / ; -

    b? T: @ " ' N 0T 4 'O (0 " ( B( " ? 7 ^ y%* G ) v%J

    0 ?" %4 '%1 'O (+

    - $ $ $ $?" ^ A?"*" ( I " * % "

    vKh* " 34 " '*I III ) )))8) A T " * " 8 *

    ' ( ! %4" G " #0 ?" %4 )+

    0 *L/ I ) -/ I ) -/ I ) -/ I ) -

    ++++ 0000 ) ))) ) )))11231123112311230000 ----+ I ) 0 ) $0 -+ I ) 0 ) $0 -+ I ) 0 ) $0 -+ I ) 0 ) $0 -

    c@= " " 'O ( G tM tM+

    " $ $ $ $" 7 '* K=+

    www.IranMedar.com Morteza Shabanzade

  • 7/31/2019 Stracture vhdl +

    19/23

  • 7/31/2019 Stracture vhdl +

    20/23

    20

    ? 7 G '& ' i H0 " 0 '* IJK*L LIBRARY ieee;USE ieee.std_logic_1164.all;

    ENTITY entity_name IS

    PORT(data_input_name : IN INTEGER RANGE 0 TO count_value ;clk_input_name : IN STD_LOGIC;clrn_input_name : IN STD_LOGIC;ena_input_name : IN STD_LOGIC;ld_input_name : IN STD_LOGIC;count_output_name : OUT INTEGER RANGE 0 TO count_value

    );

    END entity_name ;

    ARCHITECTURE arch_name OF entity_name ISSIGNAL count_signal_name : INTEGER RANGE 0 TO count_value ;

    BEGINPROCESS ( clk_input_name , clrn_input_name )BEGIN

    IF clrn_input_name = '0' THEN

    count_signal_name

  • 7/31/2019 Stracture vhdl +

    21/23

    21

    G '& ' i H0 "!!!! !!!!0 '* IJK*L

    LIBRARY ieee;USE ieee.std_logic_1164.all;

    ENTITY entity_name IS

    PORT(

    d_input_name : IN STD_LOGIC;clk_input_name : IN STD_LOGIC;clrn_input_name : IN STD_LOGIC;ena_input_name : IN STD_LOGIC;q_output_name : OUT STD_LOGIC

    );

    END entity_name ;

    ARCHITECTURE arch_name OF entity_name IS

    SIGNAL q_signal_name : STD_LOGIC;

    BEGIN

    PROCESS ( clk_input_name , clrn_input_name )BEGIN

    IF clrn_input_name = '0' THEN

    q_signal_name

  • 7/31/2019 Stracture vhdl +

    22/23

  • 7/31/2019 Stracture vhdl +

    23/23

    G '& ' i H0 " # # # # 0 '* IJK*L

    LIBRARY ieee;USE ieee.std_logic_1164.all;

    ENTITY entity_name IS

    PORT(

    oe_input_name : IN STD_LOGIC;data_input_name : IN STD_LOGIC;tri_output_name : OUT STD_LOGIC

    );

    END entity_name ;

    ARCHITECTURE arch_name OF entity_name ISBEGIN

    PROCESS ( oe_input_name , data_input_name )BEGIN

    IF oe_input_name = '0' THEN

    tri_output_name