You are on page 1of 22

FTN Novi Sad

Merni instrumenti - Digitalna elektronika

1.UVOD

dr Zoran Mitrovi

Merni instrumenti - Digitalna elektronika Uvod


Uvod

ta je projektovanje logikih kola (logiko projektovanje)? ta je digitalni hardver? Bulova algebra, minimizacija logikih funkcija, statika (za kombinaciona kola) i dinamika (za memorijska kola) analiza, kompjutersko projektovanje Analogna su promenljivama i programabilnim brojaima u softveru

Jezik logikog projektovanja

Kombinaciona kola u digitalnim sistemima

Kako da specificiramo/simuliramo/prevedemo na dizajn


Jezici za opis hardvera (Hardware description languages HDL) Alati za simulaciju rada elektronskih kola i sistema Kompajleri koji vre sintezu hardverskih blokova naeg dizajna Mapiranje u programabilni hardver (generisanje koda)

15-Mar-07

Merni instrumenti - Digitalna elektronika 2

Gde logiko projektovanje nalazi primenu?


Standardni razvoj raunarskih sistema
Procesori, raunarske magistrale, periferije Telefoni, modemi, ruteri

Mree i komunikacije Proizvodi za ugradnju u druge sisteme Oprema za naune primene Razni raunarski sistemi

Automobili, igrake, muzike linije, DVD plejeri, razni kuni aparati Testiranje, prihvat raznih informacija, izvetavanje

15-Mar-07

Merni instrumenti - Digitalna elektronika 3

Kratak istorijat
1850: Dord Bul (George Boole) daje osnove bulove algebre
Logike jednaine predstavljaju se simboliki Omoguena je manipulacija logikim izrazima korienjem matematike

1938: Klod enon (Claude Shannon) povezuje bulovu algebru sa prekidaima


Njegova magistarska teza

1945: Don fon Nojman (John von Neumann) razvija prvi raunarski program koji je bio memorisan
Prekidaki elementi su vakuumske cevi (velika prednost u odnosu na relea) 18,000 vakuumskih cevi Nekoliko stotina mnoenja u minuti

1946: ENIACprvi elektronski raunar 1947: okli, Britein i Bardin (Shockley, Brittain, Bardeen) pronalaze tranzistor
zamena za vakuumske cevi integracija vie tranzistora u jedno pakovanje otvorena vrata ka modernoj elektronici

15-Mar-07

Merni instrumenti - Digitalna elektronika 4

ta je logiko projektovanje?
ta je projektovanje (dizajn)?

Za zadatu specifikaciju (opis) problema dati nain da se on rei izborom iz skupa raspoloivih komponenti Zadovoljiti zahteve za veliinom, cenom, snagom, izgledom, itd.

ta je logiko projektovanje?

Definisanje skupa digitalnih logikih komponenti koje e obavljati odreenu funkciju upravljanja i/ili obrade podataka i/ili komunikacije; definisati meusobne veze Koje logike komponente izabrati? postoji mnogo tehnolokih implementacija logikih funkcija (npr. komponente sa fiksnom funkcijom, programabilne komponente,...) Projekt treba da se optimizuje i/ili transformie da bi zadovoljila odreena zadata ogranienja

15-Mar-07

Merni instrumenti - Digitalna elektronika 5

ta je digitalni hardver?
Skup sklopova koji prihvataju i odreuju koja je logika vrednost (0 ili 1) i/ili veza koje prenose digitalne (logike) vrednosti npr. digitalna logika gde se napon < 0.8V smatra logikom nulom (0), a napon > 2.0V smatra logikom jedinicom (1) npr. par provodnika gde se 0 i 1 prepoznaju po tome koji provodnik ima vii potencijal (diferencijalni prenos) ili, npr. da orijentacija magnetizacije oznaava 0 ili 1 Primitivni sklopovi digitalnog hardvera logiki raunarski sklopovi (koji prepoznaju logiki nivo i daju pobudu za sledei stepen) oba provodnika na 1 daju pobudu takoe 1 (logiko I) bar jedan provodnik na 1 daje pobudu 1 (logiko ILI) ako je provodnik na 1 daje pobudu 0 (logiko NE) Memorijski sklopovi ulazni nivo pamenje logike vrednosti pobuda log. I pozivanje iz memorije prethodno upamene vrednosti ulazni nivo
Merni instrumenti - Digitalna elektronika 6

15-Mar-07

Raunanje: apstraktno i implementacija


Raunanje kao mentalna razonoda (papir, programi) nasuprot tome implementacija raunanja sa fizikim sklopovima koristei napone koji predstavljaju logike vrednosti Osnovne jedinice raunanja:
predstavljanje: dodela vrednosti: raunske operacije: upravljanje tokom programa: sekvenca: uslovi: petlje: procedure: "0", "1" na jednom ili vie provodnika (npr. binarni brojevi) x = y x+y5 A; B; C if x == 1 then y for ( i = 1 ; i == 10, i++) A; proc(...); B;

Nauiti kako se navedeno implementira u hardveru i sklapa u raunarske strukture


15-Mar-07
Merni instrumenti - Digitalna elektronika 7

Prekidai: osnovni elementi fizike implementacije


Implementacija prostog kola (strelica pokazuje logiko stanje provodnika 1):
A Z zatvaranje prekidaa (ako je A = 1 ) i ukljuivanje sijalice (Z)

Z otvaranje prekidaa (ako je A = 0) i iskljuivanje sijalice (Z)

Z A
15-Mar-07
Merni instrumenti - Digitalna elektronika 8

Prekidai (nastavak)
Povezivanje prekidaa u sloenija kola (bulove funkcije): I
A B

Z AiB

ILI

Z A ili B
B

15-Mar-07

Merni instrumenti - Digitalna elektronika 9

Prekidake mree Postavljanje prekidaa

Odrediti da li postoji provodni put koji e upaliti sijalicu Koristiti sijalicu (izlaz iz jednog dela mree) da se ukljue drugi prekidai (ulazi drugih delova mree). Konstruisati sloenije prekidake mree, tj. postoji nain da se poveu izlazi jedne mree sa ulazima druge

Izgraditi sloenije raunske operacije Povezati prekidake mree

15-Mar-07

Merni instrumenti - Digitalna elektronika 10

Relejne mree
Jednostavan nain da se povee provodni put i stanje prekidaa je korienjem (elektromehanikih) relea. ta je rele?

provodni put koji se sastoji od jednog ili vie ukljuenih prekidaa struja tee kroz namotaj, magnetie jezgro i prouzokuje da se normalno zatvoreni kontakti (nc) otvore kad nema struje, opruga vraa kontakte u normalni poloaj
15-Mar-07
Merni instrumenti - Digitalna elektronika 11

Tranzistorske mree
Relea se sve manje koriste

Neki ormani za kontrolu rada semafora su jo uvek elektromehaniki MOS je Metal-Oxide on Semiconductor C je oznaka za komplementarni, jer postoje i normalno zatvoreni i normalno otvoreni prekidai

Moderni digitalni sistemi se rade u CMOS tehnologiji

MOS tranzistori se ponaaju kao naponski kontrolisani prekidai


Slini releima, ali mnogo laka manipulacija

15-Mar-07

Merni instrumenti - Digitalna elektronika 12

MOS tranzistori
MOS tranzistori imaju tri prikljuka: drejn, gejt i sors

oni se ponaaju kao prekidai: ako je napon na gejtu (zavisno od tipa tranzistora) neto vii ili nii od napona na sorsu, uspostavlja se provodni put izmeu drejna i sorsa G G S D S D

n-kanal otvoren kad je napon na G nizak zatvara se kad je: napon(G) > napon (S) +

p-kanal zatvoren kad je napon na G nizak otvara se kad je: napon(G) < napon (S)

15-Mar-07

Merni instrumenti - Digitalna elektronika 13

MOS mree

X 3v Y 0v

koja relacija definie vezu x i y? x 0V 3V y

15-Mar-07

Merni instrumenti - Digitalna elektronika 14

Mree sa dva ulaza


X 3V Z 0V X 3V Z 0V
15-Mar-07
Merni instrumenti - Digitalna elektronika 15

koja relacija definie vezu x, y i z?


x 0V 0V 3V 3V y 0V 3V 0V 3V z

Brzina MOS mrea


ta utie na brzinu CMOS mrea?

punjenje i pranjenje napona na provodnicima i gejtovima tranzistora

15-Mar-07

Merni instrumenti - Digitalna elektronika 16

Predstavljanje logikog projektovanja


Fiziki sklopovi (tranzistori, relea) Prekidai Kombinacione tabele bulova algebra Gejtovi (logika kola) Talasni oblici Ponaanje konanih stanja Ponaanje registar-transfer Konkurentne apstraktne specifikacije
15-Mar-07
Merni instrumenti - Digitalna elektronika 17

obim kursa digitalne elektronike u okviru Elektronike 2

Digitalna i analogna kola


O digitalnim sistemima obino se razmilja kao da imaju samo diskretne, digitalne, ulazne i izlazne vrednosti U stvarnosti realne elektronske komponente se ponaaju kao da imaju analogna, kontinualna stanja behavior Zato pravimo ovakvu apstrakciju?

Zato ona, ipak, funkcionie?

15-Mar-07

Merni instrumenti - Digitalna elektronika 18

Mapiranje iz fizikog u binarni svet


Tehnologiija Relejna logika CMOS logika Stanje 0 Otvoreno kolo 0.0-1.0 V 0.0-0.8 V Svetlo iskljueno Ispranjen kondenz. Zarobljeni elektroni Osigura spaljen Nema zareza Stanje 1 Zatvoreno kolo 2.0-3.0 V 2.0-5.0 V Svetlo ukljueno Napunjen kondenzator Nema zarobljenih elektrona Osigura netaknut Magnetni mehuri postoji Fluks obrnut Zarez

Fiber optika Dynamike RAM memorije

Tranzistor tranzistor logika (TTL)

Programabilne ROM memorije Magnetni diskovi Kompakt diskovi

Elektrino brisive memorije (EEPROM)

Memorije sa magnetnim mehuriima Nema magnetnog mehuria Nema obrtanja fluksa

15-Mar-07

Merni instrumenti - Digitalna elektronika 19

Kombinaciona i sekvencijalna digitalna kola


Jednostavan model digitalnog sistema je crna kutija sa ulazima i izlazima:
ulazi sistem izlazi

Kombinaciona znai bez memorije"

digitalno kolo je kombinaciono ako njegove izlazne vrednosti zavise samo od ulaznih vrednosti

15-Mar-07

Merni instrumenti - Digitalna elektronika 20

Kombinacioni logiki simboli


esto koriena kombinaciona logika kola imaju standardne logike simbole koji se nazivaju gejtovima
Bafer, NE, (Buffer, NOT)
A Z

I, NI, (AND, NAND)


A B Z

ILI, NILI, (OR, NOR)


A B Z

jednostavno se implementiraju pomou CMOS tranzistora

15-Mar-07

Merni instrumenti - Digitalna elektronika 21

Sekvencijalna logika
Sekvencijalni sistemi

Ponaanje (izlazne vrednosti) ne zavise samo od trenutnih ulaznih vrednosti, ve i od prethodnih ulaznih i izlaznih vrednosti Izlazi se ne menjaju trenutno nakon promene ulaznih vrednosti Zato ne, i zato je to sekvencijalno ponaanje?

U stvarnosti, sva kola su sekvencijalna

Osnovna apstrakcija projektovanja digitalnih kola je da se razmatra samo stabilno stanje (ne i prelazne pojave)
Izlazi se posmatraju tek nakon isteka dovoljno dugog vremena u kome se sistem stabilizuje nakon odreenih promena stanja

15-Mar-07

Merni instrumenti - Digitalna elektronika 22

Sinhroni sekvencijalni digitalni sistemi


Izlazi kombinacionih kola zavise samo od trenutnih stanja ulaza
Nakon isteka dovoljnog vremenskog intervala ak i kad se eka da se zavri prelazni reim

Sekvencijalna kola imaju memoriju

Usvojena analiza stabilnog stanja je toliko korisna, da je veina projektanata koriste i kad projektuju sekvencijalna kola:
Memorija u sistemu je predstavljena kao njegovo stanje Promene stanja sistema dozvoljavaju se samo u odreenim trenucima koje diriguje spoljanji periodini takt Period takta je vreme koje protekne izmeu promena stanja. Mora biti dovoljno dugo da sistem dostigne stabilno stanje pre sledee promene stanja na kraju perioda
Merni instrumenti - Digitalna elektronika 23

15-Mar-07

Primeri kombinacione i sekvencijalne logike


Kombinaciona:

ulazi A, B eka se na ivicu signala takta posmatra se C eka se na sledeu ivicu takta posmatra se ponovo C: ostae nepromenjeno ulazi A, B eka se na ivicu signala takta posmatra se C eka se na sledeu ivicu takta posmatra se ponovo C: moe da se promeni

Sekvencijalna:

A C B Clock

15-Mar-07

Merni instrumenti - Digitalna elektronika 24

Uoptavanja
Neka smo ve videli

digitalno predstavljanje analognih vrednosti tranzistori kao prekidai prekidai kao logika kola primena signala takta za realizaciju sinhronog sekvencijalnog kola

Neka emo videti u nastavku

Kombinacione tabele i bulova algebra za predstavljanje kombinacionih logikih kola kodiranje signala sa vie od dva logika nivoa u binarnu formu dijagrami stanja za predstavljanje sekvencijalne logike jezici za opis hardvera za predstavljanje digitalne logike talasni oblici za predstavljanje vremenskog ponaanja

15-Mar-07

Merni instrumenti - Digitalna elektronika 25

Primer
Podsistem kalendara: broj dana u mesecu (za kontrolu prikaza na elektronskom asovniku)
koristi se za kontrolu displeja LCD prikaza na runom asovniku ulazi: mesec, znak za prelaznu godinu izlazi: broj dana

15-Mar-07

Merni instrumenti - Digitalna elektronika 26

