2 Temmuz 2013 Salı

VHDL ÖRNEKLERİ

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