Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Relevanta dokument
Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

IE1205 Digital Design: F9: Synkrona tillståndsautomater

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

Sekvensnät vippor, register och bussar

Programmerbar logik och VHDL. Föreläsning 4

TSEA22 Digitalteknik 2019!

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

TSEA22 Digitalteknik 2019!

SEKVENSKRETSAR. Innehåll

Sekvensnät. William Sandqvist

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

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

Sekvensnät i VHDL del 2

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

Repetition delay-element

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

Tenta i Digitalteknik

Låskretsar och Vippor

Tentamen i Digitalteknik, EITF65

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

DESIGN AV SEKVENTIELL LOGIK

Tenta i Digitalteknik

Exempel på LAX-uppgifter

Laboration i digitalteknik Introduktion till digitalteknik

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

Konstruktionsmetodik för sekvenskretsar

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

IE1205 Digital Design: F13: Asynkrona Sekvensnät (Del 2)

Digital Design IE1204

Tenta i Digitalteknik

Sekvensnät Som Du kommer ihåg

Digital- och datorteknik

LABORATIONER I DIGITALTEKNIK. för kurserna. TSEA22, lab 1-4 TSEA51, lab 1-3 TDDC75, lab 1,2

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

LV6 LV7. Aktivera Kursens mål:

Digital Design IE1204

Digital elektronik CL0090

Digital Design IE1204

Asynkrona sekvensmaskiner

IE1204 Digital Design

Tentamen IE Digital Design Fredag 15/

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

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Digital Design IE1204

ALU:n ska anslutas hur då?

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tenta i Digitalteknik

F5 Introduktion till digitalteknik

Tentamen IE1204 Digital Design Måndag 15/

Digital Design IE1204

Digital Design IE1204

Repetition och sammanfattning av syntes och analys av sekvensnät

Omtentamen IE Digital Design Måndag 14/

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

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

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

IE1204/IE1205 Digital Design

Tentamen i IE Digital Design Fredag 21/

Tenta i Digitalteknik

Laborationshandledning

Laborationshandledning

Dataöverföring på Parallell- och serieform MOP 11/12 1

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

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

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

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

Tentamen IE Digital Design Måndag 23/

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

Tentamen i Digitalteknik, EIT020

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

LABORATIONSINSTRUKTION

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

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

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

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

Tenta i Digitalteknik

Digital Design IE1204

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

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

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

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

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

Digital Design IE1204

Tenta i Digitalteknik

Digitalteknik TSIU05 Laborationer

Digital Design IE1204

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

MANUALBLAD MODULER TILL DIGITALMASKINEN

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Tentamen i Digitalteknik, TSEA22

Tentamen i Digital Design

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

Grundläggande digitalteknik

Läsminne Read Only Memory ROM

D0013E Introduktion till Digitalteknik

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

Adressrum, programmerarens bild

Digital- och datorteknik

Transkript:

igitalteknik F2 Några speciella automater: register räknare Synkronisering av insignaler igitalteknik F2 bild

Register Ett register är en degenererad automat som i allt väsentligt används för att lagra data. Register Nästa tillstånd för ett register bestäms av de data som skall lagras i registret. Analys med tillståndstabeller och -diagram är därför inte meningsfull. Styrsignaler kan användas för att initiera laddning av nya data, låsning av gammal data, clear (nollställning) etc. Skiftregister kan också användas för databearbetning (skifta ett lagrat ord ett eller flera steg vänster eller höger). igitalteknik F2 bild 2

Register Ett 4-bitars register uppbyggt med fyra -vippor med delade klock- och clearsignaler Vi får en grupp minneselement som kan läsas/ skrivas som en enhet. 2 3 5 4 4 CLK CLR 3 2 7 Q3 Q3 Q2 Q2 Q Q Q Q 9 7 6 2 3 5 TTL 747 Quad -type FF with Clear igitalteknik F2 bild 3

