Design and VHDL Implementation of an Application-Specific Instruction Set Processor

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Master's thesis

Date

2020-01-20

Department

Major/Subject

Signal, Speech and Language Processing

Mcode

ELEC3031

Degree programme

CCIS - Master’s Programme in Computer, Communication and Information Sciences (TS2013)

Language

en

Pages

66+45

Series

Abstract

Open source processors are becoming more popular. They are a cost-effective option in hardware designs, because using the processor does not require an expensive license. However, a limited number of open source processors are still available. This is especially true for Application-Specific Instruction Set Processors (ASIPs). In this work, an ASIP processor was designed and implemented in VHDL hardware description language. The design was based on goals that make the processor easily customizable, and to have a low resource consumption in a System-on-Chip (SoC) design. Finally, the processor was implemented on an FPGA circuit, where it was tested with a specially designed VGA graphics controller. Necessary software tools, such as an assembler were also implemented for the processor. The assembler was used to write comprehensive test programs for testing and verifying the functionality of the processor. This work also examined some future upgrades of the designed processor. The upgrades include improvements to hardware, software tools and usability. The source codes for the processor, graphics controller and test programs are published under the MIT license, and are available at: http://www.iki.fi/lauri.isola/asip38.

Avoimen lähdekoodin prosessorit ovat yleistymässä. Ne ovat laitteistosuunnittelun kannalta kustannustehokas vaihtoehto, koska prosessorin käyttäminen ei vaadi kallista lisenssiä. Avoimen lähdekoodin prosessoreita on tarjolla kuitenkin vielä varsin rajallinen määrä. Tämä koskee etenkin sovelluskohtaisia käskykantaprosessoreita (ASIP). Tässä työssä on suunniteltu sovelluskohtainen käskykantaprosessori ja toteutettu se VHDL-laitteistokuvauskielellä. Suunnittelun lähtökohtina olivat prosessorin vaivaton muokattavuus sekä toteuttaminen järjestelmäpiirille (SoC) mahdollisimman vähillä resursseilla. Prosessori on toteutettu FPGA-piirille, jossa sitä testattiin erikseen suunnitellulla VGA-grafiikkaohjaimella. Prosessoria varten toteutettiin myös tarvittavat ohjelmistotyökalut, kuten assembler-kääntäjä. Sen avulla kirjoitettiin kattavat testiohjelmat, joita käytettiin prosessorin toiminnan testaamiseksi ja todentamiseksi. Tässä työssä tutustuttiin myös prosessorin jatkokehittämiseen. Tarkastelussa olivat laitteistoon, ohjelmistotyökaluihin ja käytettävyyteen liittyvät kehitysideat. Prosessorin, grafiikkaohjaimen sekä testiohjelmien lähdekoodit on julkaistu MIT-lisenssillä ja ne ovat saatavilla osoitteessa: http://www.iki.fi/lauri.isola/asip38.

Description

Supervisor

Ryynänen, Jussi

Thesis advisor

Kosunen, Marko

Keywords

ASIP, CPU, RTL, HDL, FPGA, SoC

Other note

Citation