Mattias Krysander Ingemar Ragnemalmsn54/74ls181 function table mode select inputs active low inputs...

45
TSEA22 Digitalteknik & D D TSEA22 Digitalteknik 2019 Mattias Krysander Ingemar Ragnemalm 1(45) 1(45)

Transcript of Mattias Krysander Ingemar Ragnemalmsn54/74ls181 function table mode select inputs active low inputs...

TSEA22 Digitalteknik

&

D

D

TSEA22 Digitalteknik 2019!!Mattias Krysander!Ingemar Ragnemalm

1(45)

1(45)

TSEA22 Digitalteknik

&

Föreläsning 4. Komb2.!!Denna föreläsning:!!• Labb 1!• Adderare!• Lite mer om kombinationskretsar

2(45)2(45)

TSEA22 Digitalteknik

&

Förra föreläsningen:!!• Några kombinationskretsar.!• Karnaughdiagram.!• "Don't care"

3(45)3(45)

TSEA22 Digitalteknik

& Förra föreläsningen:

Karnaughdiagram!konsten att ringa

4(45)4(45)

TSEA22 Digitalteknik

&

Sanningstabell till Karnaughdiagram

c f0 11 10 01 1

0011

b

0 01 10 01 1

0011

a00001111

01234567

i

00 01 11 10

0

1

bc

a 0 1 23

4 5 67

1 1 01

0 1 01

5(45)5(45)

TSEA22 Digitalteknik

&5 variabler

a = 0 a = 100 01 11 10

00

01

de

bc

0 1 23

4 5 67

12 13 1415

8 9 1011

11

10

00 01 11 10

00

01

de

bc

16 17 1819

20 21 2223

28 29 3031

24 25 2627

11

10

6(45)6(45)

TSEA22 Digitalteknik

&

00 01 11 10

00

01

cd

ab

0 0 10

0 1 01

1 1 11

1 0 00

11

10ab + c'd'a + bd + a'b'cd'

• Stora ringar!• Få ringar!• Börja med uppenbart nödvändiga små, t.ex. ettor med många 0-grannar!• Överlapp är inget fel om det ger en större ring

7(45)7(45)

TSEA22 Digitalteknik

&

• Stora ringar!!Stor ring = färre beroenden = mindre grind!!• Få ringar!!Varje ring ger en grind till!!Ringen definierar de variabler som inte varierar inom ringen

8(45)8(45)

TSEA22 Digitalteknik

& Wrap-around!!Du får alltid ringa runt kanten!

00 01 11 10

00

01

cd

ab

0 0 00

1 0 10

1 0 10

0 0 00

11

10

00 01 11 10

00

01

cd

ab

1 0 10

0 0 00

0 0 00

1 0 10

11

10

bd' b'd'9(45)9(45)

TSEA22 Digitalteknik

&

Don't care

00 01 11 10

00

01

11

10

0 0 1 -

-

-

-

1 0 1

1 1

- -0

1

SP-normalform:!f(a,b,c) = ∑(3,4,6,12,14,15) + d(2,7,8,10,11,13)!!PS-normalform:!f(a,b,c) = ∏(0,1,5,9) + d(2,7,8,10,11,13)

10(45)10(45)

TSEA22 Digitalteknik

&

Labb 1a!!Att göra:!!• Förbered minst uppgift 1-4!• Tag med numrerade kopplingsscheman till laborationen!• Få godkänt på 1a

11(45)11(45)

TSEA22 Digitalteknik

&

"Öppet labb"!!Labbet "Ginden" tillgängligt när ej schemalagt, men!• enbart kursregistrerade !• access fr 1:a februari!• bygg inte labben i förväg på denna tid, lös labben på labbtid!

12(45)12(45)

TSEA22 Digitalteknik

&

"Drop-in"!!Obokad? Missade deadline? På väntelista?!Drop-in på labben i mån av plats. Fria platser släpps 10 minuter efter start!!!Väntelista? Nästa måndag vet vi hur full kursen är!

13(45)13(45)

TSEA22 Digitalteknik

&

Labbutrustningen74LS669

74LS160

74LS160

74LS160

74LS157

74LS15374LS04

74LS10

74LS10

74LS109

74LS109

74LS10974LS04

74LS02

74LS00

74LS00

74LS00