Varianter av register Selektiv datalagring 8 7 4 3 8 7 4 3 CLK EN 7 6 5 4 3 2 377 Q7 Q6 Q5 Q4 Q3 Q2 Q Q 9 6 5 2 9 6 5 2 8 7 4 3 8 7 4 3 H G F E C B A 374 CLK Three-stateutgångar QH QG QF QE Q QC QB QA OE 9 6 5 2 9 6 5 2 74377 Octal -type FFs with input enable EN = "" och clk = "uppflank" för att skriva nya data i registret 74374 Octal -type FFs with output enable OE = "" placerar vippornas innehåll på utgångarna OE = "" --> hög impedans igitalteknik F2 bild 4

Registerfil: 4 5 2 3 4 3 2 5 RE RB RA WE WB WA 4 3 2 67 Q4 Q3 Q2 Q 6 7 9 Tvådimensionell array av vippor Adress används för att indeera ett visst ord Ordinnehållet kan läsas eller skrivas 7467: Kretsen innehåller 6 -vippor organiserade som fyra st fyrabitars ord. Separata enablesignaler för att styra läsning och skrivning Separata adresser för läsning och skrivning Gemensam in- respektive utgång för data 7467 44 Register File with Tri-state Outputs igitalteknik F2 bild 5

Skiftregister Minne och förmåga att skifta data mellan minneselementen \Reset Skiftriktning Q Q 2 Q 3 Q 4 Klock CLK CLK CLK CLK \Reset Shift Shift Shift Skifta från vänster minneselement till den högra grannen på varje uppflank i klocksignalen Koppla tillbaka utsignalen från minneselementet längst till höger till elementet längst till vänster igitalteknik F2 bild 6

Skiftregister En riktig komponent: Seriella och Parallella insignaler Seriella och Parallella utsignaler Valbar skiftriktning Seriell Indata: LSI, RSI Parallell Indata:, C, B, A Parallell Utdata: Q, QC, QB, QA Clearsignal Positivt flanktriggad komponent S,S väljer skiftfunktion: SS = : Parallell laddning synkront på uppflank SS = : Vänsterskift på uppflank. LSI ersätter element SS = : Högerskift på uppflank. RSI ersätter element A SS = : Låst tillstånd 7494 4-bit Universal Shift Register Implementeras med en multipleer på varje minneselement. igitalteknik F2 bild 7

Parallell --> seriell --> parallell Eempel: Synkron seriedatalänk - ett sätt att överföra information: 7 6 5 4 Clock Sändare S S LSI C B A RSI CLK CLR Q QC QB QA Mottagare S S 94 94 LSI C B A RSI CLK CLR Q QC QB QA 7 6 5 4 Parallell Indata 3 2 S S LSI C B A RSI CLK CLR 94 Q QC QB QA S S LSI C B A RSI CLK CLR 94 Q QC QB QA 3 2 Parallell Utdata Gemensam synkronisering Seriell överföring igitalteknik F2 bild 8

Räknare En räknare är en "degenererad" automat där tillståndet är den enda utsignalen Räknare: Genomlöper en förutbestämd sekvens av tillstånd där välingarna initieras av klocksignalen. Eempel: 3 bitars uppräknare:,,,,,,,,,... 3 bitars nedräknare:,,,,,,,,,... Alternativa sekvenser förekommer liksom möjlighet att väla mellan upp- och nedräkning, olika sekvenser etc. igitalteknik F2 bild 9

esign av räknare Vi använder samma procedur som kan användas för att konstruera godtyckliga automater. Räknare är enkla - vi har inget problem att bestämma vilket tillstånd som är nästa tillstånd. Eempel: 3-bitars binär uppräknare Q2 Q Q + + + Q2 Q Q igitalteknik F2 bild

