VHDL dilinde tasarım yaparken kullanılabilecek 3 tür operatör mevcuttur. Bunlar sırasıyla:
- Mantıksal (Booelean) Operatörler
- Aritmetik Operatörler
- İlişkisel Operatörler’dir.
Yukarıda verilen liste operatörlerin öncelik sırasına göre sıralanmış olup, aynı tür operatörlerin kendi aralarında bir öncelik sırası yoktur.
Mantıksal Operatörler
VHDL dilinde kullanılan mantıksal operatörler aşağıda listelenmiştir:
- and: Mantıksal VE işlemi
out_cikis <= in_giris_1 and in_giris_2;
Yukarıda verilen tanımlamada out_cikis değerine in_giris_1 ve in_giris_2 değerlerinin mantıksal VE işleminin sonucu atanmaktadır.
- or: Mantıksal VEYA işlemi
out_cikis <= in_giris_1 or in_giris_2;
Yukadrıda verilen tanımlamada out_cikis değerine in_giris_1 ve in_giris_2 değerlerinin mantıksal VEYA işleminin sonucu atanmaktadır.
- nand: Mantıksal VE DEĞİL işlemi
out_cikis <= in_giris_1 nand in_giris_2;
Yukarıda verilen tanımlamada out_cikis değerine in_giris_1 ve in_giris_2 değerlerinin mantıksal VE DEĞİL işleminin sonucu atanmaktadır.
- nor: Mantıksal VEYA DEĞİL işlemi
out_cikis <= in_giris_1 nor in_giris_2;
Yukarıda verilen tanımlamada out_cikis değerine in_giris_1 ve in_giris_2 değerlerinin mantıksal VEYA DEĞİL işleminin sonucu atanmaktadır.
- xor: Mantıksal ÖZEL VEYA işlemi
out_cikis <= in_giris_1 xor in_giris_2;
Yukarıda verilen tanımlamada out_cikis değerine in_giris_1 ve in_giris_2 değerlerinin mantıksal ÖZEL VEYA işleminin sonucu atanmaktadır
- xnor: Mantıksal ÖZEL VEYA DEĞİL işlemi
out_cikis <= in_giris_1 xnor in_giris_2;
Yukarıda verilen tanımlamada out_cikis değerine in_giris_1 ve in_giris_2 değerlerinin lojik ÖZEL VEYA DEĞİL işleminin sonucu atanmaktadır.
Örnek : Mantıksal operatörlerin kullanıldığı mantiksal_operatorler.vhd VHDL kodu aşağıda verilmiştir. Verilen koda ile tasarlanan devreye ait bilgiler aşağıdaki gibidir:
- mantiksal_operatorler varlığı in_giris_1 ve in_giris_2 giriş portlarına sahiptir.
- out_cikis_and çıkış portuna in_giris_1 ve in_giris_2 giriş port değerlerinin and işlemi sonucu atanmaktadır.
- out_cikis_or çıkış portuna in_giris_1 ve in_giris_2 giriş port değerlerinin or işlemi sonucu atanmaktadır.
- out_cikis_nand çıkış portuna in_giris_1 ve in_giris_2 giriş port değerlerinin nand işlemi sonucu atanmaktadır.
- out_cikis_nor çıkış portuna in_giris_1 ve in_giris_2 giriş port değerlerinin nor işlemi sonucu atanmaktadır.
- out_cikis_xor çıkış portuna in_giris_1 ve in_giris_2 giriş port değerlerinin xor işlemi sonucu atanmaktadır.
- out_cikis_xnor çıkış portuna in_giris_1 ve in_giris_2 giriş port değerlerinin xnor işlemi sonucu atanmaktadır.
Şekil 1’de mantiksal_operatorler varlığının ilgili çıkışlara ilişkin benzetim çıktısı gösterilmiştir. Verilen benzetim çıktısına göre in_giris_1 giriş portunun ‘0’ ve in_giris_2 giriş portunun ‘1’ değerleri için;
- out_cikis_and çıkış portu değeri (0 and 1) => 0,
- out_cikis_or çıkış portu değeri (0 or 1) => 1,
- out_cikis_nand çıkış portu değeri (0 nand 1) => 1,
- out_cikis_nor çıkış portu değeri (0 nor 1) => 0,
- out_cikis_xor çıkış portu değeri (0 xor 1) => 1,
- out_cikis_xnor çıkış portu değeri (0 xnor 1) => 0 olmaktadır.
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity mantiksal_operatorler is Port ( in_giris_1 : in std_logic; in_giris_2 : in std_logic; out_cikis_and : out std_logic; out_cikis_or : out std_logic; out_cikis_nand : out std_logic; out_cikis_nor : out std_logic; out_cikis_xor : out std_logic; out_cikis_xnor : out std_logic ); end mantiksal_operatorler; architecture Behavioral of mantiksal_operatorler is begin out_cikis_and <= in_giris_1 and in_giris_2; out_cikis_or <= in_giris_1 or in_giris_2; out_cikis_nand <= in_giris_1 nand in_giris_2; out_cikis_nor <= in_giris_1 nor in_giris_2; out_cikis_xor <= in_giris_1 xor in_giris_2; out_cikis_xnor <= in_giris_1 xnor in_giris_2; end Behavioral;

Şekil 1 mantiksal_operatorler varlığının ilgili çıkışlara ilişkin benzetim çıktısı