74LS00

Förgrening

Minne

Minne

Klockpulsgenerator

Skjutomkopplare

Skjutomkopplare

Tryckomkopplare

Lysdioder

7-segment

7-segment

7-segment

7-segment

+5

0

+5

0

+5

0

+5

0

+5

0

+5

0

14(45)14(45)

TSEA22 Digitalteknik

& Genomförande

Förberedelse

15(45)15(45)

TSEA22 Digitalteknik

&Exempel: OR med NAND och inverterare!!• Sanningstabell!• Karnaughdiagram!• Boolesk funktion!• Kretsschema

Sanningstabell

a b y

0 0 0

0 1 1

1

11 01 1

a

b0 1

0

1

0

1

1

1

Karnaugh

Boolesk funktion: y = a + b = (a + b)'' = (a'b')'

Kretsschema:

y

16(45)16(45)

TSEA22 Digitalteknik

&Var kopplar vi in det?!!Styr insignaler, läs av utsignaler!Insignaler: Skjutomkopplare!Utsignaler: Visa med lysdioder

y

Matningsskenan!+5V = 1!GND = 0

Skjutomkopplare

Lysdioder

+5V = 1 = Vcc = Matningsspänning!GND = 0 = jord

17(45)17(45)

TSEA22 Digitalteknik

&

Numrering!!Var är grindarna anslutna i kapslarna?

Matningsspänning på ben 14 och jord på ben 7 på båda

1

21

2

2

18(45)18(45)

TSEA22 Digitalteknik

&

Uppkoppling av OR-funktionen. I bilden: Insignal 11 ger utsignal 1.

I ringen: Logikprob för felsökning.

Fysisk uppkoppling och färgkonventioner!!

Färgkonvention för sladdar:!• Röd: Fast 1:a (kopplad till Vcc)!• Svart: Fas 0:a (kopplad till GND)!• Övriga: gul/blå/vit!!Placera komponenter som skall kopplas ihop nära varandra.!Börja med Vcc och GND radvis.!!Rörigt? Det blir lätt stökigt när man "labbkopplar".

19(45)19(45)

TSEA22 Digitalteknik

&

Exempel på vanliga fel!!• Nätaggregatet är påslaget men inget lyser.!- Har du kortslutning mellan Vcc och GND?!!• Utsignalen lyser alltid.!- Har du glömt att jorda NAND-grinden?!!• Utsignalen lyser svagt!Tyder på odefinierad spänningnivå.!- Har du kopplat lysdioden till en oanvänd NAND-grind?!!• Utsignalen lyser inte när ab = 10!- Glapp i den rödmarkerade sladden?

1

0

0

odef 0

20(45)20(45)

TSEA22 Digitalteknik

&

Vidare på "Komb2"!!Adderare!!Tag två signaler (xn xn-1 ... x2, x1, x0),

(yn yn-1 ... y2, y1, y0) som

representerar binära tal.!Bilda summan av dem.

21(45)21(45)

TSEA22 Digitalteknik

&

xn xn-1 ... x2, x1, x0

ADD

yn yn-1 ... y2, y1, y0

sn sn-1 ... s2, s1, s0

22(45)22(45)

TSEA22 Digitalteknik

&

Adderare med flera bitar!!Addera 2-bitarstal!!In: x1, x0, y1, y0!Ut: u2, u1, u0!!Fullt lösbart med tre Karnaughdiagram!!!Tre bitar? Fyra 6-variabels Karnaughdiagram!!Fyra bitar? Fem 8-variabels Karnaughdiagram!!Men jag vill ju addera 32 bitar...

23(45)23(45)

TSEA22 Digitalteknik

&

Lösning: Bryt ner problemet i delsteg! Sekvens av 1-bits-adderare!!!"Halvadderare": Adderar två enbitarstal. Ger två bitar ut.!"Heladderare": Adderar tre enbitarstal Ger två bitar ut.

Men, problemet har en iterativ struktur!!!Addera en siffra i taget, samma sak i varje steg! I basen 10:!!Si = (Xi + Yi + minnessiffra Ci) mod 10!Ci+1 = (Xi + Yi + minnessiffra Ci) div10

24(45)24(45)

TSEA22 Digitalteknik

&

FA

xiyi

ci

si

ci+1

=1xi

