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