elektrik port üyelik servisleri elektrik port üyelik servisleri

VHDL Programlama 2. Bölüm |
ElektrikPort Akademi

Eş zamanlı (paralel) programlama dili olarak da bilinen VHDL bir tür donanım tanımlama dilidir. VHDL programlama derslerine 2. bölüm yazımızla devam ediyoruz.



A- A+
12.10.2016 tarihli yazı 3641 kez okunmuştur.

Donanım Tanımlama İşlemi

Donanım tanımlama dili ile yazılan kodlardan mantıksal işlemler çıkartılır ve bu mantıksal işlemler ile lojik devreler oluşturulur. Yazılan kodun içeriğine göre oluşturulan bu lojik devreler tümleşik devrelere de dönüştürülebilir. Bu sayede yazdığımız kodlarla elimizde artık donanımsal bir devre vardır. Tabi bu işlemleri yapabilmek için kodu yazabileceğimiz bir derleyiciye ihtiyaç vardır. Derleyiciyi de şöyle açıklayabiliriz. Örneğin C bir programlama dilidir ama bu dil ile program yazarken hataları ayıklayabilmek, programın çıktısı görebilmek vs. ihtiyaçlar için derleyiciler kullanılır. VHDL’de de aynı durum söz konusudur. Yazılan VHDL koduyla bir donanım oluşturulacaktır. Bu donanımı da derleyici adını verdiğimiz programlar kodu sentezleyerek oluşturur.



Aslında C ile VHDL arasında uçurum farklar yok. Hatta algoritma yapısı olarak neredeyse C ile aynı. En büyük fark, farklı amaçlarla ve farklı işlevlerde kullanılıyor olmasıdır. C bir yazılım diliyken VHDL donanım dilidir. Aradaki benzerlikler ve işlemler oldukça fazladır. C bilen birisi için VHDL öğrenirken C ile bağdaştırmalar yapılarak VHDL çok daha kolay öğrenilecektir.
 

İlk VHDL Programı:

İlk VHDL programını yazabilmek için daha önceden ALTERA firmasının internet sitesinden indirip kurduğum uz Quartus II programını açıyoruz ve programı yazacağımız dosyaları oluşturuyoruz.
 


►İlginizi Çekebilir: VHDL Programlama | 1. Bölüm

► File menüsünden New Project Wizard seçeneğine tıklıyoruz ve aşağıdaki gibi bir ekran açılıyor. Projeye isim verip next diyoruz.
► Daha sonra arada dosya eklemek için açılan pencerede de next dedikten sonra aşağıdaki pencere açılıyor. Bu pencerede kullanacağımız FPGA kitini seçiyoruz. Biz aşağıdaki seçtiğimiz kitle çalıştığımız için onu seçtik.
 

 
► Bu pencerede de aşağıdaki gibi ayarlamaları yaptıktan sonra next diyoruz.
 

 
► Projemiz sol alt penceredeki gibi xor_kapisi adıyla oluşturulmuş oluyor. Bizim projeye kodlarımızı yazacağımız dosyayı eklememiz gerekiyor. Bu işlemi File menüsü altından New menüsünü seçerek açılan sağ alt köşedeki pencereden VHDL File seçeneğine tıklayıp OK diyerek gerçekleştiriyoruz.


► Artık projemiz yazılmaya hazır. Açılan boş sayfaya kodlarımızı yazıyoruz.
 


►İlginizi Çekebilir: Assembly Programlama Dili | 1. Bölüm
 
► Kodlarımızı yazdıktan sonra Start Compilation butonu ile derledik.


 
Kod satırlarını açıklayacak olursak;
 
► 1. satırda kullanılan ‘-‘ karakteri C dilindeki ‘//’ karakteri ile aynı işlevi görüp yorum satırı eklemek için kullanılır. Burada programı daha okunabilir yapmak için kullandık.
► 2. satırda kütüphane bildirimi yapıp, 3. satırda ise bildirimi yapılan kütüphanenin kullanılan paket ve nesnelerinin bildirimini yaptık.
► 6. satır programın entity(varlık) yani port tanımlamalarının yapıldığı kısım. PIC mikrodenetleyicilerindeki TRIS ayarlarına benzetebiliriz J, xor_kapisi adında bir entity oluşturduk.
► 7. ve 8. satırlarda A ve B isminde std_logic türünde iki giriş tanımladık.
► 9. satırda SONUC adlıstd_logic türünde bir çıkış tanımladık.
► 11. satırda entity kısmını bitirdik.

Gelelim architecture kısmına; 14. satırda davranissal isimli bir architecture (mimari) oluşturduk. Architecture kısmı C dilindeki main kısmı ile bağdaştırılabilir. Bütün işlemler architecture kısmında yapılır. Her architecture begin ile başlar ve işlemler beginden sonra yapılır. Beginden önce yapılan bazı tanımlamalar vardır ama bunlara şimdi değinmeyeceğiz.


► 16. satırda A ve B girişlerini xor işlemine tabi tuttuk ve işlem sonucunu SONUC isimli çıkışa ‘<=’ karakterleri ile atadık.
► 17. satırdaarchitecture kısmını bitirdik.
 
Program çalıştırılacak olsaydı:

Örneğin; A girişinden 1, B girişinden 0 girildi. SONUC 1 olacaktı.
 

Yazar: Makbule Elif GÖK

Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar