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_1 | in_giris_2 | out_cikis | out_cikis_elde |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
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;