EDA 451 Digital och Datorteknik 20092010 EDA 451

  • Slides: 28
Download presentation
EDA 451 - Digital och Datorteknik – 2009/2010 EDA 451 - Digital och Datorteknik

EDA 451 - Digital och Datorteknik – 2009/2010 EDA 451 - Digital och Datorteknik 2008/09 Dagens föreläsning: ”Kombinatoriska nät”, läroboken kapitel 4 Ur innehållet: Kodomvandlare ”Don’t care” vid minimering Väljare (Multiplexer) Fördelare (Demultiplexer) Skiftoperationer Adderare Kombinatoriska nät 1

EDA 451 - Digital och Datorteknik – 2009/2010 Kombinatoriska nät x 0 x 1

EDA 451 - Digital och Datorteknik – 2009/2010 Kombinatoriska nät x 0 x 1 x 2 x 3 x 4 f 0(x 0, x 1, x 2, . . . , xm) f 1(x 0, x 1, x 2, . . . , xm) f 2(x 0, x 1, x 2, . . . , xm) fn(x 0, x 1, x 2, . . . , xm) Ett kombinatoriskt nät har fixt antal ingångar (m-1) och fixt antal utgångar (n-1). Varje utgång har i varje ögonblick det värde som entydigt bestäms av insignalerna. xm n n Vi introducerar komponenter som byggblock i datorn. Arbetsboken ger dig tillfälle att studera de viktigaste komponenterna i detalj. Kombinatoriska nät 2

EDA 451 - Digital och Datorteknik – 2009/2010 Kodomvandlare - ” 1 av 2

EDA 451 - Digital och Datorteknik – 2009/2010 Kodomvandlare - ” 1 av 2 avkodare” Insignal Utsignaler Funktionstabell Dec. b 0 u 1 0 0 1 Kombinatoriska nät Realisering 1 0 1 3

EDA 451 - Digital och Datorteknik – 2009/2010 Utsignaler Insignaler Kodomvandlare - ” 1

EDA 451 - Digital och Datorteknik – 2009/2010 Utsignaler Insignaler Kodomvandlare - ” 1 av 4 avkodare” Realisering Funktionstabell Dec. b 1 b 0 u 1 u 2 u 3 0 1 2 3 Kombinatoriska nät 0 0 1 1 0 0 0 0 1 4

EDA 451 - Digital och Datorteknik – 2009/2010 Utsignaler Insignaler Kodomvandlare - ” 1

EDA 451 - Digital och Datorteknik – 2009/2010 Utsignaler Insignaler Kodomvandlare - ” 1 av 8 avkodare” Funktionstabell Dec. b 2 b 1 b 0 u 1 u 2 u 3 u 4 u 5 u 6 u 7 0 1 2 3 4 5 6 7 Kombinatoriska nät 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 5

EDA 451 - Digital och Datorteknik – 2009/2010 Realisering ” 1 av 8 avkodare”

EDA 451 - Digital och Datorteknik – 2009/2010 Realisering ” 1 av 8 avkodare” 1 b 0 1 b 1 1 b 2 Kombinatoriska nät & u 0 & u 1 & u 2 & u 3 & u 4 & u 5 & u 6 & u 7 6

EDA 451 - Digital och Datorteknik – 2009/2010 ”Sju-sifferindikator (Sju-segmentindikator)” Siffran 0 Siffran 1

EDA 451 - Digital och Datorteknik – 2009/2010 ”Sju-sifferindikator (Sju-segmentindikator)” Siffran 0 Siffran 1 Siffran 2 Siffran 3 Siffran 4 Aktiva segment: a, b, c, e, f, g Siffran 5 Aktiva segment: c, f Siffran 6 Aktiva segment: a, b, d, f, g Siffran 7 Aktiva segment: a, c, d, f, g Siffran 8 Aktiva segment: c, d, e, f Siffran 9 Aktiva segment: a, c, d, e, g Aktiva segment: a, b, c, d, e, g Aktiva segment: c, f, g Aktiva segment: a, b, c, d, e, f, g Aktiva segment: c, d, e, f, g g e f d b c a Kombinatoriska nät 7

EDA 451 - Digital och Datorteknik – 2009/2010 Kodomvandlare: ”NBCD till Sjusegment” x 0

