Mattias Krysander Ingemar Ragnemalmsn54/74ls181 function table mode select inputs active low inputs...
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
&
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
&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)