IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4

Slides:



Advertisements
Liknande presentationer
Digitalteknik, fortsättningskurs 2012 Föreläsning 16 Inför tentan
Advertisements

William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
William Sandqvist Internet består till största delen av kabelanslutna datakommunikationsutrustningar Att bygga ett stabilt globalt täckande.
Institutionen för matematik, KTH Mats Boij 5B1118 Diskret matematik 19 novnember B1118 Diskret matematik Sjunde föreläsningen Grupper.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist
En dator av rep, block och taljor
EDA Digital och Datorteknik
Komplexa tal inför Laborationerna
Spolen och Kondensatorn motverkar förändringar
SR-vippa.
IE1204 Digital Design Aritmetik Låskretsar, vippor, FSM FSM, VHDL introduktion Asynkron FSM F1 F3 F5 Ö3 F8 F10 F12 Ö8 F2Ö1 Ö2 Ö6 F13 F9Ö5 tentamen William.
IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4
IS1500 Datorteknik och komponenter
IS1500 Datorteknik och komponenter
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist Metalldetektorn Alla ”förluster” (även virvel-strömsförluster i metaller) sammanfattas av symbolen r ! Järnföremål påverkar.
IE1206 Inbyggd Elektronik F1 F2
Språket för inbyggda system 3
IS1500 Datorteknik och komponenter
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
EDA Digital och Datorteknik
IE1206 Inbyggd Elektronik F1 F2
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 1 De bifogade OH-bilderna är bara utkast till vad som kan vara.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Multiplexern som kombinatorisk krets
IE1206 Inbyggd Elektronik F1 F2
Styrteknik: Grundläggande logiska funktioner D2:1
Programmering efter tillståndsdiagram
Styrteknik 7.5 hp distans: SFC Introduktion SFC_A:1
Styrteknik 7.5 hp distans: PLC-Program, kaffe-automat PLC7B:1
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
William Sandqvist Räknare En räknare är en speciell typ av sekvensnät som registrerar antalet inkommande klockpulser. Registreringen sker.
IS1200 Datorteknik Föreläsning CE F2 Vi bygger en processor Kursboken, delar av kapitel 7 31 March IS1200 Datorteknik föreläsning CE – F2.
Digitalteknik 7.5 hp distans: Realisering av logik med PLD och VHDL1.4.1 En kretsrealisering med VHDL består av fyra huvudmoment Specifikation Beskrivning.
Föreläsning 7 Fysikexperiment 5p Poissonfördelningen Poissonfördelningen är en sannolikhetsfördelning för diskreta variabler som är mycket.
Vad kännetecknar ett sekvensnät?
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
IE1206 Inbyggd Elektronik F1 F2
DIGITAL DESIGN INLEDNING Allmänt och kursens hemsidor Analogt och digitalt Booleska variabler Binära tal Positiv och negativ logik (Aktiv hög och låg logik)
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
William Sandqvist 11.1 ”Glitchar” Om signaler passerar olika många grindsteg på vägen mot utgången kan kortvariga oönskade avvikelser från.
William Sandqvist IS1500 Datorteknik William Sandqvist
William Sandqvist Lab 2 Några slides att repetera inför Lab 2 William Sandqvist
Föreläsning 13 Logik med tillämpningar Innehåll u Aritmetik i Prolog u Rekursiva och iterativa program u Typpredikat u Metalogiska predikat.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
William Sandqvist Tillståndsmaskiner  Moore-automat  Mealy-automat William Sandqvist
Kronljusströmställaren 0, 1, 2, 3
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
Shannon dekomposition
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F2 1 IS1500 Datorteknik och komponenter Föreläsning DC F2 Kretsar med återkoppling Minnen.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Man kan ha nytta av detta men det kräver viss förförståelse
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Sekvenskretsar
Digitalteknik 3p - Kombinatorisk logik
Kombinatoriska byggblock
Kombinatoriska byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatorisk logik
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

William Sandqvist william@kth.se IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4 MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar F7 Ö4 Multiplexor F8 F9 Ö5 Låskretsar, vippor, FSM KK2 LAB2 F10 F11 Ö6 KK3 LAB3 FSM, VHDL introduktion F12 Ö7 F13 Asynkron FSM Ö8 F14 tentamen Minnen Föreläsningar och övningar bygger på varandra! Ta alltid igen det Du missat! Läs på i förväg – delta i undervisningen – arbeta igenom materialet efteråt! William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 11.1 ”Glitchar” Om signaler passerar olika många grindsteg på vägen mot utgången kan kortvariga oönskade avvikelser från sanningstabellen uppkomma, så kallade ”glitchar”. Visa i Karnaughdiagrammet hur man undviker dessa. Signalen D är fördröjd i förhållande till A B C. ( i figuren visas bara fördröjningen i inverteraren – övriga grindfördröjningar som inte påverkar ”glitchen” har inte tagits med ) William Sandqvist william@kth.se

