IP core alapú SoC rendszerépítő készítése
![]() doktorandusz
Szoba: IE 335 |
A kiírás adatai
Napjainkban (túl jól) ismert szoftverek (Xilinx EDK, Altera QSys) léteznek arra, hogy egy működő processzoros rendszert hozzunk létre, amelyet majd leszintetizálunk, betöltünk FPGA-ba.
Sajnos ezeknek az eszközöknek a felhasználhatósága egy-egy processzorcsalád köré (MicroBlaze, Nios) csoportosul. Emellett - természetesen - az egyes rendszerek leírása egyáltalán nem kompatibilis egymással, sőt, maguk a létrehozó programok is elég különbözőek.
A cél a következő: egy létező, szabványos leírásból, az XML alapú IP-XACT-ból generálni a processzoros rendszereinket. Milyen feladatokra lehet számítani:
- Nyílt forrású IP-core-ok megismerése, alkalmazása (ajánlott megnézni: http://www.opencores.org és http://opencores.org/or1k/OR1K:Community_Portal#ORPSoC), Wishbone alapú buszrendszerek, soft core processzorok.
- IP-XACT leírás előállítása IP-core-okhoz.
- Automatikus buszstruktúra létrehozása IP-XACT leírásból.
- Forrásfile-ok létrehozása, ezek szintetizálása.
- Board support package generálása szoftverfejlesztéshez
- Eclipse alapú GUI fejlesztése, mellyel a rendszerünket gyorsan, egyszerűen, kényelmesen összekattintgathatjuk.
Ez nyilvánvalóan hatalmas nagy téma, több hallgató jelentkezhet erre, ezért a zárójeles többes szám. Ha egyedül vagy, akkor sem gond, tudunk ebből választani.
Elgondolásaim szerint ez a munka B.Sc. önálló laboratóriumtól M.Sc. diplomatervig minimum el tud tartani, 1-2-3-4 hallgatónak is.
Mit érdemes tudnod (attól függően, hogy melyik részre jelentkeznél):
- Az Eclipse-részhez Java nyelv ismerete szükséges (ezt informatikusoknak amúgy is kell tudniuk, villamosmérnökök meg úgyis tanuljátok M.Sc.-n, tehát nem árthat).
- A rendszer generálásához érdemes valamilyen könnyed, gyors fejlesztést támogató nyelvet használni (nekem a Python szimpatikus). Hamar tanulható (pont ezért támogatja a gyors fejlesztést). Ide még nem árt a Verilog nyelv ismerete sem. De ezt úgyis tanuljátok valamilyen szinten, mind a villamosmérnökök, mind a mérnök informatikusok, az elég, a többi jön magától.
- A board support package generálásához nem árt némi nyílt forrású ismeret, illetve jó, ha nem félsz a parancssortól.
Alapkövetelmény, hogy legyen lelkesedésed, a téma elég nagy, mindig lehet továbbfejleszteni :-)