Kurset omfatter digitale systemer på RTL-niveau, VHDL sproget, syntese og FPGA teknologi. Kurset fokuserer på at skrive effektiv VHDL kode og på sammenhægen mellem VHDL koden og den hardware realisering som syntetiseres ud fra den. Kurset er et afsluttende kursus for bachelorstuderende og et indledende kursus for masterstuderende.
At sætte deltagerne i stand til på systematisk vis at konstruere større digitale kredsløb, og at realisere disse i FPGA-teknologi ved anvendelse af gængse CAD-værktøjer (p.t. VHDL, ModelSim og XILINX ISE).
At sætte deltagerne i stand til at analysere og optimere digitale kredsløb mht. hastighed og areal.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Konstruere et digitalt kredsløb, som udfører en given beregning, på følgende måder: som et kombinatorisk kredsløb, som et sekventielt kredsløb (tilstandsmaskine og data-path), og som et pipelinet kredsløb.
Foretage kvalificerede designbeslutninger med henblik på optimering af hastighed og areal et givent kredsløb.
Analysere og optimere hastigheden af et kredsløb udtrykt ved parametrene throughput og latenstid, og kan forklare den indbyrdes sammenhæng mellem disse parametre.
Forklare og anvende følgende mulige tidsmæssige organiseringer af et digitalt system: Synchronous globally timed, Synchronous locally timed og Globally-asynchronous locally-synchronous.
Beskrive et digitale kredsløb på forskellige abstraktionsniveauer i et gængst hardwarebeskrivende sprog (p.t. VHDL) og simulere det ved anvendelse af et gængst simuleringsværktøj (p.t. ModelSim).
Redegøre for den interne opbygning i en gængs FPGA komponent (p.t XILINX) og redegøre for, hvorledes dennes ressourcer bedst kan udnyttes ved realisering af et givent kredsløb.
Udvikle og anvende testbenches til simulering og verifikation af et kredsløbs funktion.
Udvikle komplekse digitale kredsløb ved en trinvis forfining fra en specifikation til et hardwarenært niveau, hvorfra der kan syntetiseres en realisering.
Organisere og planlægge dette arbejdes udførelse i en gruppe af personer.
Dokumentere dette arbejde (design, implementering og test) i form af en teknisk rapport, som henvender sig til en udenforstående fagfælle, og som overholder sædvanlige krav til form og indhold/abstraktionsniveau.
Kursusindhold:
Konstruktion af digitale systemer: Beregningskredsløb og tilstandsmaskiner. Pipelineteknikker. Fra algoritme til kredsløb. Kvantificering af hastighed (throughput og latenstid). Designsproget VHDL og simulering af kredsløb beskrevet dette sprog. Introduktion til FPGA teknologi. Hardwaresyntese. Udviklingsmetode for design af digitale systemer (specifikation, trinvis forfining, simulering, syntese implementering og endelig afprøvning).
Sideløbende med forelæsningerne gennemføres en række øvelser, som dels giver deltagerne en dybere indsigt i forelæsningsstoffet, og dels gør deltagerne fortrolige med designsproget VHDL og de dertil hørende CAD værktøjer til design, simulering og syntese af digitale systemer. Til slut udføres en mindre selvstændigt designopgave.
Litteratur:
Lærebog: Pong Chu, "RTL-Hardware Design Using VHDL - Coding for Efficiency, Portability, and Scalability," Wiley, 2006.
Bemærkninger:
Kursus 02137 er et efterfølgende 3-ugers laboratoriekursus, som giver dybere indsigt i, og større parktisk erfaring med, design af digitale systemer.