( med alla grindfördröjningar ) William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.1 Nätet i ett Karnaughdiagram: Se till att Karnaughdiagrammets hoptagningar bildar en sammanhängande ”kontinent” – inga öar! (Man tar med konsensus-termer så att man får funktionen på fullständig primimplikator form). William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.1 Vi ser att signalen X ”täcker upp” då det är risk för en ”glitch”, till priset av ett mer komplext nät! William Sandqvist william@kth.se

ÖH 11.2 SR Asynkront sekvensnät SR-låskretsen är ett asynkront sekvensnät. Alla grindfördröjningar som finns i nätet tänks placerade i symbolen  som får en liknande funktion som D-vippan i ett synkront sekvensnät. William Sandqvist william@kth.se

William Sandqvist william@kth.se SR Analys: William Sandqvist william@kth.se

SR Kodad tillståndstabell Den kodade tillståndstabellen brukar kallas för excitationstabell när man arbetar med asynkrona tillståndsmaskiner. Nuvarande tillstånd Q Nästa tillstånd Q+ Insignaler SR 00 01 11 10 1 För varje insignal (kolumn) måste det finnas åtminstone något tillstånd där Q = Q+. Sådana tillstånd är stabila och de brukar markeras genom att ringas in. William Sandqvist william@kth.se

William Sandqvist william@kth.se SR Tillståndsdiagram Nuvarande tillstånd Q Nästa tillstånd Q+ Insignaler SR 00 01 11 10 1 William Sandqvist william@kth.se

William Sandqvist william@kth.se SR Tillståndstabell Tillståndstabellen brukar kallas för flödestabell när man arbetar med asynkrona tillståndsmaskiner. Nuvarande tillstånd Q Nästa tillstånd Q+ Insignaler SR 00 01 11 10 A B William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 11.3 Oscillator? Inga stabila tillstånd! Sifferexempel: Kan användas för att indirekt mäta upp grindfördröjningen för logikkretsar. William Sandqvist william@kth.se

Speciellt för asynkrona nät  Tillstånden måste kodas Kapplöpningsfritt (tex. Graykod). SR-låskretsen är kapplöpningsfri eftersom det bara finns en tillståndssignal, som ju inte kan kapplöpa med sig själv. Nästa tillståndsavkodaren måste vara Glitchfri/Hazardfri (även konsensustermer tas med). SR-låskretsens nät är sammanhängande i Karnaugh-diagrammet, det finns inga fler konsensustermer som behöver tas med. SR-latchen är således en ”idiotsäker” konstruktion. Större asynkrona sekvensnät är betydligt mera komplicerade att konstruera! William Sandqvist william@kth.se

Tillståndsdiagram som hyperkuber Tillståndsdiagrammet placeras ut på en hyperkub med Graykodade hörn. För två tillståndsvariabler blir det en kvadrat. William Sandqvist william@kth.se

Tillståndsdiagram som hyperkuber Det blir tydligare om man ”plattar till” kuben. För tre tillståndsvariabler blir det en kub. För fler variabler är principen densamma, men tillstånden placeras i hörnen av hyperkuber och det blir svårare att rita. William Sandqvist william@kth.se

William Sandqvist william@kth.se (Fyra variabler) (Jfr. Karnaughdiagrammet.) William Sandqvist william@kth.se

William Sandqvist william@kth.se Analysera följande krets. Rita ett tillståndsdiagram. Betrakta kretsen som ett asynkront sekvensnät där klockpulsingången är en av de asynkrona ingångarna. Vad har kretsen för funktion? William Sandqvist william@kth.se

11.4 Positiv flank och negativ flank  Vid positiv flank  går C från 0 till 1 och C=1 kopplar den övre q0 vippan till utgången. Vid negativ flank  går C från 1 till 0 och C=0 kopplar den undre q1 vippan till utgången. Resultatet blir en D-vippa som som reagerar på klockans båda flanker. William Sandqvist william@kth.se

William Sandqvist william@kth.se DETFF-vippan Dubbelflankvippan (DETFF, Double Edge Trigered Flip Flop) har fördelar vad gäller hastighet och effektförbrukning. Den kan i princip ge ett dubbelt så snabbt sekvensnät! (Införande av DETFF-vippor skulle kräva nytänkande och omkonstruk-tion av den övriga logiken). För att kunna dra nytta av fördelarna med DETFF-vippan måste den konstrueras som en egen komponent – dvs. som ett asynkront sekvensnät. William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 11.5 DETFF Konstruera en asynkron statemaskin som fungerar som en dubbelflankad D vippa (DETFF), dvs vippan skall ändra värde både på den positiva och den negativa flanken av klockan. a) Härled FSMen. b) Ta fram flödestabellen och minimera den. c) Tilldela tillstånd (states), överför till Karnaughdiagram och härled de boolska uttrycken. d) Rita kretsen. William Sandqvist william@kth.se

