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



Relevanta dokument
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

DIGITALTEKNIK. Laboration D172

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

VHDL och laborationer i digitalteknik

Programmerbar logik och VHDL. Föreläsning 4

KOMBINATORISKA FUNKTIONER...1

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

Konstruktionsmetodik för sekvenskretsar

DESIGN AV SEKVENTIELL LOGIK

IE1205 Digital Design: F9: Synkrona tillståndsautomater

SEKVENSKRETSAR. Innehåll

LABORATIONSINSTRUKTION

VHDL 1. Programmerbara kretsar

ELEKTRONIK LABORATION D0. Digitalteknik. Kombinatoriska nät, VHDL, PLD. Sekvensnät beskrivna med VHDL och realiserade med PLD

Repetition och sammanfattning av syntes och analys av sekvensnät

Sekvensnät i VHDL del 2

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Tentamen i Digitalteknik 5p

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

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

std_logic & std_logic_vector

Sekvensnät. William Sandqvist

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Digital elektronik CL0090

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

LEJON LABORATION3. Laborationens syfte

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

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

Konstruktion av digitala system - VHDL

Tenta i Digitalteknik

Tenta i Digitalteknik

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

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

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

F5 Introduktion till digitalteknik

Digital Design IE1204

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

KALKYLATOR LABORATION4. Laborationens syfte

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

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

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

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

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet

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

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Laboration Sekvenskretsar

Tentamen i IE1204/5 Digital Design onsdagen den 5/

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

IE1204/IE1205 Digital Design

Grundläggande digitalteknik

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

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

LABORATIONSINSTRUKTION LABORATION

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2

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

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

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

Tenta i Digitalteknik

Digitala projekt Elektro- och informationsteknik

Omtentamen IE Digital Design Måndag 14/

Uppgift 12: Konstruera en elektronisk tärning. Resultatet av ett tärningskast ska visas på en 7- segmentindikator.

Laborationshandledning

Digital Design IE1204

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

Tenta i Digitalteknik

Exempel på LAX-uppgifter

Laboration Kombinatoriska kretsar

Simulering med ModelSim En kort introduktion

Digital Design IE1204

Sekvensnät Som Du kommer ihåg

Digitala system EDI610 Elektro- och informationsteknik

Laboration Kombinatoriska kretsar

Exempel på tentamensfrågor Digitalteknik

VHDL2. Sekvensnätsexemplet

F5 Introduktion till digitalteknik

VHDL2. Sekvensnätsexemplet

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

Tenta i Digitalteknik

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

Angående buffer. clk clear >=1 =9?

Tentamen i Digitalteknik, EITF65

Digital Design IE1204

Tentamen IE Digital Design Måndag 23/

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

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

Digitala elektroniksystem

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

Tentamen IE Digital Design Fredag 15/

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Tenta i Digitalteknik

Programable Logic Devices

Tentamen i Digital Design

Digital Design IE1204

Transkript:

UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Dan Weinehall/ Håkan Joëlson 2010-05-06 v 1.7 ELEKTRONIK Digitalteknik Laboration D184 Sekvensnät beskrivna med VHDL och realiserade med PLD Namn: Datum: Epostadr: Kurs: Studieprogram: Innehåll Sidan Inledning 1 Tillståndsmaskin 1 MOORE-maskin 2 VHDL-beskrivning (typiskt kodexempel) 3 Kommentarer till VHDL-koden 4 Uppgifter 5

1 Inledning Digitala logiska kretsar och nät delar man in i kombinatoriska kretsar/nät och sekvenskretsar/nät. Det som utmärker de kombinatoriska är att en viss utsignal alltid beror enbart av en viss specifik insignal. Det som utmärker sekvenskretsar och sekvensnät är att utsignalerna beror både av kretsens/nätets tidigare tillstånd och av eventuella insignaler. Grundläggande sekvenskretsar är låskretsar och vippor. Det är en mycket viktig grupp av digitala kretsar. Allt från enkla låskretsar till komplicerade microprocessorkretsar hör till kategorien sekvenskretsar. Karakteristiskt för en grundläggande sekvenskrets (vippa) är att Tillståndsmaskiner Sekvensnät kallas ofta automater eller tillståndsmaskiner. (eng. Finite State Machine, FSM). De kan indelas i två huvudgrupper, som skiljer sig åt genom vad som påverkar deras utsignaler: Mealy-maskiner Hos en Mealy-maskin beror utsignal både på insignal och tillstånd. Moore-maskiner Hos en Moore-maskin bestäms utsignal enbart av tillstånd. En Moore är ett specialfall av en Mealy. Båda dessa typer är synkrona, d.v.s en och samma klocksignal styr när tillstånd och utsignaler kan ändra värde.

2 MOORE-maskin. S0/ U0 S1/ i1 U1 i0 i0 i1 i1 i0 S2/ U2 Exempel på tillståndsdiagram som beskriver en MOORE-maskin Det som är speciellt för en MOORE-maskin är att utsignalen U endast beror av tillståndet. OBS! Nätets utsignal kan ha samma beteckning (värden) som tillstånden (vippornas tillstånd) men är inte samma sak som tillstånden (själva vippornas utsignaler). clk in Kombinatorisk krets S + Vippor eller register Kombinatorisk krets Ut S S = nuvarande tillstånd (intern signal) S+ = nästa tillstånd (intern signal) In = insignaler Ut = utsignaler Clk = klocksignal Blockschema för MOORE-maskin

