Skriv ut | Lukk vindu |
Høst 2024
ELE-2801 FPGA-Programmering - 10 stp
Ansvarlig enhet
Emnetype
Studiepoengreduksjon
Innhold
Dette faget gir studentene kunnskaper, verktøy og ferdigheter til å omforme hvilken som helst ide til en reelle digital logisk krets basert på FPGA plattform. I hele kurset skal studentene bruke ATRIX-7 FPGA brikken fra produsent Xilinx som befinner seg på NEXYS-4 brett for å utføre mange forskjellige digitale basisdesigner.
- Utvikler et visst design ved bruk av VHDL programmeringsspråk, simulerer for å kontrollere kretsens funksjonalitet ved bruk av VHDL testbench, skaper User Constraint File (UCF), syntetisere, iverksette og programmere designet på FPGA brikken for testing.
- Kombinasjonskretser, f. eks.: eksplisitt Booleansk funksjon, Komparator, Multiplekser, Prioritetsdekoder og Adder.
- Regelmessige sekvensielle kretser slik som: D-FFs, Teller og Shift-register.
- Uregelmessige sekvensielle kretser (Finite State Machines).
- Design I/O moduler, UART, PS2 tastatur.
Opptakskrav
Generell studiekompetanse og Matematikk R1+R2 og Fysikk 1.
Søkere som kan dokumentere ett av følgende kvalifiserer også for opptak:
- generell studiekompetanse og bestått realfagkurs, eller
- bestått 1-årig forkurs for ingeniørutdanning, eller
- 2-årig teknisk fagskole etter rammeplan fastsatt av departementet 1998/99 og tidligere studieordninger
*For å få opptak til enkeltemner på grunnlag av Y-veien, må søkeren oppfylle opptakskriteriene for Y-vei til studieprogrammet som emnet inngår i. I tillegg må søkeren oppfylle eventuelle forkunnskapskrav som er spesifisert for det konkrete emnet de søker opptak til. Det gis begrenset studierett til det spesifikke emnet - på samme måte som realkompetansesøkere.
Søknadskode: 9391
Hva lærer du
Etter bestått emne skal studentene ha følgende læringsresultat:
Kunnskaper og forståelse:
Kandidaten kan:
- Beskrive prinsippene for design og utvikling av FPGA baserte systemer.
- Beskrive hva FPGA er og hvordan den er forskjellig i forhold til andre tilsvarende teknologier som for eksempel ASIC.
- Beskrive hvordan man representerer tall og bokstaver, samt kjenne til grunnleggende operatorer, som f. eks. «or», «not» og «+», i VHDL programmeringsspråk.
- Forstå forskjellen mellom kombinatorisk og sekvensiell logikk.
- Forstå forskjellen mellom signal og variabler i VHDL programmeringsspråk.
- Forstå forskjellen mellom kombinatorisk og sekvensiell del i en tilstandsmaskin.
- Beskrive forskjellen mellom Moore og Mealy tilstandsmaskiner.
- Kjenne til prinsipper ved testing av digitale systemer.
Ferdigheter:
Kandidaten kan:
- Bruke verktøy og programvare for digital design, f.eks. ISE-Xilinx og Model-Sim.
- Konvertere en gitt ide til en Booleansk funksjon/likning.
- Modellere kombinasjonskretser, som f. eks. komparatorer, multiplekser og addere, med VHDL programmeringsspråk.
- Modellere regelmessige sekvensielle kretser, som f. eks. D-FFs, tellere og shift-register, med VHDL programmeringsspråk.
- Modellere uregelmessige sekvensielle kretser (FSM), som f. eks. trafikklys og linjekoding i telekommunikasjon, med VHDL programmeringsspråk.
- Designe I/O moduler, slik som UART og PS2 tastatur.
- Anvende dataverktøy for å verifisere funksjonaliteten til et digitalt system.