VHDL EĞİTİMİ
Klasik programlama dilleri (C, Python) bir CPU üzerinde sıralı çalışır. VHDL ise farklıdır: dijital bir devreyi tanımlar ve fiziksel donanıma (FPGA, ASIC) dönüşür. Yazdığınız kod kapı ve flip-flop'lardan oluşan bir gerçek devre haline gelir. Bu farklı paradigma savunma sanayi, telekomünikasyon, yüksek hızlı işlem alanlarının vazgeçilmez aracıdır.
VHDL Eğitimi, donanım tanımlama dili VHDL'i katılımcıya kazandırır. VHDL sözdizimi, entity ve architecture yapısı, sıralı (process) ve eşzamanlı (concurrent) ifadeler, veri türleri, mantık operatörleri, koşullu ifadeler, durum makineleri (FSM), testbench yazımı, simülasyon (ModelSim, GHDL), FPGA mimarisi ve sentez iş akışı işlenir.
VHDL Eğitimi, elektronik mühendisliği öğrencileri, FPGA üzerinde dijital sistem geliştirenler, savunma ve telekomünikasyon sektörü mühendisleri, donanım tasarımı yapan profesyoneller için tasarlanmıştır. Eğitim sonunda katılımcı, basit ve orta düzeyde FPGA projeleri geliştirebilir.
Ön Koşullar
VHDL Eğitimi için ön koşul, dijital elektronik ve mantık kapıları konularına aşinalık olmaktır. Elektronik mühendisliği temeli gereklidir.
Kimler Katılmalı
- Elektronik Mühendisliği Öğrencileri: FPGA derslerini destekleyenler
- FPGA Üzerinde Dijital Sistem Geliştirenler: Donanım hızlandırması yapan profesyoneller
- Savunma Sanayi Mühendisleri: Kritik dijital sistem tasarlayan kadrolar
- Telekomünikasyon Sektörü Mühendisleri: Yüksek hızlı işlem cihazları geliştirenler
- Donanım Tasarımı Yapan Profesyoneller: ASIC ve FPGA tasarımı yapanlar
- Yarı İletken Sektörü Mühendisleri: Çip tasarımında çalışan kadrolar
- Akademik Araştırmacılar: Dijital sistem tasarımı üzerinde çalışanlar
Eğitim Yöntemi
Sunum, ModelSim üzerinde simülasyon atölyesi, durum makinesi tasarım egzersizi, FPGA üzerinde sentez pratiği ve katılımcının kendi dijital sistemini tasarlama çalışması ile yürür.
Kazanımlar
- VHDL Sözdizimi: Entity, architecture, signal yapısı
- Sıralı ve Eşzamanlı İfadeler: Process bloğu ve concurrent assignment
- Veri Türleri: std_logic, std_logic_vector, integer kullanımı
- Mantık ve Koşullu İfadeler: Kombinasyonel ve sıralı devreler
- Durum Makineleri (FSM): Mealy ve Moore makineleri tasarlama
- Testbench Yazımı: Tasarımın simülasyon ile doğrulanması
- FPGA Sentez İş Akışı: ModelSim, Quartus/Vivado ile sentez
Eğitim Süresi
4 Gün (32 Saat). Kurumsal talebe göre 3 günlük yoğun veya 5 günlük uygulamalı versiyon olarak planlanabilir.
VHDL Eğitimi İçeriği
1. Donanım Tanımlama Dili Konsepti
- Yazılım dili ile HDL farkı
- VHDL ve Verilog karşılaştırması
- FPGA, CPLD ve ASIC ayrımı
- VHDL standartlarının kısa tarihi
2. FPGA Mimarisi Genel Bakış
- LUT, flip-flop ve routing yapısı
- Blok RAM ve DSP slice
- Saat ağı ve PLL
- I/O bank yapılandırması
- Xilinx ve Intel/Altera ailesi
3. Geliştirme Ortamı
- Vivado ve Quartus tanıtımı
- ModelSim/QuestaSim simülatörü
- GHDL açık kaynak alternatifi
- Proje oluşturma ve dosya yapısı
- Constraints dosyası tanımı
4. Entity ve Architecture Yapısı
- Entity port tanımları
- Architecture gövdesi
- Component instantiation
- Hiyerarşik tasarım mantığı
- Package ve library kullanımı
5. Veri Türleri
- std_logic ve std_logic_vector
- signed, unsigned tipleri
- Integer, boolean, bit türleri
- Array ve record tanımları
- Tip dönüşümleri
6. Sinyaller ve Değişkenler
- Signal davranışı ve gecikme
- Variable kullanımı (process içinde)
- Constant tanımları
- Sinyal atama operatörleri
- Yaygın atama hataları
7. Eşzamanlı (Concurrent) İfadeler
- Sinyal atama ve operatörler
- when-else koşullu atama
- with-select alternatif yapısı
- Kombinasyonel devre tanımı
8. Process Bloğu ve Sıralı İfadeler
- Process sözdizimi ve sensitivity list
- if-else ve case ifadeleri
- Loop (for, while) kullanımı
- Wait ifadeleri
- Process tetikleme mantığı
9. Kombinasyonel Devreler
- Decoder ve encoder tasarımı
- Multiplexer ve demultiplexer
- Aritmetik birimler (adder, subtractor)
- Karşılaştırıcı (comparator)
- Parite ve checksum üreteçleri
10. Sıralı Mantık ve Flip-Flop
- D, T, JK flip-flop tasarımı
- Clock edge detection
- Senkron ve asenkron reset
- Latch oluşumu ve önleme
11. Sayıcı ve Kaydedici Tasarımı
- Binary counter ve BCD counter
- Up/down counter
- Shift register tipleri
- Linear feedback shift register (LFSR)
- Frekans bölücü
12. Durum Makineleri (FSM)
- Moore ve Mealy makine farkı
- State encoding teknikleri
- One-hot ve binary encoding
- İki-process ve üç-process model
- Trafik ışığı vaka çalışması
13. Bellek Tasarımı
- ROM ve RAM modelleme
- Blok RAM kullanımı
- FIFO tasarımı
- Dual-port bellek
- Init dosyası ile bellek doldurma
14. Generic ve Parametrik Tasarım
- Generic kullanım amacı
- Tasarım boyutunu ayarlama
- Generic ile yeniden kullanılabilir bloklar
- Kütüphane bileşeni yazma
15. Testbench Yazımı
- Test bench yapısı
- Stimulus üretimi
- Clock ve reset modelleme
- Self-checking testbench
- Coverage temel kavramları
16. Simülasyon Akışı
- Behavioral ve post-synthesis simülasyon
- Timing simülasyon
- Waveform analizi
- Hata tespiti ve düzeltme
17. Sentez ve Yerleşim (Synthesis & Place-Route)
- RTL sentez sonuçları
- Constraint dosyası yazımı
- Yerleşim ve yönlendirme
- Timing closure prensipleri
- Resource utilization raporu
18. Saat Domeni ve CDC
- Saat domain crossing problemi
- Senkronizör tasarımı
- FIFO ile CDC çözümü
- Metastabilite
19. UART ve Seri Haberleşme Tasarımı
- UART verici tasarımı
- UART alıcı tasarımı
- Baud rate üretimi
- SPI ve I2C master tasarımı
20. Bitirme Projesi
- Hesap makinesi veya DSP filtre
- Donanım kaynak optimizasyonu
- FPGA üzerinde test ve doğrulama
- Dokümantasyon ve raporlama
- Sentez sonuçlarını karşılaştırma





