University of Oulu

Mikroprosessorin suunnittelu ja toteutus FPGA:lle

Saved in:
Author: Isola, Matti1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Department of Electrical Engineering, Electrical Engineering
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 17.9 MB)
Persistent link: http://urn.fi/URN:NBN:fi:oulu-201512052257
Language: Finnish
Published: Oulu : M. Isola, 2015
Publish Date: 2015-12-09
Physical Description: 289 p.
Thesis type: Master's thesis (tech)
Tutor: Lahti, Jukka
Reviewer: Häkkinen, Juha
Lahti, Jukka
Description:

Tiivistelmä

Tässä työssä suunnitellaan yleiskäyttöinen mikroprosessori, joka toteutetaan FPGA:lle VHDL:llä. Nykyään on FPGA-piireille alkanut saada yhä enemmän niin kutsuttuja ”softcore”-prosessoreita. Tarkoitus on tutkia mitä tällaisen prosessorin suunnittelu alusta asti vaatii. Suunnittelun päätavoitteena on toteuttaa prosessorin arkkitehtuuri niin, että sitä on helppo muokata jälkikäteen. Tämä mahdollistaa, että prosessoria on nopea muokata sopimaan erilaisiin tehtäviin. Se on myös suunnittelun tärkein vaatimus.

Prosessorin ensimmäinen versio suunnitellaan piirikaaviopohjaisella Logisim-simulaattorilla, jossa sitä on hyvä hahmotella ennen VHDL:llä tapahtuvaa lopullista toteutusta. Prosessoriin suunnitellaan ja toteutetaan VHDL:llä lisäksi PS/2-portti näppäimistöä varten sekä VGA-näytönohjain tekstin tulostamiseksi näytölle. Prosessorin testaamista varten suunnitellaan ja toteutetaan kontrolliohjelma, joka sisältää komentotulkin ja 18 suoritettavaa käskyä (ohjelmaa). Kontrolliohjelman ohjelmointia varten toteutetaan Python-ohjelmointikielellä assembler-kääntäjä.

Tässä työssä tutustutaan myös avoimen lähdekoodin FPGA-laitteistosuunnitteluun keskittyvän OpenCores-sivuston prosessoritarjontaan. Tarkoitus on vertailla suunniteltua prosessoria sivuston prosessoreihin sekä miettiä hieman prosessorin jatkokehittelymahdollisuuksia. Pääpaino tässä työssä on kuitenkin prosessorin suunnittelussa ja toteutuksessa, jota tullaan käymään läpi erittäin tarkasti. Suunniteltuun prosessoriin on myös mahdollista tutustua osoitteessa: http://www.saunalahti.fi/~matisol/CPU/.

see all

Design and FPGA implementation of a general-purpose microprocessor

Abstract

The purpose of this Master’s thesis is to design and implement a general-purpose microprocessor in VHDL on FPGA. Nowadays, there are so called “softcore” microprocessors available for FPGAs. This thesis investigates how to design a softcore processor from scratch. The main goal is to design the processor architecture to be easily modified afterwards. This allows quick customizing of the processor for various tasks. That is also the most important design requirement.

The first version of the processor is designed in Logisim circuit simulator which provides a working prototype before final implementation in VHDL. Other hardware designed and implemented in VHDL are a PS/2 port for keyboard and a VGA controller for displaying text on a screen. To test the processor a control program is implemented which includes a command prompt and 18 executable commands (programs). A Python-based assembler is also implemented to compile the control program.

This thesis also investigates open source FPGA hardware development community OpenCores.org. The aim is to compare the implemented processor to other processors found from OpenCores and to think about some further development opportunities. The main focus however is in the processor design and implementation which is explained carefully in detail. Additionally, the designed processor can also be found at: http://www.saunalahti.fi/~matisol/CPU/.

see all

Subjects:
Copyright information: © Matti Isola, 2015. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.