Tüm vaka analizleri

Vaka analizi

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ışı

01
Kapı seviyesinde ALU

Multisim'de tam toplayıcılarla kurulan 4-bit ALU; XOR kontrollü çıkarma

Multisim / TTL
02
Kontrol birimi & mikrokod

Sayıcı + kod çözücü matrisi kontrol sinyallerini üretir; LDA'nın mikrokodu adım adım tanımlandı

74LS161 · 74HC154
03
Verilog gerçeklemesi

CPU modüllere ayrıldı — ALU, ACC, B saklayıcısı, IR, MAR, PC, program belleği ve kontrol birimi

Verilog
04
Sentez & RTL incelemesi

Tasarım Cyclone 10 LP için sentezlendi; veri yolu RTL görüntüleyicide incelendi

Quartus Prime
05
Simü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 Sim