16-bitlik mikroişlemcinin FPGA mimarileri kullanılarak gerçekleştirilmsi
The design and implementation of a 16-bit microprocessor using FPGA architectures
Yazar: ESMA ALAER
Danışman: YRD. DOÇ. DR. ALİ TANGEL
Kocaeli Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2006
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering ; Mühendislik Bilimleri = Engineering Sciences

Özet:
Dijital devrelerin karmaşıklığının giderek artması tasarım metotlarının dagelişmesini gerektirmektedir. Geleneksel metotların yerini, tasarım süresini vemaliyetini azaltan, esnek yapıları sayesinde tasarımcıya büyük kolaylık getiren?donanım tanımlama dilleri? (HDL) almıştır. Bir donanım tanımlama dili yardımıylabir çok alt birimden oluşan tasarım tek bir elemana yüklenebilir ve bu sayede tek birçip içerisinde bir sistem (system-on-chip-SoC) oluşturularak baskı devre çıkarma,lehimleme gibi hem uzun süren hem de maliyeti azaltan işlemler devredençıkartılabilir.?SoC? teknolojisinde tasarımı meydana getiren birimler bir donanım tanımlamayardımıyla ifade edilirler. Tanımlanan sistemin mantıksal olarak doğruluğunun testiiçin fonksiyonel simülasyon aşaması gerçekleştirildikten sonra bütün birimlersentezlenerek tasarımı meydana getiren bağlantılar oluşturulur. Sentezleme sonrasındaise yerleştirme ve bağlama basamağına geçilir. Yerleştirme ve bağlama işlemindensonra yapılan simülasyon ile tasarımın zamansal açıdan gerekli şartları sağlayıpsağlamadığı gözlemlenebilir. Bütün birimler, sentezleme ve yerleştirme işlemlerisonunda tekrar programlanabilir bir tümleşik devreye aktarılır. Sistemin uygulamaaşamasında gerek büyük kapasiteleri ve gerekse de tasarım çabukluğundan dolayıFPGA tümleşik devreleri tercih edilmektedir.Bu çalışmada 16-bit mikroişlemcinin FPGA mimarileri kullanılarak tüm altbirimleriyle birlikte tasarımı sunulmaktadır. Tasarlanan mikroişlemci, 16-bit adresyolu ve 16-bit veri yoluna sahiptir. 16 tane genel amaçlı saklayıcı, program sayıcı ve 3-bit durum saklayıcı içermektedir. Her bir komut 16-bit kelime uzunluğuna sahiptir.Mikroişlemci toplama, çıkarma, çarpma, bölme gibi aritmetik komutları; AND, OR,NOT, XOR gibi lojik komutları; yükleme ve saklama gibi yer değiştirme komutlarınıyürütebilmektedir. Mikroişlemcinin frekansı, aritmetik ve lojik komutlar için yaklaşık3 MHz, yer değiştirme komutları için yaklaşık 1,5 MHz ve ivedi yer değiştirmekomutları için yaklaşık 2,3 MHz'dir.ix

Abstract:
As a result of the increase in digital circuits? complexity, new designmethods need to be developed. Traditional methods have been replaced with?hardware description languages (HDL), which have flexible structures, short designcycle and low-cost. A design composes a number of sub-units, which can be uploadedinto a programmable device by using an HDL. Therefore, a system (SoC) in a singlechip can be created without doing processes which increase the cost and time tomarket, such as forming a PCB and soldering.In SoC technology, design units are described by using a hardware descriptionlanguage. To test the logical verification of the described system, a functionalsimulation process is realized, and then the net-list of the design is formed withsynthesizing all units. After timing simulation, routing processes are realized. Later,timing simulation can be done to observe whether the design meets necessary timingrequirements or not. Then all units are uploaded into a programmable device. In theimplementation step, FPGA devices are preferred because of their huge capacity andreducing the design cycle.This study presents a design and implementation of 16-bit microprocessor with VHDLby using FPGA. The microprocessor can directly access to the memory which consistsof 16-bit words, addressed by a 16-bit word-address. Instructions are all multiples of16-bit words, and are stored in this memory. There are 16 general purpose registers(R0-R15), a program counter (PC) and a condition code register (CC). Themicroprocessor can execute 16 instructions such as add, subtract, multiply, divide, loadand store. The frequency of the microprocessor is about 3 MHz for operand such asadd, subtract, multiply and divide and about 1.5 MHz for operand such as load andstore and about 2.3 MHz for operand such as quick load and quick store.x