EDA 451 - Digital och Datorteknik – 2009/2010 Kodomvandlare: ”NBCD till Sjusegment” x 0 x 1 x 2 x 3 Kombinatoriska nät a(x 0, x 1, x 2, x 3) b(x 0, x 1, x 2, x 3) c(x 0, x 1, x 2, x 3) d(x 0, x 1, x 2, x 3) e(x 0, x 1, x 2, x 3) f(x 0, x 1, x 2, x 3) g(x 0, x 1, x 2, x 3) Dec. 0 1 2 3 4 5 6 7 8 9 x 3 x 2 x 1 x 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 1 a 1 0 1 1 0 - b 1 0 0 0 1 0 - c 1 1 0 1 1 1 1 - d 0 0 1 1 1 0 1 1 - e 1 0 0 0 1 1 1 0 1 1 - f 1 1 1 0 0 1 1 1 - g 1 0 1 1 1 - 8

EDA 451 - Digital och Datorteknik – 2009/2010 Kodomvandlare – ”NBCD till Graykod” NBCD

EDA 451 - Digital och Datorteknik – 2009/2010 Kodomvandlare – ”NBCD till Graykod” NBCD Gray x 3 x 2 x 1 x 0 g 3 g 2 g 1 g 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 ? ? 1 0 1 1 ? ? 1 1 0 0 ? ? 1 1 0 1 ? ? 1 1 1 0 ? ? 1 1 ? ? Kombinatoriska nät NBCD Gray x 3 x 2 x 1 x 0 g 3 g 2 g 1 g 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 - - - - - - - - - - - g 3 x 1 x 0 00 01 11 10 g 2 x 1 x 0 00 01 11 10 00 00 x 3 x 201 11 10 1 x 3 x 201 1 11 10 1 - - - 1 - - x 1 x 0 00 01 11 10 1 1 00 x 3 x 201 1 1 11 - - 10 g 1 1 - - - 1 - - x 1 x 0 00 01 11 10 1 1 00 1 1 x 3 x 201 11 - - - 10 g 0 ”Don’t care” Viktigt för Arbetsbok, kap. 4 9

EDA 451 - Digital och Datorteknik – 2009/2010 g 3 x 1 x 0

EDA 451 - Digital och Datorteknik – 2009/2010 g 3 x 1 x 0 00 01 11 10 g 1 x 1 x 0 00 01 11 10 00 00 01 x 3 x 2 11 - - 01 1 x 3 x 2 11 - 10 1 1 - - 10 g 2 x 1 x 0 00 01 11 10 00 g 0 1 - - 1 - x 1 x 0 00 01 11 10 00 1 1 01 1 x 3 x 2 11 - 1 1 1 - - - 01 x 3 x 2 11 10 1 1 - - 10 Kombinatoriska nät 1 - - 10

EDA 451 - Digital och Datorteknik – 2009/2010 Se Arbetsbok, kap. 8 Väljare (Multiplexer)

EDA 451 - Digital och Datorteknik – 2009/2010 Se Arbetsbok, kap. 8 Väljare (Multiplexer) Realisering. . . Dec. s 0 0 m 0 1 1 m 1 1 av 2 väljare Kombinatoriska nät u u s m 1 m 0 u 0 0 1 1 0 1 0 1 0 1 0 0 1 1 s m 1 m 0 00 01 11 10 0 0 1 1 11

EDA 451 - Digital och Datorteknik – 2009/2010 1 Av 4 Väljare Dec. 0

EDA 451 - Digital och Datorteknik – 2009/2010 1 Av 4 Väljare Dec. 0 1 2 3 Kombinatoriska nät s 1 0 0 1 1 s 0 0 1 u m 0 m 1 m 2 m 3 12

Realisering med väljare Lärobokens exempel 4. 9 Realisera funktionen: f(x, y, z) = x’y’z+xy’z’+xy

Realisering med väljare Lärobokens exempel 4. 9 Realisera funktionen: f(x, y, z) = x’y’z+xy’z’+xy med hjälp av en ” 1 av 4 väljare”. Fri variabel EDA 451 - Digital och Datorteknik – 2009/2010 0 1 2 3 s 1 s 0 väljare Lösning: (m. h. a ”Shannon’s expansionteorem”. . ) En variabel är ”fri” de övriga utgör ”väljare” 1. Skriv f på disjunktiv normal form. 2. Skriv uttrycket på formen ’ ( f(x - ) ) + ( f(x - ) ) dvs. bryt ut den fria variabeln och samla koefficienter för grund och invers 3. Inspektera uttrycket och fastslå signaler för väljarens olika ingångar. Vi illustrerar nu detta. . . Kombinatoriska nät 13

