yukarı sayıcı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
yukarı sayıcı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

22 Ağustos 2016 Pazartesi

VHDL : up_down_counter - package

Merhaba arkadaşlar;
Şimdi de size aynı up_down_counter kodunun generic ifade, package yapısı, if-generate yapısı ve enumeration yapısı kullanılmış olarak kodlanmasını göstereceğim. Bu kod sayesinde bu 4 Vhdl özelliğinin de nerede ve nasıl kullanılabileceğini anlamış olacağınızı düşünüyorum. Kodları gene kendi yazdığım koddan aldığım ekran görüntülerim şeklinde paylaşacağım. Bir sorununuz olduğunda mutlaka sormanızı istiyorum. Bir gün içinde geri dönerim büyük bir aksilik yoksa. Kodların ilk kısmından başlayalım.


Yukarıdaki iki kod resmi ana kodu temsil ediyor. Aşağıda da package kodunu görebilirsiniz.

Sırada testbench kodu var;

Şimdi ise aşağıya bu kodu koştuğumda oluşan simülasyon görüntüsünü koyuyorum. 

Simülasyon sonucu da yukarıdaki gibi arkadaşlar. Burada dikkat etmeniz gereken şöyle bir nokta var; Sel değişkeni generic tanımlanmış. Ve ben bu değerin up_sel 'e eşit olduğunu söylemişim. O zaman bu kod sonucu yukarı doğru sayacaktır. Ve kodu koşarken tek bir anda tek bir değer alabilir. Yani bu kod şu an için her zaman yukarı doğru sayacaktır ve giriş değişkenlerine bağlı değildir. Aşağı doğru sayması için Sel = down_sel yazıp kodu yeniden koşmam gerekir. Bu da SEL girişini input olarak almak ile generic olarak tanımlamak arasındaki farkı gösteriyor. Kolay gelsin arkadaşlar.


VHDL : up_down_counter - component

Merhaba arkadaşlar,
Bu yazıda bir önceki up_down_counter kodunun componentli haline getirmiş olduğum formunu paylaşacağım. Component derken yani up_counter ile down_counter'ı iki ayrı kutu olacak şekile getirdim bu kod ile. İki kodun elaborate hallerini karşılaştırırsanız farkı göreceksiniz. Projenin kaynak kodu aşağıdaki gibi;
up_counter componentinin kodu aşağıdaki gibi;
down_counter componentinin kodu aşağıdaki gibi;

 Kodun testbench kodu da aşağıdaki gibi;


Kodun elaborate edince ortaya çıkan şematik görüntüsü de aşağıdaki gibi oldu. Bu görüntüyü VHDL : up_down_counter isimli kodum ile karşılaştırıp componentli yapının ne olduğunu görebilirsiniz.
Kod bu şekilde arkadaşlar. Merak ettiğiniz, Anlayamadığınız bir durum olursa , ya da kodu geliştirmek için bir fikriniz varsa yorum yazabilirsiniz veya mail atabilirsiniz. Kodu yazıp simülasyon sonuçlarınızı da bana gönderebilirsiniz. İyi çalışmalar.

VHDL : Up_Down_Counter

Merhaba Arkadaşlar;

Aşağıda 8 bitlik yukarı ve aşağı sayabilen VHDL kodu, şematik'i ve Testbench'i var Kod bana aittir. Vivado yazılımı kullanılarak yazılmıştır. // en üstte library tanımlamaları eksik. Dikkat edin. Kendiniz ekleyin. (library ieee;
                                        use ieee.std_logic_1164.all; )

Kaynak kodu aşağıdaki gibi;

Testbench kodu;

Elaborate edince oluşan şematik görüntüsü;

Kod bu kadar arkadaşlar. Dikkatle incelerseniz çok basit bir mantıkta yazılmış olduğunu göreceksiniz.