yi

=1 si

&

&≥1 ci+1

ci

&

xi

yi

xi

ci

yi

ci

Heladderaren

25(45)25(45)

TSEA22 Digitalteknik

&

Så nu kan jag addera godtyckligt stora tal!

c1 FA

x0y0

s0

FA

x1y1

s1

FA

x2y2

s2

FA

x3y3

s3

FA

x4y4

s4

Trodde jag...

FA

x5y5

s5

c2c3c4c5c6 c0

26(45)26(45)

TSEA22 Digitalteknik

&

Problem: Tidsfördröjning!!Det tar en viss liten tid att ställa om en grind.!!Med 2-3 grindar djup: Inget problem.!!Men med en 64-bitarsadderare...?

27(45)27(45)

TSEA22 Digitalteknik

&

Grinddjup för adderare:!!2 för carry (2 steg AND)!3 för summa (2 steg XOR kräver extra

inverterare)!Ger 2(n-1) + 3 = 2n+1 grindars djup för n bitar.

28(45)28(45)

TSEA22 Digitalteknik

&

Lösning: Carryaccelerator:!!Gör ett grindnät som beräknar enbart carry för

ett antal bitar.

29(45)29(45)

TSEA22 Digitalteknik

&

c1 FA

x0y0

s0

FA

x1y1

s1

FA

x2y2

s2

FA

x3y3

s3

FA

x4y4

s4

c2c3c4

c5

c0

Carryaccelerator

Carryacceleratorn är ett vanligt grindnät, 2 nivåer plus inverterare.

30(45)30(45)

TSEA22 Digitalteknik

&

Aritmetisk logisk enhet (ALU)!!Större krets som kan utföra flera olika aritmetiska och logiska operationer på flerbitarstal.!!Ingår i alla CPUer.!!Enkel CPU: Mikrokod (programkod) anger register som in- och utsignaler till en ALU. Dessutom flyttningar av data till och från minne.

31(45)31(45)

TSEA22 Digitalteknik

&

74181!!ALU i en TTL-kapsel!!Kan en massa logiska och aritmetiska operationer i 4-bitarsgrupper:!Addition, subtraktion, inkrement, dekrement, AND, OR, NOT...!och detta är en liten krets idag.

SN54/74LS181

FUNCTION TABLEMODE SELECT

INPUTSACTIVE LOW INPUTS

& OUTPUTSACTIVE HIGH INPUTS

& OUTPUTS

S3 S2 S1 S0LOGIC(M = H)

ARITHMETIC**(M = L) (Cn = L)

LOGIC(M = H)

ARITHMETIC**(M = L) (Cn = H)

L L L L A A minus 1 A AL L L H AB AB minus 1 A + B A + BL L H L A + B AB minus 1 AB A + BL L H H Logical 1 minus 1 Logical 0 minus 1L H L L A + B A plus (A + B) AB A plus ABL H L H B AB plus (A + B) B (A + B) plus ABL H H L A B A minus B minus 1 A B A minus B minus 1L H H H A + B A + B AB AB minus 1H L L L AB A plus (A + B) A + B A plus ABH L L H A B A plus B A B A plus BH L H L B AB plus (A + B) B (A + B) plus ABH L H H A + B A + B AB AB minus 1H H L L Logical 0 A plus A* Logical 1 A plus A*H H L H AB AB plus A A + B (A + B) plus AH H H L AB AB plus A A + B (A + B) Plus AH H H H A A A A minus 1

L = LOW Voltage Level!H = HIGH Voltage Level* *Each bit is shifted to the next more significant position

**Arithmetic operations expressed in 2s complement notation

22 21 20 19 18 17

1 2 3 4 5 6 7

24 23

8

VCC

B0

A1 B1 A2 B2 B3A3 G

A0 S3 S2 S1 S0 Cn M9 10 11 12

F0 F1 F2 GND

16 15 14 13Cn+4 A=BP F3

24

1

32(45)32(45)

TSEA22 Digitalteknik

& Datorsystem

CPU!Centralenhet

Minne(RAM)!Program och

data

In/Ut-enheter

ALU Instruktions-!avkodare

x y

u

CPU

Register

Till huvudbussen

Instruktioner:!!Läses från RAM!!Ladda register från RAM!Skriv register till RAM!Lägg A+B i C!Hoppa till adressen X