esign av räknare Vi använder samma procedur som kan användas för att konstruera godtyckliga automater. Räknare är enkla - vi har inget problem att bestämma vilket tillstånd som är nästa tillstånd. Eempel: 3-bitars binär uppräknare Vi väljer T-vippor: Q2 Q Q + + + Q2 Q Q T2 T T igitalteknik F2 bild

esign av räknare K-diagram för T-funktionerna CB A T = Klockning på fallande flank! \Reset + T S Q CLK Q R QA T S Q CLK Q R QB T S Q CLK Q R QC CB A Count T = A Timingdiagram: CB A T2= AB \Reset Q C Q B Q A Count igitalteknik F2 bild 2

En mer komple räknarsekvens:,,,,,... Steg : Tag fram tillståndsdiagram och -tabell: esign av räknare Q2 Q Q Q2 + Q + Q + Observera don't caretillstånden! igitalteknik F2 bild 3

igitalteknik F2 bild 4 K Q2 Q Q Q2 Q Q + + + J2 K2 J J K esign av räknare En mer komple räknarsekvens:,,,,,... Steg : Tag fram tillståndsdiagram Steg 2: Vi väljer JK-vippor och -tabell:

Minimera nästa tillståndsfunktionerna: esign av räknare Q2Q Q Q2Q Q Q2Q Q J2= Q J= J=Q2'Q Q2Q Q Q2Q Q Q2Q Q K2= Q' K= Q + Q2 K= Q2 igitalteknik F2 bild 5

esign av räknare Logikschema: Count S J2 Q2 J S Q S J Q CLK Q2 CLK Q CLK Q K2R K R K R Timingdiagram: Count Q2 Q Q igitalteknik F2 bild 6

esign av räknare Problem: Vid start kan räknaren börja i vilket tillstånd som helst, även don't caretillstånden. Vad händer då?? Vi måste analysera implementationen...... dvs ta reda på vad som händer i don't caretillstånden. igitalteknik F2 bild 7

esign av räknare Problem: Vid start kan räknaren börja i vilket tillstånd som helst, även don't caretillstånden. Vad händer då? Analys av implementationen ger: Q2 Q Q + + + Q2 Q Q Slutsats: Räknaren genomlöper eventuellt något/några don't caretillstånd innan den följer avsedd sekvens. Allvarligt? et beror på... igitalteknik F2 bild 8

esign av räknare Några tips:. För att säkert få räknaren att fungera måste don't caretillstånden förr eller senare leda in i räknarsekvensen. 2. Preset och clear kan användas för att ställa en räknare i önskat tillstånd 3. Om räknaren inte får visa fel utsignaler om den startar i ett don't caretillstånd måste utsignalen kodas så att det ser ut som om räknaren räknar rätt. igitalteknik F2 bild 9

Asynkrona räknare...... ett till synes attraktivt alternativ till de synkrona räknarna Klock T Q T Q T Q A B C CLKQ CLKQ CLK Q Klocksignalen "ripplar" från vänster till höger En kombinatorisk krets som avkodar räknaren kan få glitchar på utsignalen Vipporna slår inte om samtidigt! igitalteknik F2 bild 2

Johnsonräknare S J Q CLK K Q R Q Q 2 Q 3 S S S J Q J Q J CLK CLK CLK K Q K Q K R R R Q Q Q 4 Shift 6 möjliga tillstånd, 8 av dem används. Shift en bit välar vid varje klockning. et ger glitchfri utsignal. Q Q 2 Q 3 Q 4 igitalteknik F2 bild 2

Räknare - 7463 7 9 2 6 5 4 3 P T C B A 63 CLK LOA CLR RCO Q QC QB QA 5 2 3 4 7463 Synkron 4-Bit Uppräknare Synkrona load- och clearingångar Positivt flanktriggade vippor Parallell laddning av data från, C, B, A P, T Enableingångar: båda måste vara aktiva (=) för att räknaren skall räkna. RCO: "Ripple Carry Output", aktiverad när räknaren nått "". Används för att kaskadkoppla flera räknare. 746: likartad funktion men asynkron load och clear igitalteknik F2 bild 22

