At sætte deltagerne i stand til at designe, implementere, fejlfinde, afprøve og dokumentere et samlet system bestående af hardware og software. Målet er at få studerende til forstå den proces, der er involveret i konstruktionen af digitale kredsløb, software programmer, og hvorledes grænsefladen imellem disse håndteres.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
opdele designet af et større digitalt system i mindre og overskuelige dele af hardware og software.
implementere simple algoritmer.
designe software med en datastruktur i form af lænkede lister, samt kendskab til lignende selv- og krydsrefererende datastrukturer (træer, grafer).
håndtere manipulation med, samt dynamisk oprettelse og fjernelse af dataelementer i ovennævnte datastruktur.
foretage en syntese af mindre digitale systemer både ved hjælp af beskrivelsessproget VHDL, og ved at sammensætte primitive komponenter.
implementere et interface mellem en CPU og en FPGA
implementere en styring af ekstern hardware ud fra en given protokol på en FPGA.
skrive en teknisk rapport som dokumenterer det udførte arbejde, og hvor specielt analysen af opgaven samt det herudfra valgte design beskrives og kommenteres.
fungere som medlem af en mindre arbejdsgruppe og deltage konstruktivt i styringen af denne.
Kursusindhold:
ANSI C. Projekt med oprettelse og vedligeholdelse af kundekartotek. Forenklet mikroprocessorbus og timing ved operationer på ekstern memory. Funktion og intern opbygning af en RAM. Porte og interrupt. Datablade for RAM, ROM og mikroprocessor inkl. timingspecifikationer. Oversigt over hvordan en mikroprocessor programmeres på assembler niveau og fra et højniveau sprog. Mikrokontroller, herunder intern/ekstern- og program/datalager, bustiming, interruptsystem, timer/counter og serielkanal. Implementering af et simpelt 2D-grafik kort på FPGA. Projekt med strukturering, design, implementering og afprøvning af et spil, som kører på et komplekst digitalt system bestående af en Pc, en mikrokontroller og en FPGA.