ABCD

Intern buss

Instruktionsräknare

Instruktionsregister

33(45)33(45)

TSEA22 Digitalteknik

& Grinddelning!!Två delnät i samma konstruktion kan ibland innehålla samma grindar!

00 01 11 10

00

01

cd

ab

0 0 10

0 0 01

0 0 11

1 1 00

11

10

00 01 11 10

00

01

cd

ab

0 1 10

0 1 01

0 0 11

0 0 00

11

10

y1 y2

34(45)34(45)

TSEA22 Digitalteknik

&

&

&≥1 y1

&

&a

cb

a

cb

b

dc

a

cb

d

&

&≥1 y2

&

&a

dc

a

cb

b

dc

a

cb

d

De två funktionerna kan nu realiseras med tre grindar färre

35(45)35(45)

TSEA22 Digitalteknik

&

Nyttan av optimeringarna!!• Diskreta grindar: Färre komponenter.!!• Programmerbar logik: Lättare att få plats i kretsen!!!• ASIC: Lättare att få plats på chipytan, lägre effekt.

36(45)36(45)

TSEA22 Digitalteknik

& Hasard, kapplöpning!!Tidsförskjutningar kan ge egendomliga effekter

& z1

& z21

a

b

≥1 y

"Glitch" i utsignal

z1 och z2 momentant 0

c

ab

z1

z2

y

c

37(45)37(45)

TSEA22 Digitalteknik

&

"Statisk 1-hasard"

"Statisk 0-hasard"

"Dynamisk hasard"!"Fladder" vid övergång mellan 1 och 0

Felaktigt värde när signalen inte skall ändras.

Typer av hasard

38(45)38(45)

TSEA22 Digitalteknik

&Åtgärd av hasard!!"Onödiga" grindar för att "lappa hålet"!!Följande löser problemet förut:

Jo, det finns faktiskt fall då det kan vara värt att ha extra grindar!

& z1

& z2

1

a

b

≥1 yc

&

0 0 10

0 1 11a

bc

39(45)39(45)

TSEA22 Digitalteknik

&I 0I 1I 2

O1O2O3 O0

Källa: http://www.eng.ucy.ac.cy/theocharides/Courses/ECE210/PLDs.pdf

Programmerbar logik:!!PROM, PLD, FPGA...!!Ersätter oftast diskreta grindar.!!Optimera för att utnyttja den så väl som möjligt.

40(45)40(45)

TSEA22 Digitalteknik

&

PROM!!Lagrar ett ord per kombination av insignaler.!!Kan ses som en lagring av data.!!Kan också ses som en krets där vi programmerar in sanningstabellen direkt i kretsen.!!!Ett alternativ som ofta bör övervägas.

xyc

0 0!0 1!0 1!1 0!0 1!1 0!1 0!1 1

c+ s

Exempel: Heladderare

41(45)41(45)

TSEA22 Digitalteknik

&

Paritetkrets!Felupptäckande och felrättande kod!!Felupptäckande av enkelfel (en bit) enkelt!!Bättre koder kan rätta fel av en storlek och upptäcka fel av en annan.!!Mycket stor sak i osäkra lagringsmedia eller osäker dataöverföring!

d0

d1=1

=1d2

=1d3

=1d4

=1d5y

En serie av XOR räknar udda/jämnt!Ger paritetsbit. Testa med denna efter transmission/läsning.

42(45)42(45)

TSEA22 Digitalteknik

&

Varför måste jag koppla in Vcc och GND hela tiden?

Vad blir utspänningen om Vcc och GND inte är anslutna?

Svar: Det beror på kretsen - som vi oftast inte har så mycket insikt i!

Ett par ord om elektroniken:

43(45)43(45)

TSEA22 Digitalteknik

&

Pull-up-motstånd!!Vanligt trick i digitalteknik!!Ett motstånd drar svagt åt noll eller ett.

Kondensator på reset!!Vissa kretsar har en nollställningsport, som bör aktiveras vid uppstart. En kondensator kan ge en kort puls.

Vcc

u

Vcc

u

44(45)44(45)

TSEA22 Digitalteknik

&

NÄSTA FÖRELÄSNING!!Vippor!Sekvenskretsar

45(45)45(45)