Context
Onze docenten gezocht voor ons project voor procestechniek, ons om de uitdagingen van het ontwerpen van een real-time systeem met relatief hoge prestaties op beperkte hulpbronnen (geheugen, bandbreedte).
De specificaties vereisen een gokkenplatform met behulp van de volgende hardware:
- van een Digilent Nexys 3 board (voor een GPU uitvoering van op de FPGA),
- een Keil's MCBSTM32F400 board (voor hosting van het OS van het platform en spel gegevens op te slaan),
- een DisplayTech DT035TFT LCD met een Novatek NT39016 stuurprogramma (draagbare correcte kleurendisplay).
Er zijn twee teams van twee studenten die aan dit project werken, één team is gericht op de ARM MCU, de andere op de GPU.
Specificaties
Het platform moet overeenkomen met de prestaties van een 16-bits commerciële gokkenplatform zoals SNES, Sega MegaDrive, met gelaagde frames en schuiven. Het platform bestaat uit twee hoofdonderdelen: de MCU van het moederbord en de GPU aangesloten op de video-uitgang.
- De specifieke vereisten van MCU zijn graphics API voor de GPU, audio API voor de onboard audio-codec gebruiker IO, MCU/GPU interface, SD card-interface. Programmering van de video game. Een module voor het configureren van de LCD-scherm (helderheid, contrast, enz.) wordt ook beschouwd als binnen de GPU.
- De specifieke eisen van de GPU zijn gelaagde display, mengen van verschillende lagen met transparantie, 16-bits RGBA kleuren, multilayer scrollen, 2D Basishandelingen (bitblit (kopie), kleuropvulling transparantie wijziging en hun combinatie (heldere, beweging, enz.)), primitieve generatie (lijnen, cirkels, tekst). LCD en VGA video-uitgangen. Grafische georiënteerde geheugencontroller met DMA-toegang.
Uitvoeringsplan
De twee teams zullen moeten regelmatig samenwerken voor de ontwikkeling van de twee belangrijkste onderdelen eerder vermeldden. Wij hebben de algemene architectuur van het platform om deze (Zie de eerste stap) ontworpen.
Het graphics-team zal beginnen met de uitvoering van videoweergave HDL modules en test video-uitgangen met behulp van statische videogegevens gesynthetiseerd op de FPGA. Dit zal worden gevolgd door de implementatie en integratie van de geheugencontroller samen met de framebuffer om weer te geven van gegevens die zijn opgeslagen in de video-RAM.
Ondertussen instructie bus en register afhalen & decoderen eenheid zal ten uitvoer worden gelegd teneinde de toegang tot de registers weergeven.
De blok-verwerkingseenheid worden toegepast ter 2D basiswerking van de video gegevens in het RAM-geheugen bieden. Na de etappe van voorbereidende integratie met het moederbord team, zal deze functionaliteiten worden getest en gezuiverd.
Het team zal overgaan tot de uitvoering van de DMA-controller zodat MCU video gegevens van de SD-kaart (in plaats van het hulpmiddel van de Digilent Adept). En resterende HDL modules zullen worden uitgevoerd, zoals de primitieve generator.