Aritmetikai műveletek hardveres megvalósítása
| Témavezető: | Jüttner Alpár |
| ELTE TTK, Operációkutatási Tsz. | |
| email: | alpar.juttner@gmail.com |
Projekt leírás
A projekt célja a számítógépes aritmetika néhány alapvető algoritmusának és azok hardveres megvalósításának megismerése. Az összeadás és szorzás logikai kapukból történő felépítéséből kiindulva vizsgálhatók például a különböző összeadó- és szorzóáramkörök, az egész vagy fixpontos osztási algoritmusok, valamint a trigonometrikus függvények, a négyzetgyök és más elemi függvények kiszámítására alkalmas CORDIC algoritmus.
A hallgató egy választott algoritmust vagy néhány egyszerűbb megoldást Verilog/SystemVerilog vagy VHDL nyelven implementál, szimulációval ellenőriz, majd FPGA-ra szintetizál. A munka része lehet különböző architektúrák összehasonlítása a felhasznált hardver-erőforrások, a futási idő, az elérhető órajel, az áteresztőképesség és a számítási pontosság alapján. A téma terjedelme a hallgató előismereteihez igazítható.
Előfeltételek
- Alapvető programozási ismeretek
- A bináris számábrázolás és az elemi logikai műveletek ismerete
- Matematikai algoritmusok iránti érdeklődés
Digitális áramkörök, FPGA-k vagy hardverleíró nyelvek korábbi ismerete előnyt jelent, de nem feltétel.
Hivatkozások
- Noam Nisan és Shimon Schocken: Project 2: Boolean Arithmetic – félösszeadó, teljes összeadó, 16 bites összeadó és aritmetikai-logikai egység felépítése elemi logikai áramkörökből.
- Miloš D. Ercegovac és Tomás Lang: Digital Arithmetic – Lecture Viewgraphs – szabadon letölthető egyetemi diasorok számábrázolásról, összeadásról, szorzásról, osztásról, gyökvonásról és a CORDIC algoritmusról.
- Will Green: Mathematics and Algorithms with FPGAs – gyakorlati Verilog-példák számábrázolásra, fixpontos aritmetikára, szorzásra, osztásra és gyökvonásra.
- Dan Gisselquist: Using a CORDIC to Calculate Sines and Cosines in an FPGA – a CORDIC algoritmus részletes levezetése és Verilog-alapú FPGA-megvalósítása.
Rövid áttekintések (Wikipedia)
- Division algorithm – visszaállító és visszaállítás nélküli osztás, SRT-, Newton–Raphson- és Goldschmidt-módszer.
- CORDIC – a CORDIC alapelve, változatai és alkalmazásai.
- BKM algorithm – a CORDIC-hoz hasonló, elemi műveletekre épülő algoritmus exponenciális és logaritmusfüggvények számítására.