11.5 Möjliga in/ut kombinationer Det finns 4 ingångskombinationer (CD) och två utgångskombinationer (Q). Totalt 8 möjliga tillstånd (CDQ). DETFF Sanningstabell Ett nytt nästa tillstånd får vi genom att ändra antingen C eller D. När C ändras får vi en positiv flank () eller negativ flank (). För båda flankerna gäller att D kopieras till Q+. (Enligt sanningstabellen) William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.5 Flödestabell Stabila tillstånd markeras med ring. Kontrollera att varje kolumn ”CD” innehåller minst ett stabilt tillstånd, annars får man ju ett ”oscillerande” nät för den insignalen. Don’t-care ”-” införs där insignalen ”CD” innehåller mer än en ändring från det stabila tillståndet på raden. William Sandqvist william@kth.se

11.5 Tillståndsminimering A och B är inte ekvivalenta om … Ekvivalens innebär att tillstånden ska vara stabila för samma insignaler, och ha sina don’t care för samma insignaler – så att man inte förlorar flexibiliteten inför den fortsatta minimeringen. Kompatibilitet blir olika för Moore eller Mealy. För Moore-kompatibla automater gäller att utsignalerna måste vara lika, och utsignalerna i efterföljar-tillstånden (alla, om flera) måste också vara lika. Annars är de två tillstånden inte kompatibla! William Sandqvist william@kth.se

Tillståndsminimering Vi startar med ett block med alla tillstånd P1 = (ABCDEFGH) Inga Ekvivalenta tillstånd, vi undersöker Kompatibilitet Tillstånden delas först i två block efter utsignal. ACEG har utsignal 0, BDFH har utsignal 1. P2 = [ACEG][BDFH] A och C har samma efterföljar-tillstånd (eftersom don’t-care kan utnyttjas som H eller E) AC-E ACH- P3 = [(AC)…][BDFH] För kompatibilitet räcker det här med att utsignalen från efterföljar-tillstånden är samma, det behöver inte vara exakt samma tillstånd som det råkar vara i detta exempel. William Sandqvist william@kth.se

Tillståndsminimering E och G har samma efterföljar-tillstånd (eftersom don’t-care kan utnyttjas som A eller D) A-GE -DGE P3 = [(AC)(EG)][BDFH] B och D har samma efterföljar-tillstånd (eftersom don’t-care kan utnyttjas som H eller E) BD-E BDH- P3 = [(AC)(EG)][(BD)…] F och H har samma efterföljar-tillstånd (eftersom don’t-care kan utnyttjas som A eller D) A-HF -DHF P3 = (AC)(EG)(BD)(FH) Vi klarar oss med fyra tillstånd! William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.5 Ny Flödestabell De nya tillstånden betecknas: ACA, EGE, BDB, FHF. Tillståndsdiagram William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.5 Tillståndskodning Tillstånden (q1q0), placeras i hörnen på en Gray-kodad kvadrat. Tex. A=00, F=01, B=11, E=10. Även alla ”rotationer” och ”speglingar” av koden är giltiga tillståndskodningar. A F B E A F B E 00 01 11 10 10 11 01 00 01 11 10 00 00 10 11 01 11 10 00 01 01 00 10 11 10 00 01 11 11 01 00 10 Detta blir vår godtyckligt valda tillståndskod. Är detta bästa tillståndskodningen? Uttömmande sökning (=prova alla) är oftast enda lösningen för den som vill veta! William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.5 Exitationstabell q1q0 q1q0 William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.5 Karnaughdiagram På K-map-form: q1q0 q1q0 William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 11.6 Analysera Analysera ovanstående krets. a) Härled de Boolska uttrycken för tillståndsvariablerna Y1 och Y0. b) Härled exitationstabell. Ledning: Vilken funktion (inom streckat) finns i de inre looparna. c) Härled flödestabell, tilldela symboliska states och rita FSM. d) Vilken vippa motsvarar detta? William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Boolska funktioner William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Glitch-fri MUX? Vanlig MUX: Glitch-fri MUX: William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Två Glitch-fria MUXar Nätet kan ses som sammansatt av två Glitch-fria MUXar. Detta faktum kan utnyttjas om man vill resonera sig fram till nätets funktion. William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Boolska ekvationer Vi använder de boolska funktionerna för att härleda funktionen. William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Excitationstabell William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Exitationstabell Omöjliga tillstånd betecknas som genomstrukna. Det gäller tillstånd, som för att nås, skulle kräva två ändringar av insignalen från det stabila tillståndet på den aktuella raden. IC 1001 omöjlig samtidig ändring av ingångssignalerna. William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Flödestabell De omöjliga tillstånden (genomstrukna) skulle kunna utnyttjas som Don’t-care om man vid ett annat tillfälle omkodar nätet. Tillståndsdiagram: William Sandqvist william@kth.se

William Sandqvist william@kth.se 11.6 Vilken vippa? Om I = 1 och C är klockpulser 1,0,1,0… blir sekvensen: IC: 10 11 10 11, D-C-B-A-D-C-B-A Q: 0-1-1-0-0-1-1-0 Dvs. vippan togglar på positiv flank () hos C. Om I = 0 blir det i stället ”på stället marsch” AA och DA Q = 0 C C och BC Q = 1 Vippan byter tillstånd vid övergångarna från C = 0 till C = 1, således en positivt flanktriggad () T-vippa ( I = T ). William Sandqvist william@kth.se