3 Typisk VHDL-beskrivning av MOORE-maskin. ENTITY cnt_moore IS PORT( i :IN bit; clk :IN bit; ut :OUT bit_vector(1 DOWNTO 0) ); END; ARCHITECTURE beh_cnt_moore 0F cnt_moore IS TYPE tillst IS (s0,s1,s2,s3); SIGNAL nuv_tillst, nst_tillst :tillst; P0: PROCESS(nuv_tillst,i) CASE nuv_tillst IS WHEN s0 => IF i='0' THEN nst_tillst <= s1; ELSE nst_tillst <= s3; END CASE; END PROCESS; WHEN s1 => IF i='0' THEN nst_tillst <= s2; ELSE nst_tillst <= s0; WHEN s2 => IF i='0' THEN nst_tillst <= s3; ELSE nst_tillst <= s1; WHEN s3 => IF i='0' THEN nst_tillst <= s0; ELSE nst_tillst <= s2; P1: PROCESS(clk) IF (clk'event AND clk='1 ) THEN nuv_tillst<=nst_tillst; END PROCESS; P2: PROCESS(nuv_tillst) CASE nuv_tillst IS WHEN s0 => ut <= "00"; WHEN s1 => ut <= "01"; WHEN s2 => ut <= "10"; WHEN s3 => ut <= "11"; END CASE; END PROCESS; END;

4 Kommentarer till VHDL-koden. I ENTITY anges parametrar för in- och utgångar, vilket MODE ("typ") som gäller för dessa parametrar samt vilka värden de kan anta (bit - dvs värdena 0 och 1), ARCHITECTURE inleds med ett namn, beh_cnt_moore, och därefter den ENTITY, cnt_moore, vars funktion beskrivs. TYPE anger vilka värden en parameter kan anta. (Jämför ENTITY där i stället en MODE anges, IN, OUT e.t.c.) SIGNAL anger vilka interna parametrar som behövs för samverkan mellan processerna (nuv_tillst, nst_tillst) och vilken TYPE som parametrarna har. PROCESS är en viktig VHDL-beskrivning som kan jämföras med procedur, funktion och andra namn på sub-program i olika programmeringsspråk. En PROCESS exekveras bara om parametrar uppräknade i en sensivity list ändrar värden. Saknas sensivity list utförs aldrig programrutinen i PROCESS. P0: process(nuv_tillst,i) I processen med beteckningen P0 används en CASE-sats för att beskriva tillståndsmaskinen. Processen P0 är alltså den programdel som "översätter" tillståndsdiagrammet till VHDL-kod och kallas deklarations del. P1: process(clk) Processen beskriver när en ändring av tillstånd kan ske och kallas synkron del. I exemplet sker tillståndsändringar vid positiv klockpulsflank. P2: process(nuv_tillst) CASE-satsen i denna process används för att ange utsignalvärden vid respektive tillstånd. OBS! Här används en mera generell metod för att beskriva kombinatorisk logik. P2 kallas för kombinatorisk del. MEALY-automat. Studera koden som beskriver en MEALY-automat i häftet Grunderna i VHDL. I den sista processen kan Du se att utsignalen beror av både insignalen och det tillstånd som maskinen för nävarande befinner sig i.

5 Uppgift 1 Övningsexempel Starta Galaxy. Skapa ett nytt Projekt under din personliga mapp. Välj New för att börja skriva in en ny VHDL-fil. Skriv in VHDL-koden från typexemplet s.3. Kompilera och Simulera. Programmera en PLD-kapsel. Prova funktionen. Uppgift 2 Automat Realisera den sekvenskrets som beskrivs i den sista uppgiften i laboration D182. Uppgift 3 Jeopardy Realisera en krets, sekvensnät, som håller reda på vem av två tävlande som först trycker på "sin" knapp. Tävlingsledaren har en nollställningsknapp (RESET). När den aktiveras släcks båda lagens lampor. När sedan någon av lagen trycker på sin knapp tänds en lampa som indikerar att det laget tryckt först. a Rita tillståndsdiagram. Kontrollvisa upp för handledare om du vill. b Skriv VHDL-kod. c Kompilera, simulera och programmera en 22V10 krets. d Koppla upp Redovisning Enl. kursens examinationskrav på kursens hemsida eller på annat sätt. Om inget annat specificeras, redovisa Uppgift 2: Uppgift 3: Skriftligt: Förarbete (inkl. kodning av in- och utsignaler) VHDL-kod simuleringsresultat med ett urval intressanta sekvenser (bl.a. komplett uppräkning och komplett nedräkning) fullständigt kopplingsschema Praktiskt: Visa upp en fungerande koppling för labhandledare. Skriftligt: Förarbete (inkl. tillståndsdiagram och kodning av in- och utsignaler) VHDL-kod simuleringsresultat fullständigt kopplingsschema. Praktiskt: Visa upp en fungerande koppling för labhandledare.