EDA 451 - Digital och Datorteknik – 2009/2010 f(x, y, z) = x’y’z+xy’z’+xy =

EDA 451 - Digital och Datorteknik – 2009/2010 f(x, y, z) = x’y’z+xy’z’+xy = = x’y’z+xy’z’+xy (z+z’) = x’y’z+xy’z’+xyz’ Fall 1: xy är väljare, z är ”fri” f = z’(xy’+xy) + z (x’y’+xy) 2 3 0 3 Vi identifierar koefficienter för samtliga väljarkombinationer xy. 0 → x’y’→ z 1 → x’y (finns ej)→ 0 2 → xy’→ z’ 3 → xy→ (z’+z)=1 z 0 1 z’ 2 1 3 0 s 1 s 0 x y Kombinatoriska nät 14

EDA 451 - Digital och Datorteknik – 2009/2010 Fall 2: xy är väljare, y

EDA 451 - Digital och Datorteknik – 2009/2010 Fall 2: xy är väljare, y är ”fri” f = y’(x’z+xz’) + y (xz’+xz) 1 2 2 3 0 → x’z’ (finns ej)→ 0 1 → x’z → y’ 2 → xz’→ (y’+y)=1 3 → xz→ y 0 y’ 1 1 2 y 3 0 s 1 x z Fall 3: yz är väljare, x är ”fri” f = x’(y’z) + x (y’z’+yz+yz’) 1 0 3 2 0 → y’z’→ x 1 → y’z → x’ 2 → yz’→ x 3 → xz→ x Kombinatoriska nät x x’ 1 x 2 x 3 0 s 1 s 0 y z 15

EDA 451 - Digital och Datorteknik – 2009/2010 Lärobokens exempel 4. 9 igen Realisera

EDA 451 - Digital och Datorteknik – 2009/2010 Lärobokens exempel 4. 9 igen Realisera funktionen: f(x, y, z) = x’y’z+xy’z’+xy med hjälp av en ” 1 av 2 väljare”. Lösning: Vi utnyttjar på nytt expansionsteoremet men denna gång används den utbrytna variabeln för väljarfunktionen. Vi nöjer oss här med att visa ett fall där vi använder z som väljare. f = z’(xy’+xy) + z (x’y’+xy) (xy’+xy)= x (x’y’+xy)=(x y)’ 0 1 f z Kombinatoriska nät 16

EDA 451 - Digital och Datorteknik – 2009/2010 Fördelare (Demultiplexer) Dec. s 1 s

EDA 451 - Digital och Datorteknik – 2009/2010 Fördelare (Demultiplexer) Dec. s 1 s 0 u 1 u 2 u 3 Dec. s u 0 u 1 0 1 Kombinatoriska nät 0 m 0 1 2 3 0 0 1 1 0 1 m 0 0 0 0 m 17

EDA 451 - Digital och Datorteknik – 2009/2010 ”Multiplex” en-tråds buss Källa, multiplexer Destination,

EDA 451 - Digital och Datorteknik – 2009/2010 ”Multiplex” en-tråds buss Källa, multiplexer Destination, demultiplexer Dvs. 8 signaler kan överföras med hjälp av fyra ledningar. . . Kombinatoriska nät 18

EDA 451 - Digital och Datorteknik – 2009/2010 Skiftoperationer Kan vara höger- eller vänster-

EDA 451 - Digital och Datorteknik – 2009/2010 Skiftoperationer Kan vara höger- eller vänster- skift. . x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 SI x 7 x 6 x 5 x 4 x 3 x 2 x 1 u 7 u 6 u 5 u 4 u 3 u 2 u 1 u 0 SO x 0 SO SO x 0 x 6 x 5 x 4 x 3 x 2 x 1 x 0 SI u 7 u 6 u 5 u 4 u 3 u 2 u 1 u 0 SI; Shift In Kombinatoriska nät x 7 SI x 7 SO SO; Shift Out 19

EDA 451 - Digital och Datorteknik – 2009/2010 Exempel: Kombinatoriskt nät för höger-/vänster skift

