Overordnede kursusmål
Kursets formål er introducere opbygningen af simple computer
systemer samt at sætte den studerende i stand til at analysere,
designe, simulere, implementere, afprøve og dokumentere
- digitale systemer på Register Transfer Level (RTL) niveau
- synkrone sekvensmaskiner
under anvendelse af rekonfigurerbar hardware.
Kurset give en generel forståelse af, hvorledes et simpelt computer
system er opbygget omfattende:
- processor mikroarkitektur og instruktionssæt
- organisering af hukommelse og adressingsmodes
- busser, mapping af hukommelse, interface til IO kredsløb
Kurset sætter deltagerne i stand til at analysere, designe,
simulere, implementere, afprøve og dokumentere digitale kredsløb,
som foretager simple beregninger eller simple styringssopgaver ved
anvendelse af gængse syntese- og simuleringsværktøjer (p.t. VHDL,
ModelSim og Xilinx) og at realisere disse kredsløb i
rekonfigurerbar hardware (FPGA-teknologi).
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- Redegøre for arkitekturen af en simpel computer
- Forklare virkemåde og realisering af grundlæggende
hukommelseselementer (D flip-flop’s og D-latche)
- Redegøre for opbygning og virkemåde af synkrone
tilstandsmaskiner samt beskrive trin for trin hvorledes en sådan
tilstandsmaskine designes (tilstandsgraf, tilstandstabel,
tilstandsminimering, tilstandskodning, etc.)
- Omsætte et verbalt designoplæg til en specifikation af et
digitalt kredsløb ved brug af Boolesk algebra, sandhedstabeller,
tilstandsgrafer m.v. og efterfølgende at syntetisere og
implementere kredsløbet
- Demonstrere grundlæggende kendskab til simulerings- og
synteseværktøjer for digitale kredsløb, og herunder kunne beskrive
mindre kredsløb i et hardwarebeskrivende sprog (som f.eks.
VHDL)
- Definere og forklare/redegøre for tidsparametre for komponenter
på RTL-niveau (registre og logik) og på baggrund af disse at
beregne kritiske signalveje for et givent sekventielt kredsløb og
bestemme den minimalt mulige periodetid for kloksignalet
- Forklare og programmere simple programmer skrevet i
maskinkode
- Forklare opbygning og virkemåde af et sekventielt kredsløb
bestående af en datavej og en tilhørende
tilstandsmaskine/kontrolenhed samt designe en sådan
FSMD-realisering af simple algoritmer og styringskredsløb
- Forklare fænomenet metastabilitet og beskrive hvorledes
inputsignaler kan synkroniseres
- Analysere, opdele og implementere et større hardwareprojekt i
samarbejde med 1 til 2 medstuderende
- Dokumentere et sådant designarbejde i en teknisk
rapport
Kursusindhold
• Arkitektur og instruktionssæt for en simpel CPU.
• FSM (endelig tilstandsmaskine) og FSMD (endelig tilstandsmaskine
med datavej).
• Hardware design ved brug af hardware-beskrivende sprog (p.t.
VHDL).
• Lav-niveau programmering i maskinkode eller assembler.
• Virkemåde og intern organisation af en simpel computer.
• FPGA teknologi: struktur og virkemåde.
• Laboratorieøvelser dækkende VHDL og CAD-værktøjer til simulering,
syntese og prototype udvikling ved FPGA technology (p.t. Modelsim
og Xilinx).
Sidst opdateret
05. maj, 2020