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

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

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

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

Programmerbar logik och VHDL. Föreläsning 4

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

KOMBINATORISKA FUNKTIONER...1

Repetition och sammanfattning av syntes och analys av sekvensnät

SEKVENSKRETSAR. Innehåll

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Sekvensnät i VHDL del 2

VHDL 1. Programmerbara kretsar

Konstruktionsmetodik för sekvenskretsar

VHDL och laborationer i digitalteknik

LEJON LABORATION3. Laborationens syfte

DESIGN AV SEKVENTIELL LOGIK

Sekvensnät. William Sandqvist

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

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

Digital elektronik CL0090

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

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

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

Tentamen i Digitalteknik 5p

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

Digital Design IE1204

Sekvensnät Som Du kommer ihåg

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

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

Digital Design IE1204

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

(2B1560, 6B2911) HT08

IE1204/IE1205 Digital Design

std_logic & std_logic_vector

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

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Konstruktion av digitala system - VHDL

Tentamen i IE1204/5 Digital Design onsdagen den 5/

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

Tenta i Digitalteknik

F5 Introduktion till digitalteknik

Omtentamen IE Digital Design Måndag 14/

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

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

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

Exempel på tentamensfrågor Digitalteknik

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

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

Tentamen IE Digital Design Fredag 15/

LABORATIONSINSTRUKTION LABORATION

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

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

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

KALKYLATOR LABORATION4. Laborationens syfte

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

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

Tentamen IE Digital Design Måndag 23/

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

TSEA22 Digitalteknik 2019!

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

Tentamen i IE Digital Design Fredag 21/

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Exempel på LAX-uppgifter

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

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

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

LABORATIONSINSTRUKTION

Digital Design IE1204

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Utvecklingsprogram för att beskriva logiska funktioner med VHDL och realisera dem med PLD

IE1204 Digital Design

Tenta i Digitalteknik

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

Asynkrona sekvensmaskiner

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

Tenta i Digitalteknik

Tenta i Digitalteknik

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

+5V. start. Styrsystem. stopp. Tillståndsmaskiner

Tentamen med lösningar i IE Digital Design Fredag 15/

Digital Design IE1204

Simulering med ModelSim En kort introduktion

Introduktion till syntesverktyget Altera Max+PlusII

Laborationshandledning

TSEA22 Digitalteknik 2019!

Tentamen i Digitalteknik, EITF65

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

Omtentamen med lösningar IE Digital Design Måndag 14/

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Tentamen IE1204 Digital Design Måndag 15/

Digital Design IE1204

Digitala system EDI610 Elektro- och informationsteknik

Tentamen IE Digital Design Fredag 13/

L15 Introduktion modern digital design

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

VHDL2. Sekvensnätsexemplet

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen i Digital Design

Transkript:

UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Håkan Joëlson 2001-03-01 v 1.5 ELEKTRONIK Digitalteknik Laboration D159 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åndsändringar sker i samband med en klockpuls av något slag. 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 Speciellt för en MOORE-maskin är alltså att utsignalen U endast beror av tillståndet. Det representeras i tillståndsdiagrammet genom att utsignalen skrivs tillsammans med tillståndet i tillståndscirkeln. 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 eller andra namn på sub-program i olika programmeringsspråk. En PROCESS exekveras bara om parametrar uppräknade i dess 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. Kompilera och Simulera. Programmera en PLD-kapsel. Prova funktionen. Uppgift 2 Automat Realisera den sekvenskrets som beskrivs i den sista uppgiften i laboration D158. Redovisa 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) praktiskt fungerande uppkoppling (visa för labhandledare) Uppgift 3 Jeopardy (frivillig) Realisera en krets 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. Visa upp för handledare. b Skriv VHDL-kod. c Kompilera, simulera och programmera en 22V10 krets. d Koppla upp Redovisa (även redovisning är frivillig naturligtvis) skriftligt VHDL-kod praktiskt fungerande uppkoppling (visa för lab.handledare och beundrande kurskamrater)