2.1 Disjunktiv och konjunktiv normalform
|
|
- Karl-Erik Hermansson
- för 8 år sedan
- Visningar:
Transkript
1 Kapitel 2 Booleska funktioner 2. Disjunktiv och konjunktiv normalform Låt x,..., x n vara booleska variabler. En boolesk funktion f(x,..., x n ) är då en funktion av variablerna x,..., x n som antar något av värdena 0 eller. Funktionen kan beskrivas fullständigt med en funktionstabell, i vilken funktionens värde anges för alla de olika kombinationer av variabelvärden. Följande exempel illustrerar hur funktionstabellen på ett helt naturligt sätt kan konstrueras på basen av specifikationerna för ett logikstyrningsproblem. Exempel 2. Funktionstabell Betrakta en konsol som styr en maskin. Maskinen kan startas och stoppas med en ON/OFF switch. Dessutom finns en nyckel utan vilken konsolen ej kan opereras. Styrsystemet har följande insignaler: A representerar ON/OFF switchen: A =, om switchen befinner sig i ON läget A = 0, om switchen befinner sig i OFF läget B representerar låset: B =, om nyckeln är i B = 0, om nyckeln inte är i C representerar maskinen: C =, om maskinen går C = 0, om maskinen står Utsignalen X från styrsystemet skall styra maskinen: X = anger att maskinen skall gå, X = 0 anger att maskinen skall stanna eller stå. Utsignalen X skall vara definierad för varje tänkbar kombination av insignalerna A,B och C. Detta kan sammanfattas i nedanstående funktionstabell. Observera att man kan ta bort nyckeln utan att motorn stängs av, men att ON/OFF switchen då slutar fungera. 9
2 20 KAPITEL 2. BOOLESKA FUNKTIONER Funktionstabell Minterm Maxterm A B C X p i p i A B C A + B + C 0 0 A BC A + B + C C A + B + C 0 0 C A + B + C C A + B + C 0 C A + B + C 0 C A + B + C C A + B + C Funktionstabellen definierar X som en boolesk funktion X(A, B, C). Oberoende av sättet på vilket logikstyrningsproblemet realiseras bör den booleska funktionen X = X(A, B, C) uttryckas i form av ett explicit booleskt uttryck i variablerna A, B och C. Vi söker alltså ett funktionsuttryck som antar de värden som kolumnen för X anger för de olika variabelkombinationerna. Ett sådant kan enkelt konstrueras på följande sätt. För givna värden på variablerna A, B och C så finns enbart en term p i bestående av produkten av alla variabler (med eller utan icke) som tar värdet (nämligen det som finns angivet i motsvarande rad i tabellen), medan de övriga är 0. Vi kan ta en p i för varje situation vid vilken X skall bli, och uttrycka X som summan dessa termer (jmf. tabellen) X = A BC + C + C + C I uttrycket ovan kallas A BC, osv., termer, och uttrycket för X är ett exempel på disjunktiv form (summa av produkter). En disjunktiv form där varje variabel förekommer i varje term kallas disjunktiv normalform. En term där varje variabel förekommer kallas minterm (minimalpolynom, elementarprodukt). Termerna p i i tabellen är mintermer. Vi kan även konstruera termer p i som för givna värden på variablerna A, B och C är den enda summan av alla variabler (med eller utan icke) som är 0. Man kan på motsvarande sätt välja alla termer p i som motsvaras av variabelvärden för vilka X skall vara noll, och uttrycka X som produkten av dessa. I det här fallet fås X = (A + B + C) (A + B + C) (A + B + C) (A + B + C) Detta uttryck är ett exempel på konjunktiv form (produkt av summor). Faktorerna i en konjunktiv form kallas altermer. En konjunktiv form i vilken varje variabel förekommer i varje alterm kallas konjunktiv normalform. Altermerna i en konjunktiv normalform kallas maxtermer (maximalpolynom, elementarsummor). Termerna p i i tabellen är maxtermer. Ur konstruktionerna ovan är det uppenbart att vilken som helst boolesk funktion kan beskrivas med ett uttryck i disjunktiv form, eller alternativt ett uttryck i konjunktiv form (Shannons expansionsteorem). Dessa uttryck kan konstrueras direkt på basen av funktionstabellen. Detta resultat visar också att en godtycklig boolesk funktion alltid kan uttryckas med hjälp av ett algebraiskt uttryck i den booleska algebran, vilket inte är helt självklart på förhand. 2.2 Förenkling av booleska uttryck Då ett logikstyrningsproblem karakteriseras med hjälp av en eller flera booleska funktioner blir de erhållna booleska funktionsuttrycken ofta onödigt komplicerade. För att kunna realisera en funktion möjligast enkelt (minsta antalet logiska grindar, eller minsta antalet programsteg) är det av vikt att kunna förenkla booleska uttryck. Förenklingen kan alltid göras algebraiskt, genom att använda den booleska algebrans räknelagar.
3 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 2 Uppgift 2. Hur många logiska grindar behövs att realisera den booleska funktionen i exempel 2.? Uppgift 2.2 Förenkla uttrycket x = (A + B)(B + C)(C + A)(C + A B C) Den algebraiska metoden har åtminstone följande nackdelar:. Klar systematik saknas 2. Metoden besvärlig i synnerhet då variablernas antal ökar 3. Metoden ger ingen garanti för att det uttryck som erhålls faktiskt är det enklaste, och ej kan förenklas vidare. Det har utvecklats systematiska metoder för förenkling av booleska funktionsuttryck, med vilka förenklingen kan göras effektivare, och vilka producerar det enklast möjliga uttrycken.
4 22 KAPITEL 2. BOOLESKA FUNKTIONER 2.2. Karnaugh-diagram En standard procedur för förenkling av booleska funktioner baserar sig egenskaperna hos s.k. Karnaughdiagram. I dessa anges funktionsvärdena i rutor i ett diagram. Varje ruta motsvarar en kombination av variabelvärden. Nedan ges exempel på Karnaugh-diagram (utan insatta funktionsvärden) för två, tre, fyra och fem variabler. Två variabler: Tre variabler: A B 0 C 0 Fyra variabler: Fem variabler: C DE Karnaugh-diagrammen är så konstruerade, att variabelvärdena för två avgränsande (närbelägna, adjacenta) rutor skiljer sig i en och endast en variabel. Omvänt skall två variabelkombinationer som skiljer sig i exakt en variabel finnas i närbelägna rutor. Härvid uppfattas radernas och kolumnernas ändrutor som angränsande. Diagrammet för fem variabler kan uppfattas som tredimensionell, så att den högra delen av diagrammet ligger bakom den vänstra. Förenklingen av booleska funktioner med hjälp av Karnaugh-diagram baserar sig på ovannämnda egenskaper hos närbelägna rutor, vilket illustreras av följande exempel. Exempel 2.2 Karnaugh-diagram Betrakta den booleska funktionen X = A BC + C + C + C från exempel 2.. Karnaugh-diagrammet får följande utseende (med endast ettorna insatta): 0 0 C 0 X = + BC Tack vare diagrammets konstruktion kan förenklingarna C + C =
5 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 23 A BC + C = BC upptäckas direkt från diagrammet. Man ser ytterligare att förenklingen C + C = AC kan göras men detta leder ej till ett lika enkelt uttryck för X. 0 0 C 0 X = A BC + C + AC Man kan formulera fem regler för förenklingsproceduren:. Varje ruta som inehåller en etta måste täckas av minst en cell (en ruta får täckas av flera celler). 2. Endast rutor med ettor får täckas av celler. 3. Varje cell måste täcka en potens av 2 (, 2, 4, 8,...) antal rutor. 4. Antalet celler bör vara så litet som möjligt 5. Varje cell bör vara så stor som möjligt Av dessa är reglerna -3 ovillkorliga medan 4-5 strävar till att hitta den enklaste realisationen. Det faktum att man får täcka ettor med flera olika celler innebär i ovanstående exempel att användande av alla tre möjliga celler som täcker två rutor ger X = + BC + AC. Detta kan i sin tur förenklas till + BC, m.h.a. transivitetslagen (R8). Om vi följer regel 4 så kommer man direkt till detta uttryck Förenkling av booleska uttryck med hjälp av Karnaugh-diagram grundar sig således på att mintermer som kan kombineras till enklare termer upptar närbelägna rutor i diagrammet. Förenklingarna kan därmed ses direkt från diagrammet. För fyra variabler har vi fyra typer av termer:. Mintermer med alla fyra variabler, som täcker en ruta, och som ej kan kombineras med andra termer:
6 24 KAPITEL 2. BOOLESKA FUNKTIONER 2. Termer med tre variabler, som täcker två rutor (två skilda exempel): B B 3. Termer med två variabler, som täcker fyra rutor (tre skilda exempel): AD B D 4. Termer med en variabel, som täcker åtta rutor (två skilda exempel): D D Karnaugh-diagrammen lämpar sig bäst för funktioner med högst fyra variabler. Det går emellertid att använda metoden även för funktioner med upp till åtta variabler.
7 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 25 Exempel 2.3 Fem variabler C DE 0 C + D 0 Exempel 2.4 Sex variabler EF + BE F + A BE F + AC D EF + AC DEF + AE Primimplikatorer En funktion f(x, x 2,..., x n ) säges inkludera en annan funktion g(x, x 2,..., x n ) om de värden för variablerna x, x 2,..., x n för vilka g =, också ger f =. Således inkluderar f t.ex. termerna i ett disjunktivt uttryck för f. En primimplikator π för en funktion f(x, x 2,..., x n ) definieras som en term i ett disjunktivt uttryck för f som har den egenskapen, att om någon av de i termen ingående variablerna avlägsnas, så inkluderar f inte den återstående produkten. Exempel 2.5 har primimplikatorerna f(x, x 2, x 3, x 4 ) = x x 2 x 4 + x 2 x 3 x 4 + x x 3 x 4 π = x x 2 x 4, π 2 = x 2 x 3 x 4, π 3 = x x 3 Obs. att x x 3 x 4 är inte en primimplikator.
8 26 KAPITEL 2. BOOLESKA FUNKTIONER 0 x 3 x 4 0 x x Vid förenkling av en boolesk funktion är man i första hand intresserad av att uttrycka funktionen som en summa av primimplikatorer, ty man kan visa att detta resulterar i det i en viss mening enklaste uttrycket. I praktiken så skall man just följa reglerna 4 och 5 givna ovan, d.v.s. vi bör försöka täcka ettorna med möjligast få och möjligast stora celler. Och man bör komma ihåg att antalet är viktigare än storleken. Utvecklingen av en funktion i primimplikatorer behöver inte vara entydig. En väsentlig (essential) primimplikator är en primimplikator som alltid bör ingå i varje minimalform. En väsentlig primimplikator kännetecknas i ett Karnaugh-diagram av att den inkluderar åtminstone en ruta som ej kan ingå i någon annan primimplikator. Det är viktigt att man börjar med att ringa alla väsentliga primimplikatorer för att det minimala uttrycket skall erhållas. Exempel 2.6 anger rutor som definierar en väsentlig primimplikator. C + A + C + A Notera att vi enbart introducerar en term till (BD) om vi introducerar den största möjliga cellen i det här fallet. Uppgift 2.3 Bestäm de väsentliga primimplikatorerna och den minimala formen för funktionen i diagrammet nedan Sedan de väsentliga primimplikatorerna uttagits, kan de återstående oinringade rutorna med ettor inkluderas av primimplikatorer på ett antal alternativa sätt. Dessa skall väljas så att möjligast enkla termer fås.
9 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 27 Exempel 2.7 Flera minimala uttryck Väsentliga primimplikatorer: BD, A B D Termen C D kan inkluderas antingen i A C D eller i C (icke-väsentliga primimplikatorer). Detta ger två alternativa minimala uttryck: eller BD + A B D + A C D BD + A B D + C Ofullständigt specificerade funktioner De booleska funktioner som uppträder i praktiska logikstyrningsproblem är ofta ofullständigt specificerade, dvs. funktionens värde för vissa kombinationer av variabelvärden är likgiltig. Vissa kombinationer av variabelvärden kan t.ex. vara fysikaliskt omöjliga (jmf. Ex..), så att de aldrig förekommer. Funktionsvärdet för dessa omöjliga variabelkombinationer är då likgiltigt. Sådana likgiltiga funktionsvärden kallas don t care tillstånd. I ett Karnaugh-diagram anges de med ett streck,, och anger således att funktionsvärdet kan vara 0 eller. Detta kan utnyttjas för att konstruera ett möjligast enkelt funktionsuttryck. Exempel 2.8 Don t care tillstånden kan utnyttjas så att funktionen kan uttryckas i den minimala formen BD + AD + D QMC-metoden Den grafiska metoden med Karnaugh-diagram blir givetvis oanvändbar då antalet variabler ökar. För större problem fordras algoritmer som kan programmeras. Den vanligaste algoritmen för förenkling av booleska funktioner är en metod enligt Quine och McClusky (QMC-metoden), som skall beskrivas nedan.
10 28 KAPITEL 2. BOOLESKA FUNKTIONER Vi börjar med att numrera funktionstabellens rader i enlighet med det binära talsystemet. För tre variabler identifierar vi således de olika variabelkombinationerna enligt följande tabell. j A B C ( ) Proceduren är sedan följande. Först uppställs en funktionstabell med endast de rader för vilka funktionen antar värdet insatta. En funktion med Karnaugh-diagrammet nedan får således funktionstabellen i Tab Nästa steg är att undersöka vilka rader i tabellen som kan kombineras till en enklare term. Detta är möjligt då två rader överensstämmer så när som i en variabel. Raderna 0 och 2 i Tab. 2.(a) kombineras t.ex. till den nya raden (Detta motsvarar kombination av termer enligt A B C D + A B = A B D) De på detta sätt konstruerade nya raderna samlas till en ny tabell, Tab. 2.(b). Proceduren upprepas tills ytterligare kombinationer inte mera kan göras i Tab. 2.(c). De termer som i denna procedur inte mera kan förenklas är primimplikatorer. Dessa har i Tabell 2. betecknats p, p 2,..., p 7. Såsom vi tidigare sett, ger en disjunktion av primimplikatorerna i allmänhet ej ett minimalt funktionsuttryck, eftersom alla primimplikatorer inte behöver medtas. För att finna vilka primimplikatorer som bör medtas uppgörs en primimplikatortabell, Tabell 2.2. I denna anger kolumnerna den ursprungliga funktionstabellens termer (Tab. 2. (a)), och raderna anger primimplikatorer. De termer som inkluderas av en primimplikator anges med x. Proceduren är sedan följande.. De kryss som förekommer ensamma i en kolumn omringas ( x ). Motsvarande primimplikator är en väsentlig primimplikator och bör medtas i funktionsuttrycket. De väsentliga primimplikatorerna anges med asterisk. 2. Alla kryss som förekommer i en rad med omringat x anges med klammer, [x]. 3. Ange alla de kryss som förekommer i en kolumn med [x] med parentes, (x). Detta anger att motsvarande term redan ingår i de primimplikatorer som medtagits och inte behöver beaktas i fortsättningen.
11 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 29 Tabell 2.: Stegvis förenkling (a) (b) (c) {j} A B C D 0, , , p 2, , p 2 5, p 3 5, 3-0 p 4 8, , , 4-0 2, p 5 2, 4-0 j A B C D {j} A B C D 0, 2, 8, p 6 8, 0, 2, p 7 4. Välj från de återstående valbara primimplikatorerna (p p 5 ) ett antal så att de återstående kryssen medtas. Ange raderna med dubbel asterisk. Valet skall göras så att funktionsuttrycket blir minimalt, dvs. Antalet termer (primimplikatorer) är minimalt, Termerna (primimplikatorerna) är korta (av två primimplikatorer i tabellen är den vars rad innehåller de flesta kryssen den kortare). Tabell 2.2: Primimplikatortabell j p (x) x p 2 x x p 3 x x p 4 x x p 5 (x) x p 6 x [x] [x] [x] p 7 [x] [x] [x] x I Tabell 2.2 är de valbara primimplikatorerna p p 5 alla lika långa. Det optimala valet är p 2 och p 4, ty alla andra val skulle kräva minst tre primimplikatorer. Enligt Tabell 2.2 ges det minimala funktionsuttrycket som en disjunktion av primimplikatorerna p 2, p 4, p 6 och p 7, av vilka p 6 och p 7 är väsentliga primimplikatorer. Uttrycket blir (jmf. Tab. 2.) B D + AD + A + B I exemplet i Tabell 2. var funktionen fullständigt specificerad. Proceduren kan emellertid enkelt anpassas för ofullständigt specificerade funktioner, med don t care funktionsvärden för vissa variabelkombinationer. Härvid inkluderar man de rader för vilka funktionsvärdet är ospecificerat ( don t care ) i funktionstabellen (Tab. 2.), och bildar primimplikatorerna såsom ovan. Vid uppställningen av primimplikatortabellen (Tab. 2.), lämnas emellertid motsvarande kolumner bort. (Då funktionens värde för dessa tillstånd inte spelar någon roll, behöver de ju ej beaktas då primimplikatorerna väljs ut. Däremot bör de
12 30 KAPITEL 2. BOOLESKA FUNKTIONER beaktas i det första skedet då primimplikatorerna bildas, ty de kan endast leda till kortare primimplikatorer, ej längre.) Denna procedur leder till ett minimalt funktionsuttryck för ofullständigt specificerade funktioner. Uppgift 2.4 Förenkla den logiska funktionen X med följande Karnoughdiagram (- motsvar don t care tillstånd): C Vi ställer upp en funktionstabell, där vi förutom ettorna tar med don t care tillstånd: j A B C j A B C j A B C Efter att ha bestämt alla primimplikatorer, sätter vi dem i en Primimplikatortabell. Nu skall vi inte ta med don t care mintermer, bara de som måste bli för given insignalkombination: Vi får denna gång X genom att ta summan av väsentliga mintermer, dvs X = A + BC. QMC-metoden kan enkelt programmeras. I Friedman Logical Design of Automation Systems (Prentice Hall, 990), ges ett Fortran-program primp, som förenklar booleska uttryck. På denna kurs hemsida så finns även en Matlab-implementering av QMC-metoden tillgänglig. Nedan visas en exempelkörning där programmet tillämpats för funktionen i Tabell 2. (a). Funktionsvärdena läses in i ordningsföljd, och programmet ger en förteckning över primimplikatorerna (observera att numreringen ej överensstämmer med den i Tabellerna 2. och 2.2, primp sorterar primimplikatorerna, så de kommer i ordningen p 6, p, p 2, p 4, p 3, p 7, p 5 ), samt anger vilka som är väsentliga och vilka som väljs bland de valbara. I constraint table anges slutligen vilka mintermer de olika icke-väsentliga primimplikatorerna inkluderar (täcker).
13 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 3 % ~jboling/sst/primp SIMPLIFICATION OF BOOLEN FUNCTIONS BY PRIME IMPLICANT ANALYSIS ************************************************************** NUMBER OF VARILES : 4 INPUT FUNCTION VALUES IN TRUTH TLE ( 6 VALUES: = TRUE / 0 = FALSE / - = DON T CARE ) : *** BOOLEAN MINIMIZATION PROGRAM *** THIS FUNCTION CONTAINS 4 VARILES A LISTING OF THE INPUT DATA FOLLOWS TRUE MINTERMS = FALSE MINTERMS = 0 REDUNDANT MINTERMS (DON T CARES) = =, = 0, 2 =, 3 =, 4 = 0, 5 =, 6 = 0, 7 =, 8 =, 9 = 0, 0 =, = 0, 2 =, 3 =, 4 =, 5 = 0, 0 THE FOLLOWING IS A LIST OF THE PRIME IMPLICANTS OF THE MINIMIZED FUNCTION. ESSENTIAL PRIME IMPLICANTS ARE SO LELED, AND PRIME IMPLICANTS SELECTED FROM A CYCLIC CHART ARE LELED AS CHOSEN. NO. COST PRIME IMPLICANTS A B C D ESSENTIAL CHOSEN CHOSEN ESSENTIAL INDICATES A MISSING VARILE, 0 INDICATES A COMPLEMENTED VARILE AND INDICATES A TRUE VARILE. THE FUNCTION IS REPRESENTED BY THE SUM OF BOTH THE ESSENTIAL AND THE CHOSEN PRIME IMPLICANTS. CONSTRAINT TLE
14 32 KAPITEL 2. BOOLESKA FUNKTIONER COVERED MINTERM COVERING PRIME IMPLICANTS Samma problem kan också lösas med matlab-rutinen qmc, hittas alltså på kursens hemsida: >> qmc Program for minimizing Boolean expressions with the QMC-method Either a truth table or a boolean expression should be given. Use standard MATL logical operators: AND = & OR = NOT = ~ Logical terms should be separated with parentesis: (A ~B) & (B ~C) & (C ~A) & ((A & B & C) (~A & ~B & ~C)) Logical expression (L) or truth table (T)): T Number of variables: 4 A B C D 0: : : : 0 0 4: : 0 0 6: : 0 8: : : 0 0 : 0 0 2: 0 0 3: 0 4: 0 5: 0 Processing... Truth table: i A B C D f
15 2.2. FÖRENKLING AV BOOLESKA UTTRYCK Prime implicants: : : : : : : : Essential prime implicants: 2 Chosen prime implicants: 4 6 Logical expression: (~B & ~D) (A & ~D) (~A & C & D) (B & ~C & D) Matlab-programmet klarar också av att förenkla logiska uttryck, det generar själv en sanningstabell och sedan beräknar minimalt uttryck. Nedan löses uppgift 2.2. >>qmc Program for minimizing Boolean expressions with the QMC-method Either a truth table or a boolean expression should be given. Use standard MATL logical operators: AND = & OR = NOT = ~ Logical terms should be separated with parentesis: (A ~B) & (B ~C) & (C ~A) & ((A & B & C) (~A & ~B & ~C)) Logical expression (L) or truth table (T)): L Give logical function: (A ~B)&(B ~C)&(C ~A)&((A&B&C) (~A&~B&~C)) Processing... Truth table: i A B C f
16 34 KAPITEL 2. BOOLESKA FUNKTIONER Prime implicants: : 0 2: 7 Essential prime implicants: 2 Logical expression: (~A & ~B & ~C) (A & B & C) System med flera utsignaler I praktiken har man ofta inte en, utan flera funktioner x, x 2,..., x n, som är funktioner av variablerna A, B,.... I sådana fall kan man givetvis konstruera ett minimalt uttryck för varje funktion separat enligt metoderna som behandlats ovan. En förenkling kan emellertid fås om man beaktar att vissa termer kan vara gemensamma för de olika funktionerna. Sådana termer som delas av flera funktioner fås fram genom att betrakta produkter av formen x x 2, x x 3, x x 2 x 3,.... Vi skall illustrera proceduren med ett exempel. Exempel 2.9 Flera utsignaler Betrakta funktionerna x, x 2 och x 3 med Karnaugh-diagrammen i Fig 2.. I Fig 2.2 ges Karnaughdiagrammen för x, x 2 och x 3 samt produktfunktionerna x x 2, x x 3, x 2 x 3 och x x 2 x 3. Primimplikatorerna införs nu som normalt men så att man startar med produkten av högsta grad, x x 2 x 3, fortsätter med x x 2, x x 3 och x 2 x 3, och därefter betraktar x, x 2 och x 3. Härvid markeras en primimplikator inte om den redan förekommer i en produktfunktion av högre grad Proceduren ger primimplikatorer i Tab x x 2 x 3 Figur 2.: Utsignalerna x, x 2 och x 3
17 2.2. FÖRENKLING AV BOOLESKA UTTRYCK x x 2 x x x 2 x x 3 x 2 x 3 x x 2 x 3 Figur 2.2: Förenkling av x, x 2 och x 3 Tabell 2.3: Primimplikatorer x x 2 x 3 : p = C x x 3 : p 2 = C D p 3 = B x x 2 : p 4 = C D p 5 = x 3 : p 6 = A BD p 7 = BC x 2 : p 8 = C p 9 = B x p 0 = BC D p = C Eftersom termen p = C kan användas i alla tre funktioner bör den medtas. Termerna p 2 p 5 uppträder i två funktioner och är således lovande kandidater för att medtas. Primimplikatorn p 6 hos x 3 är väsentlig och bör medtas. Termen p 7 inkluderas däremot av p, p 3 och p 6. Alltså medtas även p 3. Även p 2 måste medtas för att funktionen x 3 skall kunna beskrivas. Återstår de fyra rutor som täcks av termerna p 4, p 5, p 8, p 9, p 0 och p. Från figuren ses att minst tre termer bör medtas: antingen p 4, p 9 och p, eller p 5, p 8 och p 0. Detta resulterar i de minimala formerna x = C + B + C D + C x 2 = C + C D + B x 3 = C + C D + B + A BD respektive x = C + B + + BC D x 2 = C + + C x 3 = C + C D + B + A BD Uppgift 2.5 Konstruera ett nät som med hjälp av logiska grindar realiserar funktionerna x, x 2 och x 3.
18 36 KAPITEL 2. BOOLESKA FUNKTIONER Man kan även förenkla logiska uttryck med flera utsignaler med QMC-metoden. Man börjar med att söka efter primimplikatorer som vanligt, fast man skall göra det för samtliga utsignaler och samtliga kombinationer av produkter av utsignaler. Varje kombination betraktas som separat fall, med separata primimplikatorer. I exempel 2.9 innebär det att man skall bestämma primimplikatorer för alla 7 Karnough-diagram. Det har vi i praktiken redan gjort, så låt oss gå till följande steg, som är att bilda en primimplikatortabell, som ser ut enligt följande: Sedan skall följande steg utföras: Tabell 2.4: Primimplikatortabell x x 2 x p x x p 3 x x x p 0 x x p x x p x x p 8 x x x 2 p 9 x x p x x p 2 p 6 x x x 3 p 7 x x x x p x x x x p 4 x x x x 2 p 5 x x p x x x x p 2 x x x x 3 p 3 x x x x p x x x x x x x x 2 x 3 x. De kryss som är ensamma i en kolumn skall inringas x, de motsvarar en väsentlig primimplikator. Märk motsvarande rader med asterisk. 2. Kontrollera även väsentliga primimplikatorer för de enskilda utsignalerna. Om de övriga kryssen i samma kolumn kommer från samma primimplikator, så är denna primimplikator oundviklig, och krysset skall inringas (på den plats där det förekommer längst ner). Märk även dessa rader med asterisk. Övriga kryss i kolumnen anges med parentes. 3. Alla rader där inringat kryss förekommer skall anges med klammer [x]. 4. Ange alla de kryss som förekommer i en kolumn med [x] med parentes, (x). Detta anger att motsvarande term redan ingår i de primimplikatorer som medtagits och inte behöver beaktas i fortsättningen. 5. Välj från de återstående valbara primimplikatorerna ett antal så att de återstående kryssen medtas. Märk raderna med dubbel asterisk. Valet skall göras så att funktionsuttrycket blir minimalt. 6. Funktionerna konstrueras genom att ta summan av de för varje enskild funktion väsentliga, oundvikliga och valda primimplikatorer. Dvs man tittar på en kolumn åt gången och tar alla primimplikatorer som har kryss med ring runt, eller som är vald. De primimplikatorer som har kryss med enbart klamrar behövs eventellt inte, detta måste skilt kontrolleras. I exemplet ovan så är p 2 oundviklig för x 3, men ej för x (därför att p 2 täcks av p 0 eller p som är valbara för x ), och den behöver således enbart medtas i x 3.
19 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 37 Vi kommer givetvis till samma resultat som i exempel 2.9 på detta sätt. Då vi gör ovannämnda procedur så kommer vi att, som tidigare, se att p 6 är en väsentlig primimplikator. Det som inte tidigare framgick är att p, p 2 och p 3 är oundvikliga för en disjunktiv form, vilket nu inses via punkt 2 i proceduren ovan Konjunktiv minimalform De minimala uttryck som studerats ovan är disjunktiva minimalformer (summor av produkter). Det är ofta av vikt att också undersöka den konjunktiva minimalformen (produkt av summor). Enligt de Morgans lag (R2) kan ett konjunktivt uttryck för en funktion x uttryckas med hjälp av ett disjunktivt uttryck för x. Den konjunktiva minimalformen kan således bestämmas genom att bestämma den disjunktiva normalformen för x. Exempel 2.0 Betrakta en funktion X med följande Karnaugh-diagram Den minimala disjunktiva formen är För X fås ett minimalt uttryck enligt följande. X = BD + BC + AD + AC Disjunktiv minimalform för X: X = A B + Den konjunktiva minimalformen för X fås med hjälp av de Morgans lagar (R2), (R20) : X = A B + = A B = (A + B) (C + D) I detta exempel leder den konjunktiva minimalformen till ett enklare uttryck än den disjunktiva.
20 38 KAPITEL 2. BOOLESKA FUNKTIONER Man kan även bestämma den konjuktiva minimalformen med QMC-metoden. Man skall då ställa upp funktionstabellen med endast de rader för vilka funktionen antar värdet 0 (i stället för ), övriga steg oförändrade. Detta ger på samma sätt som med Karnough-diagram en disjunktiv minimalform för X, som kan omvandlas till konjunktiv minimalform med de Morgans lagar. Vid användning av programmet primp så skall man ta logisk icke på varje enskilt funktionsvärde, så beräknar programmet disjunktiv minimalform för X. Man kan även se att man från Karnoughdiagram eller QMC-primimplikatorer direkt kan utläsa den konjunktiva minimalformen. Man skall göra som när man utläser den disjunktiva normalformen, men byta ut + mot och vise versa (och sätta parenteser där det behövs, för + skall ju ske före ), samt ta logiskt icke på alla enskilda variabler. Detta är analogt med hur konjunktiv normalform bestämdes i kapitel 2.. För att det minimala uttrycket skall hittas bör såväl den disjunktiva som den konjunktiva minimalformen undersökas. Observera att för programmering av uttrycken kan det totala antalet operationer (additioner och multiplikationer) ofta ytterligare minskas genom distributionslagarna (R4), (R5). T.ex. X = BD + BC + AD + AC = B (D + C) + A (D + C) = (A + B) (D + C) I detta fall råkade detta leda till den konjunktiva minimalformen. Detta gäller dock ej allmänt. 2.3 Kombinatoriska automationsproblem I ett kombinatoriskt automationsproblem bestäms utsignalerna från styrsystemet som booleska funktioner av insignalerna. u u 2.. u n Insignaler (från process).. Utsignaler (till process) y y 2 y n Jämför Ex. 2.. De booleska funktionerna följer ur specifikationerna och kan sammanfattas i form av en funktionstabell. De i avsnitt 2.2 diskuterade metoderna kan sedan tillämpas för att vid behov förenkla de booleska uttrycken. Hasard Då ett kombinatoriskt automationsproblem realiseras med hjälp av logiska grindar bör man beakta eventuell förekomst av sk. statisk hasard, och konstruera nätet så att det är hasardfritt. Problemet illustreras av följande exempel. Exempel 2. Betrakta en funktion X med Karnaugh-diagrammet nedan.
21 2.3. KOMBINATORISKA AUTOMATIONSPROBLEM 39 C Funktionen har två väsentliga primimplikatorer vilka ger den disjunktiva minimala formen X = AC + Funktionen kan tydligen realiseras med hjälp av två AND- och en OR-grind: A B & & X C AC Betrakta nu vad som händer då insignalerna ändras från 0 till : C Funktionen X har fortfarande värdet och ändras således ej. I praktiken är emellertid två grindar aldrig exakt lika snabba. Om den nedre grinden i figuren är något snabbare än den övre, så är utsignalerna från AND-grindarna 0 under ett kort ögonblick efter att den nedre grindens utsignal ändrats från till 0, men innan den övre grindens utsignal ändrats från 0 till. Systemets utsignal ser då ut så här: X 0 t Detta oönskade beteende kallas statisk hasard. Statisk hasard kan undvikas genom att observera att hasard inte förekommer för variabelförändringar som sker inom en primimplikator som medtagits i realiseringen (t.ex. ändringen till 0 förorsakar ej hasard för nätet ovan). Vi inkluderar därför lämpliga icke-väsentliga primimplikatorer för att undvika hasard:
22 40 KAPITEL 2. BOOLESKA FUNKTIONER C icke-väsentlig primimplikator X uttrycks nu i den icke-minimala formen X = AC + + BC Denna funktion kan realiseras med tre AND- och en OR-grind: A & B & X C & Denna realisering är hasardfri. Nuförtiden förverkligas logikstyrningsproblem oftast med hjälp av programmerbar logik eller mikrodatorer, i vilka de booleska funktionerna programmeras. Dessa funktionerar så att utsignalerna ges nya värden först då hela programmet utförts, varefter cykeln upprepas, osv. Således uppstår problemet med statisk hasard inte vid implementering med hjälp av programmerbar logik resp. mikrodatorer.
ÅBO AKADEMI LOGIKSTYRNING. Hannu Toivonen Jari Böling. Augusti 2012. Biskopsgatan 8 FIN 20500 Åbo Finland
ÅBO AKADEMI TEKNISKA FAKULTETEN Laboratoriet för reglerteknik DEPARTMENT OF ENGINEERING Process Control Laboratory LOGIKSTYRNING Hannu Toivonen Jari Böling Augusti 202 Biskopsgatan 8 FIN 20500 Åbo Finland
Quine McCluskys algoritm
Quine McCluskys algoritm Tabellmetod för att systematiskt finna alla primimplikatorer ƒ(a,b,c,d) = m(4,5,6,8,9,0,3) + d(0,7,5) Moment : Finn alla primimplikatorer Steg: Fyll i alla mintermer i kolumn.
Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck
KOMBINATORISK LOGIK Innehåll Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck Boolesk algebra Karnaugh-diagram Realisering av logiska funktioner
Digitalteknik syntes Arne Linde 2012
Digitalteknik, fortsättningskurs Föreläsning 3 Kombinatoriska nät 202 VHDL repetition + Strukturell VHDL Lite repetition + Karnaughdiagram(4-6var), flera utgångar + Quine-McCluskey + intro tid 2 Entity
IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering
IE25 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering Mintermer 2 3 OR f En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som
Digital- och datorteknik
Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Logikgrindar Från data till digitala byggblock: Kursens
Digitalteknik F2. Digitalteknik F2 bild 1
igitalteknik F2 igitalteknik F2 bild Återblick från F: Kombinatoriska och sekventiella kretsar Funktionstabeller ooleska funktioner Logiksymboler esignspråk igitalteknik F2 bild 2 Förenkling av komb. funkt.
Mintermer. SP-form med tre mintermer. William Sandqvist
Mintermer OR f 2 3 En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som tillsammans gör att termen antar värdet. SP-form med tre mintermer. f = m
Digital Design IE1204
Digital Design IE24 F2 : Logiska Grindar och Kretsar, Boolesk Algebra william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska
Styrteknik: Grundläggande logiska funktioner D2:1
Styrteknik: Grundläggande logiska funktioner D2:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik: Grundläggande logiska funktioner
SMD033 Digitalteknik. Digitalteknik F1 bild 1
SMD033 Digitalteknik Digitalteknik F1 bild 1 Vi som undervisar Anders Hansson A3209 91 230 aha@sm.luth.se Digitalteknik F1 bild 2 Registrering Registrering via email till diglabs@luth.se Digitalteknik
Grundläggande Datorteknik Digital- och datorteknik
Grundläggande Datorteknik Digital- och datorteknik Kursens mål: Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar Digital teknik Dator teknik Grundläggande
EDA Digital och Datorteknik 2009/2010
EDA45 - Digital och Datorteknik 29/2 EDA 45 - Digital och Datorteknik 29/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad
Digital Design IE1204
Digital Design IE24 F4 Karnaugh-diagrammet, två- och fler-nivå minimering william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB
IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES
IE1205 Digital Design F2 : Logiska Grindar och Kretsar, oolesk Algebra Fredrik Jonsson KTH/ICT/ES fjon@kth.se Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen x
Tentamen i Digitalteknik, EITF65
Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.
Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist
Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen = = Symbol S Implementering av logiska funktioner Switchen kan användas för att implentera logiska funktioner Power
Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist
Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! En funktion av fyra variabler a b c d Sanningstabellen till höger innehåller 11 st 1:or och 5 st 0:or. Funktionen kan uttryckas
IE1204 Digital Design
IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multiplexor KK2 LAB2 Låskretsar, vippor, FSM
Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Dan Weinehall/Håkan Joëlson 2008-01-24 v 2.1 ELEKTRONIK Digitalteknik Laboration D181 Kombinatoriska kretsar,
EDA Digital och Datorteknik 2010/2011
EDA45 - Digital och Datorteknik 2/2 EDA 45 - Digital och Datorteknik 2/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad
Tentamen i Digital Design
Kungliga Tekniska Högskolan Tentamen i Digital Design Kursnummer : Kursansvarig: 2B56 :e fo ingenjör Lars Hellberg tel 79 7795 Datum: 27-5-25 Tid: Kl 4. - 9. Tentamen rättad 27-6-5 Klagotiden utgår: 27-6-29
F5 Introduktion till digitalteknik
Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och
Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind
Dagens öreläsning behandlar: Läroboken kapitel 3 Arbetsboken kapitel,3 Ur innehållet: Satslogik och Grindar Funktionstabell Binär evaluering Normal orm/förenklad orm/ Minimal orm Karnaughdiagram Negation,
Lösningsförslag till tentamen i Digitalteknik, TSEA22
Försättsblad till skriftlig tentamen vid Linköpings universitet, Datorteknik, ISY (4) Lösningsförslag till tentamen i Digitalteknik, TSEA Datum för tentamen 3009 Salar U4, U7, U0 Tid 4.00-8.00 Kurskod
Booleska variabler och översättning mellan programuttryck och booleska variabler
Vad är Boolesk algebra Lite förenklat kan man säga att Boolesk algebra är räkneregler konstruerade av den engelske matematikern Gerge Boole för att kunna räkna med logiska uttryck. I den booleska algebran
Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false)
Sanningstabell En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false) ND OR Logiska grindar ND-grinden (OCH) IEC Symbol (International
Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra
Logik F4 Logik Boolesk algebra EDAA05 Roger Henriksson Jonas Wisbrant Konsten att, och vetenskapen om, att resonera och dra slutsatser. Vad behövs för att man ska kunna dra en slutsats? Hur kan man dra
Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/
Tentamen med lösningar för IE4/5 Digital Design Torsdag 5/ 5 9.-. Allmän information Eaminator: Ingo Sander. Ansvarig lärare: Kista, William Sandqvist, tel 8-79 44 87. KTH Valhallavägen, Fredrik Jonsson,
Tentamen i EDA320 Digitalteknik för D2
CHALMERS TEKNISKA HÖGSKOLA Institutionen för datorteknik Tentamen i EDA320 Digitalteknik för D2 Tentamenstid: onsdagen den 2 mars 997 kl 4.5-8.5. Sal: vv Examinator: Peter Dahlgren Tel. expedition 03-772677.
Grundläggande digitalteknik
Grundläggande digitalteknik Jan Carlsson Inledning I den verkliga världen vet vi att vi kan få vilka värden som helst när vi mäter på något. En varm sommardag visar termometern kanske 6, 7 C. Men när det
Programmerbar logik. Kapitel 4
Kapitel 4 Programmerbar logik Programmerbar logik (PLC: Programmable Logic Controller; fi. ohjelmoitava logiikka) är en sorts mikrodatorliknande instrument som är speciellt avsedda för logik- och sekvensstyrningsproblem.
Följddiagram för händelsestyrda rörelser
Följddiagram för händelsestyrda rörelser 2 STYROBJEKT UNIKA FASER Två arbetscylindrar ska röra sig i följande ordning. När man ger startkommando ska kolvstången i cylinder gå ut. När den har nått sitt
Sekvensnät Som Du kommer ihåg
Sekvensnät Som Du kommer ihåg Designmetodik Grundläggande designmetodik för tillståndsmaskiner. 1. Analysera specifikationen för kretsen 2. Skapa tillståndsdiagram 3. Ställ upp tillståndstabellen 4. Minimera
IE1204/IE1205 Digital Design
TENTAMEN IE1204/IE1205 Digital Design 2012-12-13, 09.00-13.00 Inga hjälpmedel är tillåtna! Hjälpmedel Tentamen består av tre delar med sammanlagd tolv uppgifter, och totalt 30 poäng. Del A1 (Analys) innehåller
Tentamen i IE1204/5 Digital Design måndagen den 15/
Tentamen i IE1204/5 Digital Design måndagen den 15/10 2012 9.00-13.00 Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204), Tentamensuppgifterna
Digital Design IE1204
Digital Design IE1204 F10 Tillståndsautomater del II william@kth.se IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska
Försättsblad till skriftlig tentamen vid Linköpings universitet
Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen 08-03-3 Sal (5) Tid 8- Kurskod TSEA Provkod TEN Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som
18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.
HH / Georgi Tchilikov DISKRET MATEMATIK,5p. 8 juni 007, 40 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 5p. för Godkänd, 4p. för Väl Godkänd (av maximalt 36p.). Förenkla (så mycket som
Tentamen EDAA05 Datorer i system
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen EDAA05 Datorer i system 2011 10 17, 8.00 13.00 Tillåtna hjälpmedel: bifogad formel- och symbolsamling. För godkänt betyg på tentamen
Logik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
Digital elektronik CL0090
Digital elektronik CL0090 Föreläsning 2 2007-0-25 08.5 2.00 Naos De logiska unktionerna implementeras i grindar. Här visas de vanligaste. Svenska IEC standard SS IEC 87-2 Amerikanska ANSI/IEEE Std.9.984
Tentamen i Digitalteknik, EIT020
Elektro- och informationsteknik Tentamen i Digitalteknik, EIT020 4 april 2013, kl 14-19 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av pappret. Lösningarna
Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl
Tentamen TSEA22 Digitalteknik 5 juni, 2015, kl. 08.00-12.00 Tillåtna hjälpmedel: Inga. Ansvarig lärare: Mattias Krysander Visning av skrivningen sker mellan 10.00-10.30 den 22 juni på Datorteknik. Totalt
DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg/Håkan Joëlson John Berge 2013 DIGITALTEKNIK I Laboration DE1 Kombinatoriska nät och kretsar Namn... Personnummer... Epost-adress...
F5 Introduktion till digitalteknik
George Boole och paraplyet F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant p = b! (s " r) George Boole (1815-1864) Professor i Matematik, Queens College, Cork, Irland 2 Exklusiv
Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av
Kapitel 2 Kombinatorik Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av det antal sätt, på vilket elementen i en given mängd kan arrangeras i delmängder på något sätt.
Repetition och sammanfattning av syntes och analys av sekvensnät
Repetition och sammanfattning av syntes och analys av sekvensnät Sekvensnät = ihopkoppling av sekvenskretsar Består i praktiken av - minnesdel (sekvenskretsar) - kombinatorisk del. Sekvenskretsar = kretsar
Tentamen i IE1204/5 Digital Design onsdagen den 5/
Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista
EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011
EDA 451 - Digital och Datorteknik 2010/2011 Ur innehållet: Vi repeterar kursens lärandemål Diskussion i kring övningstentor t Övriga frågor 1 Lärandemål Det övergripande målet är att den studerande ska
IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2
IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör
Tentamen i Digitalteknik, EIT020
Elektro- och informationsteknik Tentamen i Digitalteknik, EIT020 18 december 2010, kl 8-13 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av pappret.
Tenta i Digitalteknik
Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna
DIGITALTEKNIK. Laboration D173. Grundläggande digital logik
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2007-11-19 v 1.1 DIGITALTEKNIK Laboration D173 Grundläggande digital logik Innehåll Mål. Material.... Uppgift 1...Sanningstabell
Styrteknik: MELSEC FX och numeriska värden
PLC2C:1 MELSEC FX I kursen styrteknik används styrsystemet FX1S som är ett litet system i MELSEC FX-serien. Vår version av FX1S har endast digitala in- och utgångar men oftast finns det både digitala och
Digital- och datorteknik
Digital- och datorteknik Föreläsning #13 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad kännetecknar en tillståndsmaskin? En synkron tillståndsmaskin
Tentamen i TTIT07 Diskreta Strukturer
Tentamen i TTIT07 Diskreta Strukturer 2004-10-28, kl 8 13, TER1 och TERC Inga hjälpmedel är tillåtna Kom ihåg att svaren på samtliga uppgifter måste MOTIVERAS, och att motiveringarna skall vara uppställda
Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler
Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs
Tentamen i IE1204/5 Digital Design onsdagen den 5/
Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Allmän information Exaator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204) Tentamensuppgifterna behöver
Satslogik Mängdlära Boolesk algebra (S = sant, F = falskt) (U = grundmängden) Kommutativitet p q q p A B = B A x+ y = y + x p q q p A B = B A xy = yx
BOOLESK ALGEBRA Satslogik Mängdlära Boolesk algebra (S = sant, F = falskt) (U = grundmängden) Kommutativitet p q q p A B = B A x+ y = y + x p q q p A B = B A xy = yx Distributivitet (p q) r (p r) (q r)
Tentamen i. TDDC67 Funktionell programmering och Lisp
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering
Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder
Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar
Finaltävling i Stockholm den 22 november 2008
SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet Finaltävling i Stockholm den november 008 Förslag till lösningar Problem 1 En romb är inskriven i en konve fyrhörning Rombens sidor är parallella
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 4: Konjunktiv och disjunktiv normalform Henrik Björklund Umeå universitet 15. september, 2014 CNF och DNF Konjunktiv normalform (CNF) Omskrivning av en formel
Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl
Institutionen för systemteknik, ISY, LiTH Tentamen i Digitalteknik TSIU05/TEN1 Tid: 2016 10 26 kl. 14 18 Lokal : TER3 TER4 Ansvarig lärare: Michael Josefsson. Besöker lokalen kl 16. Tel.: 013-28 12 64
Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik
Kombinationskretsar Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik Dagens föreläsning Laboration 1 Adderare Konstruktion med minne 3 Laborationsinformation TSEA51/52: Deadline
MATEMATIKENS SPRÅK. Avsnitt 1
Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en
Digital- och datorteknik
Digital- och datorteknik Föreläsning #5 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad är ett bra grindnät? De egenskaper som betraktas som
DIGITALTEKNIK. Laboration D172
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2006-02-24 v 1.2 DIGITALTEKNIK Laboration D172 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner
Hur implementera algoritmerna på maskinnivå - datorns byggstenar
Hur implementera algoritmerna på maskinnivå - datorns byggstenar Binära tal Boolesk logik grindar och kretsar A A extern representation intern representation minnet i datorn extern representation 1000001
Vektorgeometri för gymnasister
Vektorgeometri för gymnasister Per-Anders Svensson http://w3.msi.vxu.se/users/pa/vektorgeometri/gymnasiet.html Institutionen för datavetenskap, fysik och matematik Linnéuniversitetet Vektorer i planet
Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system
Vad är det? Översikt Discrete structure: A set of discrete elements on which certain operations are defined. Discrete implies non-continuous and therefore discrete sets include finite and countable sets
Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0
1 Föreläsning 2 ht2 Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) Lite om logiska operationer Logiska variabler är storheter som kan anta två värden; sann 1 falsk 0 De logiska variabler
Sekvensstyrningsproblem
Kapitel 3 Sekvensstyrningsproblem Vid kombinatoriska styrproblem av den typ som betraktades i avsnitt 2.3, och i Ex. 2.1, bestämdes utsignalerna från styrsystemet som booleska funktioner av insignalerna.
Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section
Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett
Lektion 8: Konstruktion av semantiska tablåer för PTL-formler
Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande
DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik jörne Lindberg/Håkan Joëlson 2003-09-15 v 2.2 DIGITALTEKNIK Laboration D161 Kombinatoriska kretsar och nät Innehåll Uppgift 1...Grundläggande
Introduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)
Göteborgs Universitet och Chalmers Tekniska Högskola 25 oktober 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen
y y 1 = k(x x 1 ) f(x) = 3 x
Räta linjen på olika former Här ska vi bara påpeka att förutom k-form, den som vi är mest vana vid y = k y + m finns också allmän form: ax + by + c = 0 där a och b är konstanter, som inte någon står för
Tenta i Digitalteknik
Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376
Tenta i Digitalteknik
Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2011-08-26 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel
Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002
Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002 1. Bestäm det minsta positiva heltal n sådant att 31n + 13 är delbart
1 Minkostnadsflödesproblem i nätverk
Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa
Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Håkan Joëlson 2000-01-28 v 2.3 ELEKTRONIK Digitalteknik Laboration D151 Kombinatoriska kretsar, HCMOS Namn:
IE1204 Digital Design
IE204 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multiplexor KK2 LAB2 Låskretsar, vippor, FSM F0 F
Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen.
Sidor i boken 40-4 Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen. Läxa 1. En rät linje, L 1, skär y-axeln
Funktionsstudier med derivata
Funktionsstudier med derivata Derivatan ett kraftfullt verktyg för att studera och tolka funktioner Det här avsnittet handlar om att man kan använda derivatan till att bestämma en funktions egenskaper
Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2003-09-15 v 2.1 DIGITALTEKNIK Laboration D163 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner
Lösningsförslag till övningsuppgifter, del II
Lösningsförslag till övningsuppgifter del II Obs! Preliminär version! Ö.1. För varje delare d till n låt A d var mängden av element a sådana att gcd(a n = d. Partitionen ges av {A d : d delar n}. n = 6:
2 Dataanalys och beskrivande statistik
2 Dataanalys och beskrivande statistik Vad är data, och vad är statistik? Data är en samling fakta ur vilken man kan erhålla information. Statistik är vetenskapen (vissa skulle kalla det konst) om att
TSEA22 Digitalteknik 2019!
1(45) 2019 Mattias Krysander Ingemar Ragnemalm D D 1(45) Föreläsning 4. Komb2. Denna föreläsning: Labb 1 Adderare Lite mer om kombinationskretsar 2(45)2(45) Förra föreläsningen: Några kombinationskretsar.
5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3
1 Revision 4 2006-12-16 2. SIDFÖRTECKNING 5B1146 med Matlab Laborationsr Laborationsgrupp: Sebastian Johnson, Ann-Sofi Åhn ( endst tal1-3 Titel Sida 1. Uppgift 1.8.1....3 2. Uppgift 1.8.2....6 3. Uppgift
Digital- och datorteknik
Digital- och datorteknik Föreläsning #9 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola ekvensnät Vad kännetecknar ett sekvensnät? I ett sekvensnät
Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Föreläsning 5: Kardinalitet. Funktioners tillväxt
Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A
Introduktion till logik
Introduktion till logik Av Johan Johansson Johan.johansson@guldstadsgymnasiet.se Logik sägs som många andra saker komma från de grekiska filosoferna, och ordet kommer också därifrån. Grekerna kallade det
Laborationshandledning
Laborationshandledning Utbildning: ED Ämne: TNE094 Digitalteknik och konstruktion Laborationens nummer och titel: Nr 3 Kombinatoriska nät Laborant: E-mail: Medlaboranters namn: Handledarens namn: Kommentarer
Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer
Digital elektronik CL0090
Digital elektronik CL9 Föreläsning 5 27-2-2 8.5 2. Naxos Demonstration av uartus programvara. Genomgång av uartus flödesschema. Detta dokument finns på kurshemsidan. http://www.idt.mdh.se/kurser/cl9/ VHDL-kod