Temel VHDL Bileşenleri – 2

Yarı toplayıcı devresi dışardan elde girişi olmadan sadece ikili (binary) giriş değerlerini toplayarak çıkışa aktarır. Tablo 1’de yarı toplayıcı doğruluk tablosu verilmiştir.

GirişlerÇıkışlar
in_giris_1in_giris_2out_cikisout_cikis_elde
0000
0110
1010
1101
Tablo 1 Yarı Toplayıcı Doğruluk Tablosu


Tablo 1 ve Şekil 1’den görüleceği üzere yarı toplayıcı devresi birer bitlik iki girişe ve toplam sonucu ile birlikte elde değerinin tutulduğu iki çıkışa sahiptir.

Şekil 1 Yarı toplayıcı giriş-çıkış yapısı gösterimi

VHDL dilinde yarı toplayıcıya ait varlık (entity) tanımlama aşamasında iki girişli ve iki çıkışlı bir tanımlama yapılmalıdır. yari_toplayici varlığına ait port tanımlama işlemi aşağıdaki gibi yapılmaktadır. Tanımlamada in_giris_1 ve in_giris_2, std_logictipinde in moduna tanımlanmış bağlantı noktalarıdır. out_cikis ve out_cikis_elde, std_logic tipinde out modunda tanımlanmış bağlantı noktalarıdır.

entity yari_toplayici is

  port (

    in_giris_1 : in  std_logic;

    in_giris_2 : in  std_logic;

    out_cikis : out std_logic;

    out_cikis_elde : out std_logic

  );

end yari_toplayici;

Yarı toplayıcı çıkış fonksiyonları aşağıda verilmiştir. Bu fonksiyonlar aynı zamanda tasarlanacak devrenin davranışını göstermektedir. Şekil 2’den de görüleceği üzere out_cikis değerini elde etmek için giriş değerlerini ÖZEL VEYA (XOR) işlemine tabi tutmak gerekmektedir. Aynı şekilde out_cikis_eldedeğerini elde etmek için giriş değerlerini VE (AND) işlemine tabi tutmak gerekmektedir.

out_cikis <= in_giris_1 xor in_giris_2;

out_cikis_elde <= in_giris_1 and in_giris_2;

Şekil 2 Yarı toplayıcı temel mantık kapıları ile gösterimi

Yarı toplayıcıya ait mimari tasarımında yukarıda verilen çıkış fonksiyonları kullanılarak tanımlama yapılmalıdır. Aşağıda yarı toplayıcıya ait mimari tanımlama sözdizimi verilmiştir. Sözdiziminden de görüleceği üzere mimari tanımlama bölgesinde hiçbir tanımlama yapılmamıştır. İkinci bölgede ise çıkış portlarına, giriş fonksiyonlarının çıkış fonksiyonlarına tabi tutulduktan sonraki atama işlemleri yapılmıştır.

architecture Behavioral of yari_toplayici is

begin

      out_cikis <= in_giris_1 xor in_giris_2;

      out_cikis_elde <= in_giris_1 and in_giris_2;

end Behavioral;

Aşağıda yarı toplayıcı devresinin yari_toplayici.vhd VHDL kodu verilmiştir. Kodda 1-2. satırlar arasında kullanılacak olan kütüphanelerin bildirimi yapılmıştır. yari_toplayici varlığına ait port tanımlama işlemleri 5-10. satırlar arasında yapılmıştır. 17-18. satırlarda yari_toplayici varlığının davranışı tanımlanmıştır.

library IEEE;
use IEEE.STD_LOGIC_1164.all;

entity yari_toplayici is
  Port (
    in_giris_1 : in std_logic;
    in_giris_2 : in std_logic;
    out_cikis : out std_logic;
    out_cikis_elde : out std_logic                           
  );
end yari_toplayici;

architecture Behavioral of yari_toplayici is

begin

  out_cikis <= in_giris_1 xor in_giris_2;   
  out_cikis_elde <= in_giris_1 and in_giris_2;  

end Behavioral;

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir