IE1204_5. Digital Design.
Presentationerna från läsåret 2013-2014

Detta är en sparad kopia av presentationerna från läsåret 2013-2014. Presentationerna kan därefter ha rättats, eller förbättrats, så använd alltid de senaste presentationerna när Du läser in kursen inför tentamen!

 TableOfContent.pdf

Innehåll

Introduktion digitalteknik. Binära tal.

 F1intro.pdf
Digital Design - överallt
40-100 mikroprocessorer i en bil, utvecklingen av elektroniken
Varför är digitaltekniken så framgångsrik?
Enkelhet, störningssäkerhet
Analogt/digitalt, sampling
Strörningsokänslighet. Fånga data fortfarande kritiskt.
Mer snart i kursen ...
Boolesk algebra, axiom, räknelagar
Kontaknät är den tekniska bakgrunden.
Numera grindar. Bara en grindtyp! CMOS NAND ...
Minnesfunktioner - CMOS NAND.
See-of-Gates
Hur konstruerar man med en miljard grindar?
CAD-verktyg, Hårdvarubeskrivande språk. Designprocessen.
Binära tal
Decimala talsystemet. Binära talsystemet. Oktala talsystemet. Hexadecimala talsystemet.
Omvandling mellan decimala och binära tal.

Logiska funktioner, grindar och kretsar. Boolesk algebra.

 F2grindar.pdf
Switch, implementering av logiska funktioner.
AND, OR NOT.
Sanningstabell.
Logiska grindar. AND, OR, NOT
Grindnätets funktion? Tidsdiagram, Sanningstabell.
Flera grindnät kan implementera samma funktion.
Booles algebra, axiom.
Venn-diagram.
Booles algebra räknerlagar. Dualitetsprincipen.
Räknelagar med fler variabler.
Ex. 17 a) Koncensuslagen.
Olika notation.
Analys och syntes.
Sanningstabell (verklighet - gissning).
Logisk funktion - implementering med grindar
Minimera med Booles algebra - mycket enklare implementering.
Mintermer och Maxtermer
SP och PS form. Dualitet.
NAND - NOR
Komplett logik - bara en typ av grind behövs.
De Morgans teorem - bubbelgrindar.
Inverterare med NAND. AND, OR - logiska funktioner med bara NAND.
Universella mängder av grindar.
XOR och XNOR.
Exempel - trevägs ljuskontroll.

Bin-Hex-Okt. Booles algebra räknelagar. Venndiagram. Grindar.
Mintermer, Maxtermer. SP, PS -form, komplett logik. Sanningstabell och tidsdiagram.

 DigDesO1.pdf
Dec - Bin - Hex - Okt.
Ex. 1.1c Dec till Bin.
Ex. 1.2a Bin till Dec.
Ex. 1.3c Bin/Okt/Hex
Ex. 3.2 De Morgans lag med Venn-diagram.
Ex. 5.1 minterm
Ex. 3.3a Sanningstabell - mintermer - förenklat uttryck
Ex. 4.1 a, b, c, h Booles algebra
Ex. 4.4 De Morgans lag.
Ex. 4.5 a grindtyper
Ex. 4.7 Tidsdiagram och sanningstabell.
Ex. 4.12 Från text till Booleska ekvationer.
Ex. 5.2, Ex. 5.3 SP och PS normalform.
Ex. 5.5 NAND-grindar.
Ex. 4.11 grindsymbolerna.

CMOS. Integrerade Kretsar (7400-serien).

 F3cmos.pdf
Transistorn en switch utan rörliga delar.
P och N -typ. CMOS-kretsarnas struktur.
CMOS-inverterare. spänningsnivåer (instabil punkt).
CMOS - dynamisk förlusteffekt.
NAND-grind, NOR-grind.
Three-state.
Transmissionsgrind - pass-gate.
MUX - implementering - transmissionsgrind.
XOR - implementering - transmissionsgrind.
Grindfördröjningar. Kapacitiv last.
Optimerade strukturer.
FAN-out (buffer) och FAN-in (trädstruktur).
Critical path.
Lookup-table, ex XOR.
74-serien standardkretsar.
CMOS - strömsnålt?

Kombinatoriska nät. Karnaugh-diagram. Tvånivå minimering. Flernivå minimering.

 F4minimering.pdf
Funktion (OR) med mintermer. Minimering med algebra.
Funktion (OR) med maxterm.
Funktion (OR) minimering med Venn-diagram.
Grafisk minimeringsmetod.
Boolesk talrymd. Hyperkuber.
Ex. 3.4 Kubrepresentation. Minimering med kub.
Gray-koden.
3D-kub - 2D-diagram.
Karnaugh-diagrammet
Grannar, hoptagningar av 1:or.
Hoptagningar av 0:or.
Minimeringsexempel. Prim- essentiell- redundant- implikanter.
Tvånivåminimering. Sub-kub. XOR/XNOR.
Karnaughdiagram med 5 och 6 variabler.
Användning av Don't care.
Flernivå minimering.
Faktorisering.
Funktionell dekomposition.

Digital aritmetik: Talrepresentation heltal. Olika adderare.
Addition och Subtraktion. Komparator. Design trade-offs.

 F5aritmetik1.pdf
Heltal, sign-magnitude, ett-komplement, två-komplement.
Talkonvertering, snabbt, tecken utvidgning, signextension
Additionsexempel. 5+2, 5-2. Overflow 5+5, -5-5.
subtraktion = addition med tvåkomplementet.
Detektera overflow med två carrybitar.
Halvadderaren. Heladderaren.
Udda paritetsfunktionen.
Heladderare med två halvadderare.
Trevägs ljuskontroll - revisited (paritetsfunktionen).
Paritetscheck.
Ripple-Carry-adderaren. NAND-grindar för carry-funktionen.
XOR med NAND-grindar.
Snabbare adderare. Generate och Propagate funktionerna.
Carry look ahead adderaren.
Hierarkisk expansion.
Carry select adderare.
ADD/SUB-enhet. ALU. Komparator.

Digital aritmetik: Multiplikation och division.
Talrepresentation: fixed-point och floating-point.

 F6aritmetik2.pdf
Multiplikation av två positiva heltal.
Multiplikation med teckenbit.
Multiplicera enbart positiva tal, efterjustera tecknet.
Hårdvara för multiplikation av två positiva tal.
Carry Save multiplikatorn.
Multiplikation och division med tvåpotenser.
Barrelshifter.
Division mellan positiva heltal. Kvot och rest.
Dividerare - hårdvara.
Division med negativa heltal. Använd positiva tal och efterjustera resultatet.
Skillnaden mellan logiskt och aritmetiskt skift.
Fix-tal. Q-formatet.
Flyttal. IEEE-754.
Addition med flyttal, Multiplikation/Division med flyttal.
Hårdvara för flyttalsoperationer, flyttalsenhet.

Karnaughdiagrammet. Minimera med K-map. Don't Care-termer. Ex. nivåindikator för vattentank.
CMOS-grindar. Threestate-grind. PULL-up och PULL-down nät.

 DigDesO2.pdf
Ex. 6.1, 6.2 Karnaughdigrammet.
Ex. 6.4 från NOR till NAND.
Ex. 6.5 Minimera med K-map.
Ex. 6.8 Don't care.
Ex. 8.2 Nivå i vattentank.
Ex. 7.3 CMOS-grind.
Ex. 7.4 Three-state grind.
Ex. 7.5 Pull-up nät och Pull-down nät.

Multiplexer och demultiplexer, encoder och decoder.
Shannon dekomposition. Introduktion till VHDL.

 F7kombinatorikkretsar.pdf
PLD-kretsar - fan-in är begränsande. Lösningen MUX-tree.
Logiska funktioner med MUX. NOT AND OR XOR.
Hiearkier av MUXar.
Shannon dekomposition.
MUX-networks - Look-up table.
Dekoder, Demultiplexor, ROM, Encoder, Kodomvandlare, Kodkonverterare.
VHDL introduktion.
Entity, Architecture. Beskrivningsstilar: Strukturell, Sekvensiell, Dataflöde.
Port, datatyper, signaler.
Generate. Testbänk.

Kodomvandlare. Grinddelning i PLA-krets. Reella tal med binärpunkt.
Negativa tal som 2-komplement. Register som talring. Heladderare, Subtraherare.
Multiplikation och division. Flyttalsformat. Tal-jämförare, flaggor. Carry-save multiplikator.

 DigDesO3.pdf
Ex. 8.4 Kodomvandlare 7-4-2-1 kod. Grind-delning i PLA.
Reella tal.
Ex. 1.2b omvandling av binärt reellt tal till decimalt.
Tvåkomplement, registeraritmetik. Olika registerlängder.
Ex. 1.8 tvåkomplement notation.
Ex. 2.2 Subtraktion med tvåkomplementmetoden.
Ex. 2.3, 2.4 Multiplikation och division.
Flyttal.
Ex. 2.5 lagring av flyttal.
BV Ex. 5.10 Komparatorkrets.
BV Ex. 5.12 Multiplikationskrets - Carry-save.

Shannon dekomposition. FPGA-cell med LUT och mux heladderare respektive paritetsfunktion.
Barrel shifter. Ex. ACTEL FPGA-block. VHDL logiska funktioner.

 DigDesO4.pdf
Ex. 8.6 4-1 MUX som OR-funktionsgenerator.
BV 6.1 realisera funktion med dekoder.
Ex. 8.7 Majoritetsfunktion, grindnät, 8-1 MUX, 2-1 MUX + grindar, bara 2-1 MUXar.
BV. 6.5 funktion med 2-1 MUX + grindar.
Ex. 8.8, 8.9 FPGA-cell som Heladderare och som Paritetsfunktion.
BV. 6.31 Shifter with MUX.
BV. 6.32 Barrelshifter.
BV. 6.16 Function with Actel ACT1 logic module.
BV. 2.51a VHDL functions.
BV. 6.21 VHDL ebcoder.
Konstruera med MUX och grindar.

Minneselement: Latchar och vippor. Räknare.

 F8vippor.pdf
MUX med "självhållning". D-latch.
Grindarnas låsande insignaler. SR-latch med NOR-grindar.
Latch med NAND-grindar.
D-latch med SR-latchen.
Setup & Hold-time
Register - inverterade utsignaler.
Varannan gång - går inte med Latch.
Klockade vippor - Master-Slave vippan.
Flanktriggad D-vippa.
Ex. Skillnaden mellan låskretsar och klockade vippor.
Varannan gång med D-vippa.
Clear och Preset. Synkron/Asynkron reset.
JK och T-vippa. Konstrueras med D-vippa.
Timinganalys - vad är maximala klockfrekvensen.
Skiftregister.
Räknare. Asynkron rippleräknare, Synkron räknare.
VHDL för vippor och låskretsar.
Process. Latch, D-vippa, synkron reset, asynkron reset. Räknare.

Synkrona sekvensnät: Tillståndsmaskiner. Moore och Mealy automat.

 F9fsm1.pdf
Moore automat.
Tillståndsregister D-vippor.
Designexempel "två i rad"
Tillståndsdiagram, Tillståndstabell
Tillståndskod. Kodad tillståndstabell.
Nästa tillståndsavkodaren. Från kodad tillståndstabell till K-map.
Utgångsavkodare. Implementeringen.
Tidsdiagram.
Med övningshäftets beteckningar och uppställning.
Mealy automat.
Tillståndsdiagram-Mealy, Tillståndstabell, Kodad tillståndstabell.
Implementering. Tidsdiagram.
Mealy med utgångsregister. Tidsdiagram med utgångsregister.
Val av tillståndskodning.
Binärkod, Gray-kod, OneHot.

Låskretsar och vippor. SR-latch. D-vippa. T-vippa. JK-vippa. Vippans tidsparametrar.
Asynkron/Synkron binärräknare. Upp/Ner-räknare. Multifunction-shiftregister.

 DigDesO5.pdf
Ex. 9.1 SR-latch, tidsdiagram.
Ex. 9.4 toggla med D-vippa
Ex. 9.3 Tidsdiagram för D-vippa.
Ex. 9.5 Universalvippan JK-vippan som D och T.
Ex. 9.6 D-vippans tidsparametrar.
BV. 7.5 Asynkron räknare
BV. 7.16 Up/Down with T-flipflops
BV. 7.17 Up/Down with D-flipflops
BV. 7.13 Multifunction Shift-register.
BV. 7.24 Maximum clockfrequency for counter.

Tillståndsminimering, Analys, ASM-Charts, Formell FSM-modell

 F10fsm2.pdf
Moore/Mealy input-output.
Överblivna tillstånd.
Reset-generator chip.
Ex. Räknare {0,1,2}, {3?}
Ta hand om {3}-tillståndet. Slutgiltigt tillståndsdiagram.
Tillståndsminimering.
En enkel metod - ej den optimala metoden som CAD-vertygen använder.
Ex. Tillståndsminimering. "Inte ekvivalenta tillstånd".
Olika utgångsvärden. Något följdtillstånd har olika utgångsvärden.
Partitionering till grupper som skulle kunna vara ekvivalenta.
När ingen ytterligare partionering är möjlig är tillstånden minimerade.
Värdet av tillståndsminimering.
Analys av sekvensnät.
Tänk Mooreautomat, analysera grindnäten.
Karnaughdiagram - nästa tillståndsavkodare - kodad tillståndstabell.
Okodad tillståndstabell - tillståndsdiagram.
ASM charts.
"2 i rad" som ASM-chart, Moore-typ, Mealy-typ.
Formell matematisk modell för tillståndsautomat.

Flaskautomat, Tillståndsminimering - dagisversionen.

 flaskautomat.pdf
 StateMini.pdf

Programmerbar logik. Konstruktion av sekvensnät i VHDL.

 F11fpgaVHDL.pdf
PLD-struktur. PLA-struktur. PAL-struktur.
PLD makrocell.
CPLD MAX, JTAG-port.
FPGA. Struktur. LUT, logiskt block. Förbindelsematris.
ASIC, gate array. Full custom.
Sekvenskretsar med VHDL.
Processer i VHDL. Nästa-tillståndsavkodare, utgångsavkodare, tillståndsregister.
Interna signaler. Nuvarande tillstånd, nästa tillstånd.
Ex. Flaskautomaten i VHDL.

Tillståndsmaskiner. Moore-automat, Mealy-automat.
Analys. Beskrivning. Olika tillståndskodning, bin, gray, oneHot.
Asynkron återställning. Tillståndsdiagram - asm-chart.

 DigDesO6.pdf
Ex. 10.1, Ex. 10.2 analys av krets.
(Ex. 10.4 stopptillstånd, förlusttillstånd eller isolerat tillstånd)
Ex. 10.5 beteende utifrån tillståndsdiagrammet.
Ex. 10.6 Moore-automat "tre i rad".
Ex. 10.7 olika tillståndskod. Reset.
Ex. 10.8 Räknare, nästa tillståndsavkodarens ekvationer.
BV. 8.36 ASM chart.
Ex. 10.10 Tillståndsminimering.

Asynkrona sekvensnät: analys, syntes, tillståndsminimering, tillståndskodning.

 F12asyFSM1.pdf
Endast en insignal ändras åt gången - gyllene regeln.
SR-latch med NOR-grindar. Fördröjningsblock i stället för D-vippa.
Tillståndsfunktion. Tillståndstabell = Flödestabell. Stabila tillstånd.
Kodad tillståndstabell = Exitationstabell.
Flödestabell och tillståndsdiagram, Moore.
Flödestabell och tillståndsdiagram, Mealy.
Asynkrona sekvensnät Moor-kompatibla, Mealy-kompatibla.
Analys. D-latch, Master-Slave D-vippa,
Flödestabell - omöjliga tillståndsövergångar. D-vippans tillståndsdiagram.
Syntes.
Ex. "varannangång krets"
Skapa tillståndsdiagram. Flödestabell.
Vad är bra tillståndskod. Hammingavstånd "1".
ex. bra och dålig tillståndskodning.
Problem med icke stabila tillstånd.
Lösning, övergångstillstånd.
Extra tillstånd - fler dimensioner, hyperkuber.
Karnaughdiagrammen - Hazard-cover (mer senare).
Färdig krets.
Tillståndsminimering, asynkront sekvensnät.
Bilda ekvivalensgrupper - minimera ekvivalensgrupper.
Kompatibilitetsgrupper (antingen Moore eller Mealy).
Sammanslagningsdiagram
BV. 9.8 Illustrativt exempel.

Asynkrona tillståndsmaskiner, kapplöpning, fullständig primimplikatorform.
Analys SR-låskrets. Syntes av DETFF-vippa. Analys - vippa.

 DigDesO7.pdf
Ex. 11.1 Glitchar - hazard cover.
Ex. 11.2 Analys SR-latch.
Ex. 11.3 Ringoscillator.
Ex. 11.4 krets - dubbelflank vippa
Ex. 11.5 Syntes av DETFF.
Möjliga in+ut kombinationer. DETFF sanningstabell.
Flödestabell.
Tillståndsminimering. Minimerad flödestabell.
Tillståndskodning. Exitationstabell.
Karnaughdiagram. Nästa tillståndsavkodarens ekvationer.
Ex. 11.6 Analysera grindnät. Vilken vippa är det?

Asynkrona sekvensnät: hasard, metastabilitet, asynkrona ingångar, konstruktionsuppgift.

 F13asyFSM2.pdf
Hazard, spikar.
Olika typer av hazard.
statisk hazard. Dynamisk hazard.
När har hazard betydelse? - utgångsspikar.
Metastabilitet. Setup and Hold time (= metastabilitets-skydd)
Synkronisering av insignaler.
Konstruktion av set-dominant SR-latch

Halvledarminnen. Mikrodatorns uppbyggnad.

 F14minnen.pdf
ROM, implementering av kombinatoriska funktioner.
ROM, implementering av sekvenskrets.
RAM, SRAM, DRAM.
FLASH, EEPROM, EPROM.
Mikroprocessorn.
Registerelement, Register.
Program-räknare
Dubbelriktat register, databuss, tvåportsregister.
Register file.
Möjligt instruktionsformat.

Adressavkodning av ROM och SRAM och I/O.
Kombinatoriskt nät med 5 variabler. Kodomvandlare - binär kvadrerare. Styr stegmotor med graykods-räknare. Algorithmic State Machine ASM.

 DigDesO8.pdf
Ex. 12.1 Dynamiskt minne.
Ex. 12.2 Avkodning av ROM SRAM.
Ex. 12.3 avkodning av I/O.
Tentamensrepetition.
Ex. 6.10 Kombinatoriskt nät med 5 variabler.
Ex. 8.1 Binär kvadrerare.
Ex. 10.9 Stegmotorstyrning.
Algorithmic State Machine ASM.
BV. 10.5 Dividerare med succesiva subtraktioner.
algoritm (pseudokod) - ASM-diagram.
Dataflödes-schema (datapath) - detaljerat ASM diagram
. Designa styrlogik.



Tillbaka ]

© William Sandqvist    william@kth.se