Bu tipler IEEE 1076 ve IEEE 1164 VHDL standartlarında önceden tanımlanmıştır. Bu nedenle bu tiplerin kullanımında kütüphaneye ihtiyaç yoktur. bit tanımlı nesneler ‘0’ ve ‘1’değerlerini alabilirler. Aşağıda örnek bit tipinde signal bildirimleri verilmiştir:
signal clk : bit := baslangic_degeri;
bit_vector tanımlı nesneler ise bit nesnelerinden oluşan bir dizidir ve iki şekilde tanımlanmaktadır:
- düşük_indis to yüksek_indis sözdiziminde, bitlerden oluşan çoklu bitler tanımlamaları için kullanışlıdır. hex_kelime sinyalinde en anlamsız bit düşük_indis, en anlamlı bit ise yüksek_indis olmaktadır.
signal hex_kelime : bit_vector(0 to 3);
hex_kelime sinyali 4 bitlik diziyi göstermektedir. Bu sinyal çoklu olarak kullanılabileceği gibi tek tek de kullanılabilmektedir. Bu sinyalin tek tek kullanımına ait söz dizimi hex_kelime(0), hex_kelime(1), hex_kelime(2), hex_kelime(3) şeklinde olmaktadır. bit_vector tanımlı bir nesneye atama örneği aşağıda verilmiştir.
hex_kelime <= "0101";
Aynı zamanda atama işlemleri tek tek veya birkaç bit kullanımı ile de aşağıdaki örneklerdeki gibi yapılabilmektedir.
hex_kelime(0) <= '0', hex_kelime(1) <= '1', hex_kelime(2) <= '0', hex_kelime(3) <= '1', hex_kelime(2 downto 1) <= “10”, hex_kelime(0 to 1) <= “10”,
- yüksek_indis downto düşük_indis sözdizimi, eğer sinyal ikili sayıların gösteriminde kullanılıyorsa kullanışlıdır. Bu sözdiziminde en anlamlı bit yüksek_indis, en anlamsız bit ise düşük_indis olmaktadır.
signal kelime_10 : bit_vector(9 downto 0); .. .. kelime_10 <= "1010101010";
kelime_10 sinyali 10 bitlik diziyi göstermektedir. Bu sinyal çoklu olarak kullanılabileceği gibi tek tek de kullanılabilmektedir. Burada kelime_10 sinyaline ait ilgili bit atamaları aşağıdaki gibidir:
kelime_10(9) <= '1'; kelime_10(8) <= '0'; kelime_10(7) <= '1'; kelime_10(6) <= '0'; kelime_10(5) <= '1'; kelime_10(4) <= '0'; kelime_10(3) <= '1'; kelime_10(2) <= '0'; kelime_10(1) <= '1'; kelime_10(0) <= '0';
Aşağıda ise bit veri tipi kullanılarak tasarlanan yarı toplayıcı kodu verilmiştir. Kodlamada 2-7 satırları arasında görüleceği üzere yari_topalyici_bit varlığının (entity) port tanımlamaları yapılmıştır. in_giris_1 ve in_giris_2 portları in modunda bit veri tipindedir. out_cikis ve out_cikis_elde portları ise out modunda bit veri tipindedir. 14. satırda in_giris_1 ve in_giris_2 giriş portlarının xor işleminin sonucu out_cikis portuna atanmaktadır. 15. satırda in_giris_1 ve in_giris_2 giriş portlarının and işleminin sonucu out_cikis_elde portuna atanmaktadır.
entity yari_toplayici_bit is port ( in_giris_1 : in bit; in_giris_2 : in bit; out_cikis : out bit; out_cikis_elde : out bit ); end yari_toplayici_bit; architecture Behavioral of yari_toplayici_bit is begin out_cikis <= in_giris_1 xor in_giris_2; out_cikis_elde <= in_giris_1 and in_giris_2; end Behavioral;