Implementacija u softveru
integer broj_dana ( mesec, prelazna_godina) {
switch (mesec) { case 1: return (31); case 2: if (prelazna_godina == 1) then return (29) else return (28); case 3: return (31); ... case 12: return (31); default: return (0); }

15-Mar-07

Merni instrumenti - Digitalna elektronika 27

Implementacija - kombinacioni digitalni sistem


Kodiranje:

koliko bita za svaki ulaz/izlaz? binarni broj za mesec etiri bita za 28, 29, 30, i 31 kombinaciono specifikacija kombinacione tabele

ponaanje:

mesec

prestupna

d28 d29 d30 d31


15-Mar-07

mesec 0000 0001 0010 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 111

prest. 0 1

d28 0 1 0 0 0 0 0 0 0 0 0 0 0

d29 0 0 1 0 0 0 0 0 0 0 0 0 0

d30 0 0 0 0 1 0 1 0 0 1 0 1 0

d31 1 0 0 1 0 1 0 1 1 0 1 0 1

Merni instrumenti - Digitalna elektronika 28

Primer kombinaciona mrea (nastavak)


Kombinaciona tabela logika prekidai -gejtovi
d28 = 1 kad je mesec=0010 and prest=0 d28 = m8'm4'm2m1'prest' simbol za ili simbol za i simbol za ne

d31 = 1 kad je mesec=0001 ili mesec=0011 ili ... mesec=1100 d31 = (m8'm4'm2'm1) + (m8'm4'm2m1) + ... (m8m4m2'm1') d31 = moe li da se uprosti?
month 0001 0010 0010 0011 0100 ... 1100 1101 111 0000 leap 0 1 d28 0 1 0 0 0 0 d29 0 0 1 0 0 0 d30 0 0 0 0 1 0 d31 1 0 0 1 0 1

15-Mar-07

Merni instrumenti - Digitalna elektronika 29

Primer kombinaciona mrea (nastavak)


d28 = m8'm4'm2m1'leap d29 = m8'm4'm2m1'leap d30 = (m8'm4m2'm1') + (m8'm4m2m1') + (m8m4'm2'm1) + (m8m4'm2m1) d31 = (m8'm4'm2'm1) + (m8'm4'm2m1) + (m8'm4m2'm1) + (m8'm4m2m1) + (m8m4'm2'm4') + (m8m4'm2m1') + (m8m4m2'm1')

15-Mar-07

Merni instrumenti - Digitalna elektronika 30

Primer kombinaciona mrea (nastavak)


d28 = m8'm4'm2m1'leap d29 = m8'm4'm2m1'leap d30 = (m8'm4m2'm1') + (m8'm4m2m1') + (m8m4'm2'm1) + (m8m4'm2m1) d31 = (m8'm4'm2'm1) + (m8'm4'm2m1) + (m8'm4m2'm1) + (m8'm4m2m1) + (m8m4'm2'm4') + (m8m4'm2m1') + (m8m4m2'm1')

15-Mar-07

Merni instrumenti - Digitalna elektronika 31

Drugi primer
Kombinacija za otvaranje vrata:

ukucajte 3 vrednosti jednu po jednu da bi se otvorila vrata; ako doe do greke u unosu, brava mora da se resetuje; kad se vrata otvore, brava mora da se resetuje ulazi: sekvenca ulaznih vrednosti, reset izlazi: otvaranje/zatvaranje vrata memorija: mora da se pamti kombinacija ili da uvek bude raspoloiva kao ulaz

15-Mar-07

Merni instrumenti - Digitalna elektronika 32

Implementacija u softveru
integer combination_lock ( ) {
integer v1, v2, v3; integer error = 0; static integer c[3] = 3, 4, 2; while (!new_value( )); v1 = read_value( ); if (v1 != c[1]) then error = 1; while (!new_value( )); v2 = read_value( ); if (v2 != c[2]) then error = 1; while (!new_value( )); v3 = read_value( ); if (v2 != c[3]) then error = 1; if (error == 1) then return(0); else return (1);

}
15-Mar-07
Merni instrumenti - Digitalna elektronika 33

Implementacija - sekvencijalni digitalni sistem


Kodiranje:

koliko bita po ulaznoj veliini? koliko vrednosti u sekvenci? kako znamo kad se unese sledea ulazna vrednost? kako predstavljamo stanja sistema? signal takta je potreban da bismo znali kad moemo da vidimo stanje ulaza (da su se smirili nakon promene) sekvencijalno: sekvenca vrednosti treba da se unese sekvencijalno: pamtiti da li je dolo do greke specifikacija konanih stanja

Ponaanje:

novi unos

vrednost reset

takt

stanje

otvoreno/zatvoreno
15-Mar-07
Merni instrumenti - Digitalna elektronika 34

Implementacija - sekvencijalni digitalni sistem (nastavak)


Dijagram konanih stanja

Stanja: 5 stanja predstavljaju taku izvrenja svako stanje ima izlaze Tranzicija: 6 iz stanja u stanje, 5 sopstvenih tranzicija, 1 globalna promene stanja nastupaju kad takt dozvoli GREKA bazirano na vrednostima ulaza zatvoreno Ulazi: reset, novi, resultati poreenja Izlaz: otvoreno/zatvoreno
C1!=value & new S2 S1 reset C2!=vrednost C3!=vrednost & novi & novi OTVORENO S3

zatvoreno zatvoreno zatvoreno otvoreno C1=vrednost C2=vrednost C3=value & novi & novi & new nije novi nije novi nije novi

15-Mar-07

Merni instrumenti - Digitalna elektronika 35

Implementacija - sekvencijalni digitalni sistem (nastavak):


Interna struktura

put podataka memorija za kombinacije komparatori kontrola kontroler konanih stanja kontrola za put podataka promene stanja na osnovu takta novi vrednost C1 C2
multiplekser komparator

jednako reset

C3 mux kontrola
kontroler

takt

jednako
15-Mar-07

otvoreno/zatvoreno
Merni instrumenti - Digitalna elektronika 36

Implementacija - sekvencijalni digitalni sistem (nastavak): kontroler konanih stanja


Kontroler konanih stanja

prepraviti dijagram stanja da ukljui i internu strukturu


GREKA zatvoreno nije jednak nije jednak & novi & novi S1 S2 S3 OTVORENO zatvoreno zatvoreno zatvoreno otvoreno mux=C1 jednak mux=C2 jednak mux=C3 jednak & novi & novi & novi nije novi nije novi nije novi nije jednak & novi

reset

15-Mar-07

Merni instrumenti - Digitalna elektronika 37

Implementacija - sekvencijalni digitalni sistem (nastavak): kontroler konanih stanja


Kontroler konanih stanja
GREKA zatvoreno

generisati tabelu stanja (nalik kombinacionoj tabeli)


reset

nije jednak nije jednak nije jednakl & novi & novi & novi S1 S2 S3 OTVORENO closed closed zatvoreno otvoreno mux=C1 equal mux=C2 equal mux=C3 equal & new & new & new nije novi nije novii nije novi

reset 1 0 0 0 0 0 0 0 0 0 0 0 15-Mar-07

novi 0 1 1 0 1 1 0 1 1

sledee jednako stanje stanje mux S1 C1 S1 S1 C1 0 S1 ERR 1 S1 S2 C2 S2 S2 C2 0 S2 ERR 1 S2 S3 C3 S3 S3 C3 0 S3 ERR 1 S3 OTV. OTV. OTV. ERR ERR

otvoreno/zatvoreno zatvoreno zatvoreno zatvoreno zatvoreno zatvoreno zatvoreno zatvoreno zatvoreno zatvoreno otvoreno otvoreno zatvoreno

Merni instrumenti - Digitalna elektronika 38

Implementacija - sekvencijalni digitalni sistem (nastavak): kodiranje


Tabela stanja za kodiranje

stanje moe biti: S1, S2, S3, OTVORENO, ili GREKA porebno je najmanje 3 bita za kodiranje: 000, 001, 010, 011, 100 ili 5: 00001, 00010, 00100, 01000, 10000 biramo 4 bita: 0001, 0010, 0100, 1000, 0000 izlazni mux moe da bude: C1, C2, or C3 potrebno je 2 do 3 bita za kodiranje biramo 3 bita: 001, 010, 100 izlazi otvoreno/zatvoreno moe da bude: otvoreno ili zatvoreno treba 1 ili 2 bita za kodiranje biramo 1 bit: 1, 0

15-Mar-07

Merni instrumenti - Digitalna elektronika 39

Implementacija - sekvencijalni digitalni sistem (nastavak): kodiranje


Tabela stanja za kodiranje

stanje moe da bude: S1, S2, S3, OTVORENO, ili GREKA biramo 4 bita: 0001, 0010, 0100, 1000, 0000 izlazni mux moe da bude: C1, C2, ili C3 biramo 3 bita: 001, 010, 100 izlaz otvoreno/zatvoreno moze da bude: otvoreno ili zatvoreno biramo 1 bit: 1, 0
reset 1 0 0 0 0 0 0 0 0 0 0 0 novi 0 1 1 0 1 1 0 1 1 otvoreno/zatvoreno 0 0 0 dobar izbor za kodiranje! 0 0 mux je identian sa 0 poslednja 3 bita stanja 0 0 otvoreno/zatvoreno je 0 identino prvom bitu 1 stanja 1 0 Merni instrumenti - Digitalna elektronika 40 jednako stanje 0001 0 0001 1 0001 0010 0 0010 1 0010 0100 0 0100 1 0100 1000 0000 sledee stanje mux 0001 001 0001 001 0000 0010 010 0010 010 0000 0100 100 0100 100 0000 1000 1000 0000

15-Mar-07

Implementacija - sekvencijalni digitalni sistem (nastavak): implementacija kontrolera


Implementacija kontrolera
novi mux kontrola jednako reset specijalni element kola (zove se registar), za pamenje ulaza kad takt to odredi takt novi jednako reset mux kontrola komb. logika stanje takt

kontroler

otvoreno/zatvoreno

otvoreno/zatvoreno
15-Mar-07
Merni instrumenti - Digitalna elektronika 41

Hijerarhija projekta
sistem

putanja podataka

kontrola

registri koda multiplekser

komparator

registri stanja

kombinaciona logika

registri

logika

prekidake mree
15-Mar-07
Merni instrumenti - Digitalna elektronika 42

Pregled
Dat je pregled o emu e se govoriti na kursu

Predstavljanje reenja problema kombinacionim i/ili sekvencijalnim mreama efektivno organizujui projekat hijerarhijski Korienje modernih alata za razvoj koji omoguavaju produktivan rad sa velikim projektima Korienje prednosti koje pruaju tehnike optimizacije

U nastavku detaljnije...

15-Mar-07

Merni instrumenti - Digitalna elektronika 43