Timing - 7463 CLR LOA A B C CLK P T Q A Q B Q C Q RCO 2 3 4 5 2 Clear Load Count Inhibit igitalteknik F2 bild 23

Kaskadkoppling av räknare Kaskadkoppling: RCO aktiveras när räknaren nått tillståndet Klock P RCO T 63 P 63 T Klock C B A H G FE P och T enable aktiveras av RCO och räknaren kan räkna upp ett steg. Nedströms räknare slår om från till Räknarens högsta klockfrekvens reduceras av detta (2) RCO = (3) Högra räknaren räknar upp () Vänstra räknaren = igitalteknik F2 bild 24

Att utnyttja synkron load Räknare med startoffset, räknarsekvens t e:,,,,,,,,,,... C B A Clock 6 3 P T R C O C L K Q Q Q Q C B A C B A L O A C L R Load C B A + + Load laddas när load = Använd RCO' för att initiera laddning av data å 7463 Load är synkron sker laddningen på klockans nästa uppflank. igitalteknik F2 bild 25

Att nyttja synkron clear Nollställning av räknaren: räknarsekvens t e:,,,...,,, CLR Avkoda ett tillstånd för att fastställa när räknaren skall nollställas C B A 6 3 P T R C C O L K Q Q Q Q C B A C B A L O A C L R Clearsignalen nollställer räknaren på klocksignalens uppflank igitalteknik F2 bild 26

Asynkron clear då? Byt ut räknaren mot en 746 med asynkron clear, i övrigt samma koppling: CLR Avkoda ett tillstånd för att fastställa när räknaren skall nollställas C B A 6 3 P T R C C O L K Q Q Q Q C B A C B A L O A C L R Clear nollställer räknaren omedelbart! igitalteknik F2 bild 27

Metastabilitet och asynkrona ingångar Termer och definitioner: Klockade synkrona kretsar: gemensam referenssignal, vanligen kallad klocka kretsen välar tillstånd på en bestämd klockflank Asynkrona kretsar: ingångar, tillstånd och utgångar välar oberoende av någon gemensam referenssignal RS-latchen är asynkron, - och J-vippor är synkrona Synkrona insignaler välar nivå endast på klockflanken Asynkrona insignaler påverkar kretsen omedelbart utan hänsyn till klockan igitalteknik F2 bild 28

Asynkrona insignaler......är farliga: å de påverkar kretsen omedelbart kan glitchar bli förödande, t e genom att vippornas setuptider inte kan hållas. Synkrona insignaler är därför att föredra! Ibland går det inte att undvika asynkrona insignaler, t e de som kommer från omgivande kretsar, clearsignaler etc. Vi måste kunna hantera dessa... igitalteknik F2 bild 29

Asynkrona insignaler Vad kan hända? In Q Q Clk Här håller vi inte setuptiden: In är en asynkron insignal kopplad till och (två -vippor). In välar nivå omedelbart före klockningen. En - vippa läser av In korrekt, den andra inte. etta kan leda till att en automat välar tillstånd längs pilar som inte finns i tillståndsdiagrammet! igitalteknik F2 bild 3

Metastabilitet När vippans insignal välar nivå omedelbart före klocksignalen kan vippan hamna i ett metastabilt tillstånd: varken eller Vippan kan i princip stanna i detta tillstånd hur länge som helst, även om detta är ytterst osannolikt i en verklig krets Logic et är sannolikt att vippan kommer att lämna det metastabila tillståndet och bli antingen eller Logic Time Ett minnesoscilloskop kan visa en bild av det metastabila tillståndets övergång till ett stabilt tillstånd igitalteknik F2 bild 3

