Kategori: Yazılar

VHDL’de Yetki Girişli D Mandalı (D Latch) Uygulaması

D Mandalı devresi giriş sinyalinin durumu değiştiği zaman çıkış değerini güncelleyen, değişim olmadığı durumlarda ise çıkış değerini koruyan bir devre elemanıdır. Bu elemana bir yetkilendirme girişi eklendiğinde oluşan elemana “Yetki Girişli D Mandalı” adı verilmektedir. Bu elemanda çıkış değerinin güncellenmesi normal D Mandalından farklı olarak yetki girişinin de ‘1’ olması gerekmektedir. Eğer yetki girişi ‘0’ ise giriş değeri değişse bile…

VHDL’de İfade Düzenleme

Aşağıda verilen kodda, sinyal_secme sinyalinin ‘1’ olma durumunda siynal_cikis sinyaline sinyal_2 sinyali atanmakta aksi durumda ise sinyal_1 sinyali atanmaktadır. sinyal_secme, sinyal_1 vesinyal_2 sinyallerinin herhangi birinde meydan gelen değişimde process aktif olmakta ve koşul işlemektedir. VHDL dilinde process içerisinde işlemlerin sıralı olarak yapılmasından dolayı yukarıda verilen uygulama aşağıdaki gibide ifade edilebilmektedir. sinyal_secme, sinyal_1 vesinyal_2sinyallerinin herhangi birinde meydan gelen değişimle process aktif…

VHDL’de WAIT UNTIL Sözdizimi

Aşağıda VHDL dilinde wait until sözdizimi tanımı verilmiştir: process içerisinde wait until söz dizimi kullanımı özel bir durumudur. Çünkü wait until kullanım durumunda hassasiyet listesi ihmal edilir. Örnek 1: :  Aşağıda verilen wait_until_ornek.vhd  VHDL kodunda saat darbesi uygulaması gerçeklenmiştir. 21. satırda tanımlanan sözdizimi ile in_clk giriş portunda değişim meydana geldiğinde ve in_clk giriş portu değeri 0’dan 1’e değiştiğinde out_cikis çıkış…

VHDL’de Saat Darbesi (Clock) Kullanımı

Genelde process yapılarını tetikleme için harici bir kaynak tarafından üretilen kare dalga işareti kullanılmaktadır. Bu kare dalga işaretinin değişimlerinde ise process yapısı tetiklenmektedir. Bu dışarıdan uygulanan (tasarıma göre FPGA içerisinde de üretilebilir) tetikleme işareti çoğu zaman “saat darbesi” (clock) olarak adlandırılır. Şekil 1’de saat darbesi gösterimi verilmiştir. Şekil 1’den de görüleceği üzere saat darbesi işaretin 0’dan 1’e veya 1’den 0’a…

VHDL’de IF, CASE ve LOOP Sözdizimleri

if Sözdizimi VHDL dilinde if sözdizimi, bir veya birden fazla koşula bağlı olarak,  koşulların bağlı olduğu sözdizimlerinden birini seçmektedir ve seçilen koşula ait söz dizim ifadesi gerçeklenmektedir. Eğer koşul ifadelerinin hiç biri sağlanmamış ise bu durumda hiçbir işlem yapılmamaktadır. Aşağıda VHDL dilinde if sözdizimi tanımı verilmiştir. Verilen sözdiziminde if söz dizimi ile ilgili koşul denetlenmektedir. Eğer bu koşul sağlanırsa koşula…

VHDL’de VARIABLE Kullanımı

Örnek 1: Aşağıda signal veri nesnesi kullanılarak 8 bitlik giriş portu değerinde bulunan ‘1‘ bitlerinin sayısını çıkışa aktaran programı gerçeklemeyi amaçlayan bit_say_signal.vhd VHDL kodu verilmiştir. Kodda 17. satırda process hassasiyet listesinde in_giris girişi mevcuttur. Bunun anlamı in_giris giriş portunda meydana gelen değişikliklerde process aktif hale gelecektir. process‘in aktif olması ile birlikte  19. satırda tanımlanan varsayılan atama işlemi gerçekleştirlecektir ve r_sayac…

VHDL’de Sıralı Atama Sözdizimleri – PROCESS

Sıralı sözdizimleri, VHDL dilinde paralel işlemler için kullanılan sözdizimlerinden farklı olarak kullanılmalıdır. Bu nedenle VHDL dilinde sıralı sözdizimleri mimari içerisinde process sözdizimi kullanılarak tanımlanmaktadır. process için genel tanımlama aşağıda verilmiştir. process’lerin tasarlandıkları işleri yapabilmeleri için dışarıdan uygulanan bir tetikleme işaretine ihtiyaçları vardır. Bu tetikleme işareti herhangi bir sinyalin değişimi olabileceği gibi, harici bir kaynak tarafından üretilen bir işarette olabilir. process…

VHDL’de GENERATE İfadeleri

generate ifadesi, VHDL’de tekrarlanan lojikler eşitlikler veya component örneklerinde kullanılır. İki tip generate ifadesi mevcuttur : Bu ifadelerden if generate çok nadir kullanılır. Fakat for generate sıklıkla kullanılan bir ifadedir ve genel gösterimi aşağıda verilmiştir. Aşağıda verilen örnekte 4 bitlik std_logic_vector tipinde sinyal_1 sinyaline başlangıç değeri olarak “0001”  atanmıştır. sinyal_2 sinyali de 5 bitlik std_logic_vector tipinde tanımlanmıştır. sinyal_2 sinyalinin en…

VHDL’de OTHERS Kullanımı, Seçilmiş Sinyal Atamaları ve Şartlı Sinyal Atamaları

OTHERS Kullanarak Sinyal Değeri Atama Bir sinyal değerinin belli bir kısmına aynı bitler yazılacaksa others kullanılarak bu işlem yapılabilmektedir. Aşağıda verilen tanımlamada sinyal_1 sinyalinin tüm bitlerine 0, sinyal_2 sinyalinin tüm bitlerine ise 1 atanmaktadır. Seçilmiş Sinyal Atama Seçilmiş sinyal ifadesi, seçim koşullarına uygun birkaç alternatif değerden bir sinyalin değer olarak atanmasında kullanılır. Genel tanımlama ifadesi aşağıdaki gibidir. Aşağıda verilen tanımlamada…

VHDL’de Basit Sinyal Atamaları

Basit sinyal atamaları lojik veya aritmetik ifadelerde kullanılır. Atama işlemine ait genel form aşağıda verilmiştir. <= operatörü VHDL’de atama operatörüdür. Aşağıdaki verilen örnekte bu operatörün kullanımını daha detaylı olarak göstermektedir. sinyal_sonuc sinyaline, sinyal_1 ve sinyal_2 sinyallerinin xor sonucunun sinyal_3 ile and işlemine tabi tutulmasında elde edilen sonuç atanmaktadır. Bu tanımlamada sinyal_sonuc ifadesi, bir bitlik sonucu içermektedir. VHDL’de aynı zamanda çoklu…