EDA 451 - Digital och Datorteknik – 2009/2010 Exempel: Kombinatoriskt nät för höger-/vänster skift Vi vill konstruera ett logiknät som klarar såväl höger- som vänsterskift av ett 8 -bitars ord (X), resultatet är ett nytt 8 -bitars ord (U) och en utskiftad bit SO. Den inskiftade biten kallas SI och styrsignalen d används för att ange skiftriktning. d 0 1 Realisering. . . u 7 SI x 6 u 6 x 7 x 5 u 5 x 6 x 4 u 4 x 5 x 3 u 3 x 4 x 2 u 2 x 3 x 1 u 1 x 2 x 0 u 0 x 1 SI SO x 0 x 7 SI x 6 x 7 x 5 x 6 x 4 x 5 x 3 x 4 x 2 x 3 x 1 x 2 x 0 x 1 SI x 0 x 7 0 1 0 1 0 1 u 7 u 6 u 5 u 4 u 3 u 2 u 1 u 0 SO d Kombinatoriska nät 20

EDA 451 - Digital och Datorteknik – 2009/2010 Heladderaren Addition av två n-bitars binära

EDA 451 - Digital och Datorteknik – 2009/2010 Heladderaren Addition av två n-bitars binära tal cn + Betrakta addition av bitar med index i: Kombinatoriska nät cn-1 xn-1 yn-1 sn-1 cn-2 xn-2 yn-2 sn-2 + . . . ci xi yi si ci+1 ci xi yi si . . . c 1 x 1 y 1 s 1 x 0 y 0 s 0 21

EDA 451 - Digital och Datorteknik – 2009/2010 S=X+Y ci+1 + ci xi yi

EDA 451 - Digital och Datorteknik – 2009/2010 S=X+Y ci+1 + ci xi yi si Ett kombinatoriskt nät för addition av en bit har alltså tre insignaler (ci, xi och yi) och två utsignaler (si och ci+1), nätet kallas allmänt för heladderare (HA). Kombinatoriska nät 22

EDA 451 - Digital och Datorteknik – 2009/2010 Med hjälp av räknelagarna ställer vi

EDA 451 - Digital och Datorteknik – 2009/2010 Med hjälp av räknelagarna ställer vi upp en funktionstabell för utsignalerna si och ci+1: 0 0 0 0 1 0 1 Kombinatoriska nät 1 0 0 xi 0 0 1 1 yi 0 0 1 1 ci 0 1 0 1 si 0 1 1 0 0 1 ci+1 0 0 0 1 1 1 ci+1 ci xi + yi si 1 1 0 1 1 1 0 1 23

EDA 451 - Digital och Datorteknik – 2009/2010 Vi bestämmer nu funktionerna si och

EDA 451 - Digital och Datorteknik – 2009/2010 Vi bestämmer nu funktionerna si och ci+1 med hjälp av Karnaughdiagram si xi yi ci si ci+1 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 ci ci Kombinatoriska nät xi yi 00 01 11 10 0 1 1 1 ci+1 xi yi 00 01 11 10 0 1 1 1 24

EDA 451 - Digital och Datorteknik – 2009/2010 Uttrycket för ci+1: G, “Generate” P,

EDA 451 - Digital och Datorteknik – 2009/2010 Uttrycket för ci+1: G, “Generate” P, “Propagate” Fallet xi=yi=ci=1 domineras av G, varför det också gäller att Kombinatoriska nät 25

EDA 451 - Digital och Datorteknik – 2009/2010 ci+1 + Kombinatoriska nät ci xi

EDA 451 - Digital och Datorteknik – 2009/2010 ci+1 + Kombinatoriska nät ci xi yi si 26

EDA 451 - Digital och Datorteknik – 2009/2010 4 -bitars adderare 8 -bitars adderare

EDA 451 - Digital och Datorteknik – 2009/2010 4 -bitars adderare 8 -bitars adderare Kombinatoriska nät 27

EDA 451 - Digital och Datorteknik – 2009/2010 4 -bitars adderare/subtraherare Då SUB=1 blir

EDA 451 - Digital och Datorteknik – 2009/2010 4 -bitars adderare/subtraherare Då SUB=1 blir Q=Y 2 k och C blir ”Borrow” Kombinatoriska nät 28