Stack alapú kalkulátor tervezése FPGA-val

OData támogatás
Konzulens:
Dr. Fehér Béla
Méréstechnika és Információs Rendszerek Tanszék

Amikor kitűztem feladatul a szakdolgozat témámat, a fő célom az volt, hogy kapjak egy alapvető rálátást az FPGA-k működésére, és azok programozására egy hardver leíró nyelvvel, esetemben Verilog-al. Mivel nem igazán volt előzetes ismeretem ebben a témában, úgy éreztem, hogy az alapokkal kell kezdenem. Egy számológép megtervezése egy érdekes feladatnak tűnt számomra, mely segített jobban elsajátítani az egyszerűbb aritmetikai műveletek implementálását egy digitális rendszerben, esetemben egy FPGA-n.

A decimális műveletvégzéssel kompatibilis eszközök igénye az elmúlt évek folyamán fokozatosan nőtt, ahogy például a pénzügyi szektor megköveteli olyan precíziós műveletek végrehajtását, melyeket egy kettes számrendszerbeli szám már nem képes biztosítani.

Első hallásra a számológép egy egyszerű eszköznek tűnik, hiszen már mindenkinél van egy erre alkalmas eszköz, de nem csak a decimális aritmetika, hanem lebegő-pontos számok támogatása, és azokkal való műveletvégzés egészen 16 számjegyig, egy nagyon erőforrás-igényes művelet.

Az általam megvalósított számológép képes összeadni, kivonni, szorozni és osztani 16 számjegy széles, előjeles számokon, melyek kitevője megfelel az IEEE-754-2008 szabvány által definiált decimal64 formátumnak. A számológép Fordított lengyel jelölést használ, ezzel is leegyszerűsítve a veremműveleteket. A verem írása és vezérlése kívülről kell, hogy történjen, így szükségessé téve egy külső vezérlőegység jelenlétét.

Az említett eszköz tervezése segített jobban elsajátítani egy egyszerű rendszer implementálását egy FPGA alapú környezetben, és hogy jobban megismerhessem a decimális műveletek megvalósítását digitális eszközökön.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.