DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Relevanta dokument
Programmerbar logik och VHDL. Föreläsning 1

Sekvensnät i VHDL del 2

INTRODUKTION TILL VIVADO

KALKYLATOR LABORATION4. Laborationens syfte

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Tentamen i Digitalteknik 5p

DIGITALTEKNIK. Laboration D172

LEJON LABORATION3. Laborationens syfte

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

(2B1560, 6B2911) HT08

Programmerbar logik och VHDL. Föreläsning 4

Tenta i Digitalteknik

VHDL 1. Programmerbara kretsar

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

VHDL och laborationer i digitalteknik

Digital elektronik CL0090

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

Tenta i Digitalteknik

Simulering med ModelSim En kort introduktion

Digital elektronik CL0090

Studiehandledning. Digitalkonstruktion 5p

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Tentamen i Digital Design

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

IE1204/IE1205 Digital Design

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Digitala projekt Elektro- och informationsteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Laboration Kombinatoriska kretsar

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

L15 Introduktion modern digital design

Sekvensnät. William Sandqvist

F5 Introduktion till digitalteknik

LABORATIONSINSTRUKTION

Digital Aritmetik Unsigned Integers Signed Integers"

Tenta i Digitalteknik

Digital- och datorteknik

Laborationshandledning

IE1205 Digital Design: F6 : Digital aritmetik 2

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen i Digitalteknik, EITF65

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Digital- och datorteknik

Tenta i Digitalteknik

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

LABORATIONSINSTRUKTION LABORATION

Tenta i Digitalteknik

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Kodlås. Kopplingsschema över kodlåset PAL-18

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

5:2 Digitalteknik Boolesk algebra. Inledning OCH-funktionen

Tenta i Digitalteknik

Introduktion till syntesverktyget Altera Max+PlusII

Digitalteknik: CoolRunner-II CPLD Starter Kit

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Laboration Kombinatoriska kretsar

Tenta i Digitalteknik

Tentamen IE Digital Design Måndag 23/

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Datorkonstruktion. Datorkonstruktion 2018, 8hp

Laboration i digitalteknik Introduktion till digitalteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Simulering med ModelSim En kort introduktion

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

DESIGN AV SEKVENTIELL LOGIK

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

D/A- och A/D-omvandlarmodul MOD687-31

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

Tentamen med lösningar IE Digital Design Måndag 23/

Exempel på tentamensfrågor Digitalteknik

Tentamen i IE Digital Design Fredag 21/

Laborationshandledning

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Strukturell VHDL. Grundläggande kunskaper om. och TESTBÄDD. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg ver 1.

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Transkript:

UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning...

Introduktion Syftet med denna laboration är att ge en första inblick i hur det hårdvarubeskrivande språket VHDL kan användas för att konfigurera programmerbar logik i form av en FPGA (Field Programmable Gate Array). Förberedelser Läs s. 1-10 i Introducing the Spartan 3E FPGA and VHDL. Följ instruktionerna och exempelprojektet på s.12-23 i Introducing the Spartan 3E FPGA and VHDL. Redovisning Laborationen redovisas med en skriftlig rapport. Vissa av uppgifterna ska även redovisas praktiskt i labbet. Se respektive uppgift för mer info. Laboration DE3 2

Uppgift 1 Beskriv följande black-box-diagram med var sin VHDL-entity. (Free Range VHDL kapitel 3.) a) b) Redovisa din kod i den skriftliga rapporten. Uppgift 2 Beskriv följande VHDL-entity med ett black-box-diagram. (Free Range VHDL kapitel 3.) Redovisa i den skriftliga rapporten. Uppgift 3 Skriv en VHDL-modell som implementerar följande funktion med hjälp av concurrent signal assignments. (Free Range VHDL kapitel 4.) Redovisa din kod i den skriftliga rapporten (komplett med entity/architecture). Laboration DE3 3

Uppgift 4 Beskriv nätet nedan med VHDL i data-flow-stil (Free Range VHDL kapitel 5.1). Använd de inbyggda logiska operatorerna, och signaler för att binda samman de olika grindarna. Redovisa din kod i den skriftliga rapporten (komplett med entity/architecture). Uppgift 5 - Kodlås Realisera kodlåset från Laboration DE1 med hjälp av VHDL och Basys2-kortet. Använd kortets åtta switchar (SW7..SW0) till insignalerna och två lysdioder (LD1..LD0) för att indikera utsignalerna. Redovisa ditt kodlås för labhandledare. Beskriv/diskutera kortfattat din lösning i den skriftliga rapporten. Bifoga även VHDL-kod, constraints-fil, samt bit-fil som separata filer (.vhd,.ucf,.bit). Laboration DE3 4

Uppgift 6 Flip-flop Beskriv följande D-flip-flop med hjälp av VHDL i behavioral-stil (Free Range VHDL kapitel 5.2-5.6, 6.8-6.11). Antag att: a) S och R är aktivt låga asynkrona SET och RESET-signaler. b) S och R är aktivt låga synkrona SET och RESET-signaler. Redovisa din kod i den skriftliga rapporten (komplett med entity/architecture för båda deluppgifterna). Laboration DE3 5

