fpganedir.com'da ara

fpganedir mail

ENTITY

Entity, tasarım ile tasarımın dış çevresi arasındaki arayüzü tanımlar. Bu kısımda giriş/çıkış portları tanımlanır.

NOT: Her VHDL tasarımda sadece bir adet entity bulunur.  VHDL kodu üstünde daha fazla kontrol sağlamak amacıyla aynı entity için birden fazla architecture ve configuration kullanılabilir. Fakat yaygın olan, tek architecture, tek entity ve tek configuration’dan oluşan bir kod kullanmaktır.

entity adı is
      port ( port adı : mode   type;
                 diğer portlar... );
end  entity adı;

 Entity ve design entity farklı kavramlardır.


8 

 Entity ismi herhangi bir harfle başlamak şartıyla, alt çizgi ve rakamlardan da oluşabilir.
  Herhangi bir generic, port ya da passive ifade kullanmadan da entity yazılabilir.


ÖRNEK 1
(MULTIPLEXER)

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

        entity MUX is
               Port ( data0 :  in   STD_LOGIC;
                          data1 :  in    STD_LOGIC;
                           sel      :  in    STD_LOGIC;
                           result :  out  STD_LOGIC );
               end MUX;

architecture Behavioral of MUX is
begin 
      with  sel select
                result  <= data0  when    '0',
                                 data1    when    '1',
                                   'Z'       when  others;
end Behavioral;

ÖRNEK  2 (BCD Decoder)

library IEEE;
use IEEE.std_logic_1164.all;
entity BCD_Decoder is
    port (  BCD     : in   Bit_Vector (2 downto 0);
               Enable : in   Bit;
               LED      : out Std_Ulogic_Vector (3 downto 0));
               constant ZERO : Std_Ulogic_Vector(3 downto 0) := "0000";
begin
      assert (BCD /= "111") report "BCD = 7 " severity note;
end entity BCD_Decoder;        

 

LED çıkış sinyalinin tipi olarak belirlenen “Std_Ulogic_Vector”, standart bir tip olmadığından; IEEE kütüphanesi ve “std_logic_1164” paketi çağrılmıştır. Eğer “Std_Ulogic_Vector” yerine “Bit_Vector” kullanılmış olsaydı bu iki satıra gerek kalmayacaktı.

DETAYLI AÇIKLAMA

İsteğe bağlı olarak alt programların, type, subtype ve constant’lar da entity altında tanımlanabilir. Entity içinde tanımlanan ifadeler, o entity ‘ye tahsis edilen tüm architecture’lar için kullanılabilir demektir.  Bir architecture, iç tasarımın yaptığı işin açıklamasıdır ve sadece bir entity’ye tahsis edilir. Fakat bir entity’ye  birden çok architecture tahsis edilebilir.

Entity ifadesi library ve use tanımlamalarından sonra gelir. Bu sayede package içinde tanımlı bütün declaration’lar burada kullanılabilir hale gelir.

Entity’ye ait bütün statement’lar begin sözcüğünden sonra sıralanır. Burada belirtilen tüm statement’lar pasiftir, yani hiçbir signal’in değerini değiştiremez. Aynı zamanda concurrent passive assertion, passive concurrent procedure çağrılmaları burada yapılır.

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.