VHDL ÖRNEKLERİ
Bu makalemde size Vhdl programlama dilinde If, Case, When With ile hazırladığımız örnke kod bloklarını paylaşacağız.Kolay gele..
VHDL ÖRNEKLERİ
- ================================================ ============================= - Dosya adı: mux4_1.vhd (mux = çoklayıcı) - Yazar: Hedef Ozel Ders - Oluşturulma: 00.04.10 son değişiklik: 00.04.13 - ================================================ ============================= - Bu gibi fonksiyonu ile 4 giriş çoklayıcı olduğunu: - Sel Giriş => çıkış yorumlar - MSB LSB - 0 0 In0 => çıkış - 0 1 1 arada => çıkış - 1 0 in2 => çıkış - 1 1 in3 => çıkış - -------- - IF ve CASE sadece bir süreç içinde kullanılabilir. - ZAMAN ve İLE sadece bir süreç dışında kullanılabilir. - - ZAMAN karşılık IF - İLE için OLGU correpsonds - ================================================ ============================= KÜTÜPHANE IEEE; Ieee.std_logic_1164 KULLANIM TÜM; -. Kullanılan araç bağımlı farklı olabilir. Ieee.std_logic_unsigned KULLANIM TÜM; -. Kullanılan araç bağımlı farklı olabilir. ENTITY mux4_1 IS PORT (s0: STD_LOGIC IN; s1: STD_LOGIC IN; In0: STD_LOGIC IN; in1: STD_LOGIC IN; in2: STD_LOGIC IN; in3: STD_LOGIC IN; çıkışı: OUT STD_LOGIC ); END mux4_1; - ================================================ ============================= - ================================================ ============================= Mux4_1 MİMARLIK if_example IS - ================================================ ============================= BEGIN mux: SÜRECİ (s0, s1, In0, in1, in2, in3) BEGIN (S0 = '0 'VE s1 = '0') THEN çıkışı <= In0; ELSIF (s0 = '1 'AND s1 = '0') SONRA çıkışı <= 1 arada; ELSIF (s0 = '0 'VE s1 = '1') SONRA çıkışı <= in2; ELSIF (s0 = '1 'AND s1 = '1') SONRA çıkışı <= in3; BAŞKA - (s0 veya s1 0 veya 1 değil) çıkışı <= 'X'; IF END; SÜREÇ mux END; END if_example; - ================================================ ============================= - ================================================ ============================= Mux4_1 MİMARLIK case_example IS - ================================================ ============================= BEGIN mux: SÜRECİ (s0, s1, In0, in1, in2, in3) DEĞİŞKEN sel: STD_LOGIC_VECTOR (1 0 DOWNTO); BEGIN sel: = s1 ve s0; - birleştirmek s1 ve s0 OLGU sel IS ZAMAN "00" => çıkışı <= In0; ZAMAN "01" => çıkışı <= 1 arada; ZAMAN "10" => çıkışı <= in2; ZAMAN "11" => çıkışı <= in3; NE ZAMAN DİĞER => çıkışı <= 'X'; END OLGU; SÜREÇ mux END; END case_example; - ================================================ ============================= - ================================================ ============================= Mux4_1 MİMARLIK with_example IS SİNYAL sel: STD_LOGIC_VECTOR (1 0 DOWNTO); - ================================================ ============================= BEGIN sel <= s1 ve s0; - birleştirmek s1 ve s0 Sel SEÇİMİ İLE çıkışı <= In0 ZAMAN "00", in1 ZAMAN "01", in2 ZAMAN "10", in3 "11", 'X' ZAMAN DİĞER; END with_example; - ================================================ ============================= - ================================================ ============================= Mux4_1 MİMARLIK when_example IS - ================================================ ============================= BEGIN <= In0 (s1 ve s0) = "00" ELSE çıktı (s1 ve s0) = "01" ELSE in1 in2 ZAMAN BAŞKA (s1 ve s0) = "10" (s1 ve s0) = "11" ELSE in3 'X'; END when_example;
0 yorum:
Yorum Gönder