FPGA fejlesztést segítő C# alapú keretrendszer fejlesztése

2024-2025 ősz

Nincs megadva

Téma leírása

A hallgató feladata egy olyan .NET (C#) alapú keretrendszer fejlesztésében történő részvétel, amiben Verilog fejlesztési szabályokat követve lehet alkalmazást fejleszteni, majd ebből Verilog kódot generálni.

A keretrendszer lényege, hogy bonyolult, nehezen leírható, változatos bemeneti adatokkal is könnyen szimulálhatóvá válik a fejlesztendő rendszer, valamint könnyen összeköthető akár más egységekkel is, melyeknek a működését nem feltétlenül ilyen szemlélettel készítünk el, így segítve a fejlesztést.

További szempont, hogy a megírt C# kódból Verilog kód legyen generálható, néhány lehetséges szempont:

  • Modul be-és kimenetek leírásának generálása (kész)
  • Always @ blokkok, értékadások és feltételvizsgálatok kezelése (kész)
  • Órajel domének kezelése (részben kész, támogatott, de nincs hibaellenőrzés)
  • GUI a jelek és a működés vizsgálatához
  • Szekvenciális programból állapotgép generálása
  • Modulok összekötése grafikus felületen (megjelenítés és vagy szerkesztés, példányosítás)
  • Állapotgép generálás grafikus felület segítségével
  • Belső modulok, pl. Blokkmemóriák támogatása (van, további egységek fejleszthetők)
  • Interfészek kezelése (pl. Wishbone, I2C busz használat)
  • stb.
 
A keretrendszer kezdeti változata elkészült, a fejlesztés ezt felhasználva, kiegészítve történne.
A szimulátor/fordítóval készített modulok valódi FPGA-n is kipróbálhatók.
További fejleszthető modulok:
  • UDP adatküldés Ethernet interfészen PHY IC-vel MII/RMII interfészen
  • SDRAM interfész modul fejlesztése SDRAM szimulátorral
  • PSRAM illesztés (HyperRAM) szimulátorral
  • FIFO
  • I2C, SPI, UART interfészek

Maximális létszám: 2 fő