FPGA Üzerinde İşlemci Tasarımı
Bitirme projesi · Uludağ Üniversitesi — lojik kapılardan Verilog'a bir işlemci
Bir işlemci gerçekte nasıl çalışır? Bitirme projemde bu soruyu en temelden yanıtladım: yarı iletkenlerden, lojik kapılardan ve Boole cebrinden başlayıp Verilog ile tanımlanan ve Intel FPGA için sentezlenen eksiksiz bir CPU'ya uzanan bir tasarım.
Malvino'nun Digital Computer Electronics kitabındaki SAP (Simple-As-Possible) yaklaşımını izleyerek önce ALU ve mikrokodlu kontrol birimi Multisim'de kapı kapı 4-bit prototip olarak tasarlandı. Mimarinin tamamı — saklayıcılar, program sayacı, bellek ve veri yolu — daha sonra Verilog modülleri olarak yazıldı; Quartus Prime'da sentez, RTL incelemesi ve dalga formu simülasyonundan geçirildi.
Mimari
- Veri yolu tabanlı tasarım: akümülatör, B saklayıcısı, komut saklayıcısı, MAR, program sayacı ve program belleği üç durumlu ortak veri yolunu paylaşır.
- ALU dört tam toplayıcıyla toplama ve çıkarma yapar; XOR kapıları ikiye tümleyen çıkarma için B işlenenini tersler.
- Kontrol birimi fetch–decode–execute adımlarını 74LS161 sayıcılar ve 74HC154 kod çözücülerle yürütür; işlemcinin kontrol sinyallerini üretir.
- Her komut mikrokod olarak tanımlı — LDA: CO MI · PRO II · CE · IO MI · RO AI — yaklaşık 9 opcode'luk bir komut kütüphanesi.
Tasarım akışı
Kapı seviyesinde ALU
Multisim'de tam toplayıcılarla kurulan 4-bit ALU; XOR kontrollü çıkarma
Multisim / TTLKontrol birimi & mikrokod
Sayıcı + kod çözücü matrisi kontrol sinyallerini üretir; LDA'nın mikrokodu adım adım tanımlandı
74LS161 · 74HC154Verilog gerçeklemesi
CPU modüllere ayrıldı — ALU, ACC, B saklayıcısı, IR, MAR, PC, program belleği ve kontrol birimi
VerilogSentez & RTL incelemesi
Tasarım Cyclone 10 LP için sentezlendi; veri yolu RTL görüntüleyicide incelendi
Quartus PrimeSimülasyon & doğrulama
Fetch–execute çevrimleri dalga formlarında doğrulandı; bilinmeyen veri yolu durumları tasarım düzeltmeleri için işaretlendi
ModelSim / Altera SimTezden kareler



