Abstract
Det ble i denne oppgaven designet en arkitektur for evolusjonær maskinvare basert på intern rekonfigurering av FPGA. Til å utføre intern rekonfigurasjonen av FPGA-en ble internal configuration access port (ICAP) brukt. Programmet PlanAhead fra Xilinx ble brukt til å designe den interne rekonfigurasjonsdelen av arkitekturen.
Motivasjonen for oppgaven var å introdusere fleksibilitet til et signal- og klassifikasjonssystem, ved å bruke intern rekonfigurasjon av FPGA. Klassifikasjonssystemet består av flere klassifikasjonsmoduler. For å oppnå fleksibilitet i klassifikasjonssystemet ble det utviklet flere ferdig syntetiserte klassifikasjonsmoduler av ulik størrelse tilgjengelig i et eksternt minne, som kan benyttes ved behov. De forskjellige konfigurasjonene av klassifikasjonsmodulene representeres ved delvise bitstrenger. Disse delvise bitstrengene brukes til å utføre intern rekonfigurasjon
av FPGA.
Det ble sett på rekonfigurasjonstider ved å lese inn de delvise bitstrengene fra CompactFlash og skrive dem til ICAP, som rekonfigurerte en FPGA. Det ble også sett på rekonfigurasjonstider ved å ha de delvise bitstrengene lagret i et eksternt SDRAM minne, hvor de så ble skrevet inn til ICAP, som utførte intern rekonfigurasjon.
Det ble utviklet et System On Chip (SoC) design på en Xilinx Virtex-II FPGA. SoC systemet bestod av en PowerPC, UART, ICAP, en SDRAM kontroller og et CompactFlash grensesnitt SysAce. For å foreta intern rekonfigurasjon av FPGA med klassifikasjonsmoduler av forskjellig størrelse ble det utviklet et program som ble kjørt på PowerPC-en. Dette programmet bruker UART til å kommunisere med PC, hvor det ble gitt instruksjoner om hvilken klassifikasjonsmodul FPGA-en skulle rekonfigureres med.
Ut i fra rekonfigurasjonstidene viser det seg at det er best å ha de delvise bitstrengene lagret i et eksternt SDRAM minne. Ved å optimalisere koden som brukes av ICAP i tillegg til å bruke PowerPC-ens cache, ble det oppnådd lave rekonfigurasjonstider helt ned til 6 ms.