Uppgift 7 Räknare med LED Läs igenom kapitel 10 i Introducing the Spartan 3E FPGA and VHDL. Genomför därefter Project Binary up/down counter, s. 38. Inspireras gärna av den givna koden för en åtta bitars räknare, men använd inte det ickestandardiserade biblioteket ieee.std_logic_unsigned. Använd istället ieee.numeric_std (Free Range VHDL kapitel 10.9). På vilket sätt lagras din räknares värde i FPGAn? Redovisa din räknare för labhandledare. Beskriv/diskutera kortfattat din lösning i den skriftliga rapporten. Bifoga även VHDL-kod, constraints-fil, samt bit-fil som separata filer (.vhd,.ucf,.bit). Uppgift 8 ISim Modifiera din lösning från uppgift 7 så att du får en åtta bitars räknare. Lysdioderna kommer nu att blinka så snabbt att ögat inte hinner uppfatta det. För att analysera detta snabba förlopp kan koden simuleras med hjälp av simulatorn ISim. (Introducing the Spartan 3E FPGA and VHDL, kapitel 12.) Skapa en test-bench och simulera din up/down-räknare. Lägg till stimuli så att up/downswitchens funktion syns tydligt i simuleringsresultatet. Redovisa genom att kortfattat beskriva/diskutera din lösning i den skriftliga rapporten. Inkludera även en tydlig, kommenterad skärmdump av din simulering. (Exempel från en upp-räknare visas nedan.) Laboration DE3 6

Uppgift 9 ALU I denna uppgift ska en aritmetisk logisk enhet (ALU) beskrivas med en strukturell VHDLmodell (Free Range VHDL, kapitel 8). Läs igenom ALU_bilaga1. Din ALU-design ska följa Figur 5.28, som även visas nedan. Insignalen 1/Y och utsignalen C behöver ej implementeras. Av figuren framgår att konstruktionen baseras på en aritmetisk enhet (AU), en logisk enhet (LU) samt en multiplexer (MUX). Varje enhet (AU, LU, MUX) ska beskrivas med VHDL som en fristående komponent som ska kunna återanvändas i andra projekt. VHDL-koden ska alltså skrivas med en enskild entity och architecture för varje enhet. Dessa sub-enheter kopplas sedan samman med komponent-instansieringar i beskrivningens huvud-entity. Insignaler: X fyra bitars binärt tvåkomplement-tal Y fyra bitars binärt tvåkomplement-tal SUB/ADD en-bits styrsignal: 1 => subtraktion 0 => addition m två bitars styrsignal för val av logiska operationer (se ALU_bilaga1, Figur 5.23) A/L en-bits styrsignal: 1 => aritmetisk operation 0 => logisk operation Utsignaler: U fyra bitars binärt resultat (tvåkomplement) OF overflow Z zero P paritet S tecken Laboration DE3 7

Simulera din ALU med ISim-simulatorn. Lägg till stimuli i din test-bench så att du kan verifiera funktionen. Koppla ALU-modulen till Basys2-kortets expansions-kontakter och programmera FPGAn. Constraints-fil finns tillgänglig på kurshemsidan. Verifiera funktionen. Redovisa din fungerande ALU för labhandledare. Beskriv/diskutera kortfattat din lösning i den skriftliga rapporten. Inkludera en tydlig, kommenterad skärmdump av din simulering, som visar att din ALU-design fungerar som den ska. Bifoga VHDL-kod (inklusive simuleringskod), constraints-fil, samt bit-fil som separata filer (.vhd,.ucf,.bit). Laboration DE3 8

Spetsuppgift Räknare med 7-seg-display I denna uppgift ska du bygga ut LED-räknaren från uppgift 7 så att den även visar det decimala värdet (av de åtta högsta bitarna i 30-bitars-räknaren) på tre av Basys2-kortets fyra 7-segments-displayer 1. Blockschemat nedan beskriver en konstruktion som kan användas för att åstadkomma detta. Implementera konstruktionen med hjälp av strukturell VHDL (Free Range VHDL, kapitel 8). Varje block/komponent (indikerade med fet stil) ska beskrivas i en egen entity, för att sedan instansieras och bindas samman i en huvud-entity (counter_sseg_top). counter: 30-bitars räknare med ingångar för clk, upp/ner-kontroll, samt reset. Utgång: räknevärde. bin_to_bcd: Binär-till-bcd-omvandlare. Kod finns på kurshemsidan. Ingång: 8-bitars binärt tal. Utgångar: tre stycken 4-bitars bcd-kodade siffror. mux_31: dec_24: Multiplexer, 3-till-1. Välj x i blockschemat ovan så att lämplig multiplex-frekvens erhålles. Dekoder 2-4, för att sätta anod-nivåerna på de fyra 7-segments-displayerna. bcd_to_sseg: Bcd-till-7-segments-omvandlare. Observera att det inte är nödvändigt att förstå exakt hur bin_to_bcd fungerar internt. Detta demonstrerar en av de stora fördelarna med strukturell VHDL. Man kan återanvända komponenter som man tidigare har designat själv, eller fått/köpt från en annan källa. 1 För en kort introduktion till 7-segments-displayer, se Basys2 Reference Manual, s. 4-5. Se även Wikipedia: http://en.wikipedia.org/wiki/seven-segment_display Laboration DE3 9

Koppla de externa signalerna enligt nedan (Basys2): clk: switch: reset: an(3..0): sseg(6..0): LEDs(7..0): 50 MHz klocksignal, B8 Upp/ner-switch, P11 Reset, A7 Anoder, 7-segments-displayer, K14, M13, J12, F12 Segment, 7-segments-displayer, M12, L13, Lysdioder, G1, P4, Redovisa i labbet för handledare. Beskriv/diskutera kortfattat din lösning i den skriftliga rapporten. Bifoga komplett VHDL-kod, constraints-fil, samt bit-fil som separata filer (.vhd,.ucf,.bit). Laboration DE3 10