Synkronisering av insignaler Sannolikheten för synkroniseringsfel kan aldrig minskas till men den kan reduceras: En krets med två -vippor är en standardlösning Minska klockfrekvensen detta ger synkroniseringskretsen mer tid att lämna ett metastabilt tillstånd använd snabbast möjliga kretsar till synkroniseringen detta minskar väntevärdet på tiden i metastabilt tillstånd (vipporna faller snabbare ned i ett stabilt tillstånd) Asynkron Insignal Q Q Clk Synkroniserad Insignal Synkront System igitalteknik F2 bild 32

Synkronisering av insignalen Hur fungerar kretsen? A B Q Q Clk Insignalen möter vippa A vid en godtycklig tidpunkt. Vi kan därför inte garantera något om setuptid för denna vippa. en kan komma i metastabilt tillstånd efter klockning. et metastabila tillståndet kan vara en klockperiod minus setuptiden för vippa B innan det blir problem med denna vippa: t r = t clk - t setup Sannolikheten för att vippa B skall komma i metastabilt tillstånd har därför reducerats. et var det som var meningen. igitalteknik F2 bild 33

Synkronisering av insignalen Varför räcker det inte med en vippa? (en andra sitter ju ändå i efterföljande automat). Vi kopplar samman synkroniseringskretsen med en automat: In Clk Q Q Net State ecoder State flip-flop t comb t setup en tid som atuomaten "tål" metastabilt tillstånd på ingången kan uttryckas som t = t - t - t, dvs nästa tillståndsavkodaren reducerar t r clk comb setup r I synkroniseringskretsen (mellan -vipporna) är t =! comb igitalteknik F2 bild 34

Synkronisering av insignalen Hur bra är kretsen? parametrar:. et beror på klockfrekvensen f [Hz], t r [ns] 2. et beror på hur snabbt insignalen välar a [cps] (changes per sec.) 3. et beror på vika vippor vi använder T [s], τ [ns] Vi kan beräkna ett värde på MTBF (Mean Time Between Failure): MTBF = (t r / τ) e T f a igitalteknik F2 bild 35

Synkronisering av insignalen Eempel: Vi har en automat som klockas med 2,5 MHz. En asynkron insignal välar nivå gånger per sekund. Signalen skall synkroniseras med standardkretsen uppbyggd med två -vippor (t comb = ). Beräkna MTBF. MTBF = A. Synkroniseringen sker med två 74LS74: t = 2 ns setup T =,4 s τ =,5 ns t r e = 8-2 = 6 ns (6 /,5) 6 6,4*2,5* ** (ca gång/2 tim) 3 = 47* s B. Synkroniseringen sker med två 74ALS74: t = 8 ns setup T = 6,5 µs τ =,34 ns t = 8-8 = 72 ns r (72 /,34) e MTBF = -6 6 6 6,5* *2,5* ** 76 (ca gång/ år) 83 = * s igitalteknik F2 bild 36

Synkronisering av insignalen Vad händer om frekvenserna ökar? Eempel: Vi har en automat som klockas med 5 MHz. En asynkron insignal välar nivå gånger per sekund. Signalen skall synkroniseras med standardkretsen uppbyggd med två -vippor (t = ). Beräkna MTBF. comb Synkroniseringen sker med två 74ALS74: t = ns setup T = 6,5 µs τ =,34 ns t = 2 - = ns r ( /,34) e MTBF = -6 6 6 6,5* *5* ** (ca var 5:e timme) 4 =,8* s igitalteknik F2 bild 37

Synkronisering av insignaler Förbättringar? Sänk klockfrekvensen i synkroniseringskretsen: Samma förutsättningar som föregående eempel men synkroniseringskretsen klockas nu med 25 MHz: Q Q t = ns setup T = 6,5 µs τ =,34 ns Q f/2 Hz t r = 4 - = 3 ns Clk f Hz (3 /,34) e MTBF = -6 6 6 6,5* *25* ** 3 =,3* s 2 (ca gång / år) igitalteknik F2 bild 38