Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi İLERİ SAYISAL SİSTEM TASARIMI VE SENTEZLEME 4. Hafta: Donanım Tanımlama Modelleri Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
Ders planı Yapısal, Kapı Seviyesi (Structural, Gate Level) Veri Akışı (Data Flow)(Prosedürel olmayan) Davranışsal (Behavioral)
Yapısal, Kapı Seviyesi Bileşenlerin arabağlantısı (Kara Kutu-Black Boxes) İfadelerin eşzamanlı yürütülmesi Kod hiyerarşisini oluşturmak için kullanılabilir Anahtar Kelimeler: bileşen & port haritası
Davranışsal Devre girişlerinin devre çıkışlarını nasıl etkileyeceğini modeller İfadelerin hem eşzamanlı hem ardışık çalıştırılması Anahtar Kelimeler: veri akış & işlem
Yapısal, Kapı Seviyesi Model Örneği Bir bileşenin giriş/çıkış’ı doğrudan başka bir bileşenin giriş/çıkış’ına bağlanamaz! Bir porta bağlantı yapılmadığı sürece, bir iç sinyal kullanılmalıdır (bu örnekteki int1 gibi).
Davranışsal Model Sitilleri Prosedürel olmayan (Veri-Akışı) Eşzamanlı Çalıştırma Prosedürel Algoritmik Adım adım hesaplamalar / Operasyonlar dizisi İşlem içinde ifadelerin ardışık yürütülmesi Bir işlemin yürütülmesi, tek bir eşzamanlı ifadeye eşdeğerdir. Tüm VHDL işlemleri eş zamanlı yürütülür
Veri-Akışı(prosedürel olmayan) Eşzamanlı ifadeler - Paralel Çalıştırılan (Sıra veya ifadeler alakasız) Olay güdümlü - Sadece girişinde geçiş/ değişim olduğunda çalıştırılan B <= C; - geçiş C de ise çalışır A <= B; - geçiş B de ise çalışır alttakine eşdeğerdir A <= B; B <= C;
Veri-Akışı(prosedürel olmayan) Bir sinyal için birden çok sürücü Çakışan atamanın çözümlenmesi gerekir
Örnek.: 7‐segment dekoder ‘0’ ON ‘1’ OFF
Örnek.: 7‐segment dekoder Mantıksal operatörler ve eşzamanlı sinyal atama kullanımı artık rahat değil.
VDHL Prosedürel olmayan (data-flow) Prosedürel (ardışık) Prosedürel olmayan (data-flow) Prosedürel (ardışık) • İşlem ifadesi • When else ifadesi • With select ifadesi • Sinyal tanımlama • Blok ifadesi • If- then- else ifadesi • Case ifadesi • Değişken tanımlama • Değişken atama • Loop ifadesi • Return ifadesi • Null ifadesi • Wait ifadesi Hem prosedürel hem prosedürel olmayanda izin verilen kısım • Sinyal atama • Tip ve sabitlerin tanımlanması • Fonksiyon ve işlem çağırma • Assert ifadeleri
When‐else / with‐select (prosedürel olmayan) Koşullu sinyal ataması Seçilmiş sinyal ataması
Örnk. when–else: Üç-durumlu buffer Çıkış buffer ı yüksek empedan bir (‘Z’) durumuna konablir, bu şekilde sadece bir varlık bus a yazar Mümkün olan üç sinyal seviyesi: ‘0’, ‘1’, ‘Z’ FPGA ve CPLD lerin çıkışlarında üç durumlu bufferlar vardır (sinyaller varlıkta port olarak tanımlanmıştır) Bununla birlikte, birçok programlanabilir lojik cihaz devrenin içinde üç durumlu bufferlara sahip olamaz(iç sinyallerde) Data_bus data enable
Örn. When-else üç durumlu buffer