Wavetable szintézer megvalósítása FPGA áramkörön

Tanszéki konzulens: 
A munkatárs fényképe
mesteroktató
Szoba: IE336
Tel.:
+36 1 463-2066
Email: szanto (*) mit * bme * hu

A kiírás adatai

A téma státusza: 
Korábbi (jelenleg nem aktív, de látszik)
Kiírás éve: 
2015
A kiírás jellege: 
önálló labor, szakdolgozat/diplomaterv

A feladat célja egy FPGA-n megvalósított, hullámtáblás (wavetable) szintézisre képes hardver egység megvalósítása, mely AXI buszon kapcsolódik az ugyancsak FPGA-n belül implementált processzorhoz (MicroBlaze), amely a vezérlést látja el. A feladat részben nosztalgikus tisztelgés a PC-s hangkeltést egykoron meghatározó/felforgató Gravis UltraSound gyártója, az Advanced Gravis előtt.

A teljes feladat több részből tevődik össze, ezek egy része hardveres, egy része szofveres.

Hardver (FGA) tervezési feladatok:

  1. A Gravis-Forte GF1 chip funkcionalitását megvalósító IP mag elkészítése HDL (Verilog vagy VHDL) nyelven. A GF1 útodja, az AMD InterWave chip meglelehtősen jól dokumentált, így az alap funkciók megvalósítási módszereire jó például szolgál. Az InterWave (Am78C201A) adatlapja ITT érhető el. Az alap funkciók implementálása nem rémesen bonyolult.
  2. A GF1 funkcionalitásának kibővítése hardveresen megvalósított LFO-kkal (low frequency oscillator) és effekt processzorral (reverb, chorus). Esetlegesen magasabb fokú interpoláció alkalmazása a GF1/InterWave lineáris interpolációja helyett.

A szoftveres feladatok célja egy olyan alkalmazás készítése az FPGA-ban megvalósított MicroBlaze processzorra, amely a Gravis eredeti hangminta fájlok felhasználásával képes MIDI fájlok lejátszására, az elkészített hardver modul megfelelő programozásával. Ehhez szükséges a Gravis hangminta formátumának (.PAT), valamint a MIDI fájlformátum megismerése. Az alkalmazás elkészítésében segítséget jelenthet az Open Cubic Player forráskódja, amely képes MIDI lejátszásra Gravis UltraSound használatával.

A hardver és a szoftver sikeres implementálásának eredménye, azaz a végcél: Setters @ GUS.

Mivel a feladat jól szeparálható HDL és C programozás szintjén, valamint elég sok munkát igényel, így két, szorosan együtt dolgozó hallgatónak is megfelelő alternatíva lehet (de egyedül is elvállalható).

© 2010-2024 BME MIT