Projekt 4. - Institut for Matematik og Datalogi - Syddansk Universitet
Projekt 4. - Institut for Matematik og Datalogi - Syddansk Universitet
Projekt 4. - Institut for Matematik og Datalogi - Syddansk Universitet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
N a t u r v i d e n s k a b e l i g t P r o j e k t / F a r m a c e u t : V a l g f r i t P r o j e k t<br />
<strong>Projekt</strong> 5<strong>4.</strong> Pr<strong>og</strong>rammering af Algoritmer i Hardware<br />
Vejleder: Peter Kornerup, kornerup@imada.sdu.dk<br />
<strong>Institut</strong>: <strong>Matematik</strong> <strong>og</strong> Datal<strong>og</strong>i<br />
Praktisk del: Pr<strong>og</strong>rammering<br />
Gruppeplacering: <strong>Matematik</strong> <strong>og</strong> Datal<strong>og</strong>i<br />
Gruppestørrelse: Mindst 3 <strong>og</strong> max 3 deltagere. Tre grupper kan arbejde med projektet.<br />
Kommentarer: <strong>Projekt</strong>et er særligt velegnet til studieordning i datal<strong>og</strong>i / The project is specially<br />
suitable <strong>for</strong> students with curriculum in computer<br />
Keywords:<br />
VHDL-pr<strong>og</strong>rammering, FPGA-implementation, modulær multiplikation,<br />
modulær eksponentiering, RSA kryptering.<br />
Abstract<br />
Typisk er det muligt ved udnyttelse af parallelisme at realisere en hardwareløsning af et problem<br />
som kan køre væsentligt hurtigere end en tilsvarende softwareløsning <strong>for</strong> en standard processor.<br />
Dette kan være afgørende <strong>for</strong> at realisere løsninger til visse tidskritiske problemer, men hardwareløsninger<br />
kan <strong>og</strong>så i mange tilfælde være økonomisk <strong>for</strong>delagtige når der skal produceres<br />
store styktal.<br />
Indledningsvis indgår i projektet en kortere introduktion til elementære l<strong>og</strong>iske kredse, <strong>for</strong> derved<br />
at være i stand til at designe algoritmer realiserbare i hardware, samt ved pr<strong>og</strong>rammering i<br />
spr<strong>og</strong>et VHDL at specificere sådanne løsninger som kredsløb. Et VHDL pr<strong>og</strong>ram kan oversættes<br />
til et netværk af simple l<strong>og</strong>iske kredse <strong>og</strong> lagerelementer som kan downloades i en FPGA<br />
chip (FPGA ~ Field Pr<strong>og</strong>rammable Gate Array), <strong>og</strong> bringes til udførelse. Disse kredse fås i dag<br />
med så mange l<strong>og</strong>ikelementer at det er muligt herpå at realisere hele CPU'er, ja endda flere sådanne.<br />
FPGA kredse anvendes til indbygning på kredsløbskort til løsning af specialopgaver som skal<br />
produceres i mindre styktal. Der fås <strong>og</strong>så standardkort med FPGA chips som kan tilsluttes en<br />
standard PC <strong>og</strong> derved udgøre en co-processor til at understøtte en særlig opgave, end<strong>og</strong> således<br />
at den dynamisk kan ompr<strong>og</strong>rammeres til at udføre andre opgaver. Til masseproduktion kan et<br />
design beskrevet i VHDL endvidere bruges til at fremstille en VLSI kreds, en såkaldt ASIC<br />
kreds (ASIC ~ Application Specific Integrated Circuit).<br />
<strong>Projekt</strong>et består i implementation af en ikke-triviel algoritme, bestående af design, pr<strong>og</strong>rammering,<br />
simulering, <strong>og</strong> afsluttende eksekvering af det resulterende kredsløb på instituttets Altera<br />
FPGA udstyr. Det <strong>for</strong>eslås at opgaven består i at implementere RSA krypteringsalgoritmen, med<br />
henblik på anvendelse som en co-procesessor til en PC, men alternative projekter er mulige.<br />
Minikurser<br />
Obligatorisk: <strong>Projekt</strong>arbejde (LaTeX).<br />
Anbefalede: Ingen<br />
Litteraturliste over metode artikler, som udleveres til de studerende<br />
P. Kornerup: "A Systolic, Linear-Array Multiplier <strong>for</strong> a Class of Right-Shift Algorithms", IEEE<br />
Transactions on Computers, Vol. C-43(8), August 199<strong>4.</strong><br />
Peter J. Ashenden: "The VHDL Cookbook" http://tams-www.in<strong>for</strong>matik.unihamburg.de/vhdl/doc/cookbook/VHDL-Cookbook.pdf<br />
Michael Vejlegaard Kristensen: ”Hardware pr<strong>og</strong>rammering” IMADA projektrapport, 2009<br />
56