Documente Academic
Documente Profesional
Documente Cultură
Sorin Hintea
Departamentul de Bazele Electronicii
Codificarea informației binare
(a)
(b) (c)
Codificarea binara a unui domeniu de nuante de gri pentru o imagine folosind (a) 1 bit
petru doua niveluri de gri, (b) 4 biti pentru 16 niveluri de gri si (c) 8 biti pentru 256 niveluri
de gri
Circuite integrate digitale – Coduri binare si funcții logice 4
Codificarea informației binare
Codul – stabileşte o corespondenţă univocă între elementele a două mulţimi.
In cazul sistemelor digitale corespondenţa se face între numerele binare şi
numerele zecimale, cuvinte binare – nivele de gri, cuvinte binare – cifre arabe
sau caractere alfanumerice, etc.
In figura 1.1. este dat un exemplu simplu de circuit care lucrează cu semnale
digitale. Un bec este alimentat de la o sursa de tensiune continuă prin
intermediul unui comutator. Dacă acest comutator este în stare deschisă
(blocat), în starea OFF, tensiunea pe bec este 0V iar informaţia transmisă este
“0” sau “LOW”. Dacă comutatorul este închis, în starea ON, tensiunea pe bec
este cea dată de sursă, valoarea “HIGH”, iar informaţia transmisă este “1”.
Pentru a descrie funcţionarea sistemelor logice care operează cu astfel de
semnale de tip “TOT” sau “NIMIC”, se folosesc regulile algebrei booleene care
operează cu variabile de acest fel.
VDC VL
M = {0,1}
De aici rezulta o serie de proprietati specifice date in primul rand de faptul ca cele doua
elemente sunt inverse unul altuia
ab ba a b b a
Asociativitate: se poate schimba ordinea efectuarii aceluiasi tip de operatie
a (b c ) ( a b) c a (b c) (a b) c
a (b c ) ab ac (a b) c ac bc
Identitatea: 0 este element neutru pentru operatia SAU iar 1 este element neutru
pentru operatia SI
a0 a a 1 a
Anihilarea: 1 aplicat intr-o operatie SAU da rezultatul 1 indiferent de ceilalti
termeni iar 0 aplicat intr-o operatie SI da rezultatul 0 indiferent de ceilalti termeni
a 1 1 a0 0
Complementarea: operatia cu ambele elemente simetrice atat pentru SI cat si
pentru SAU da ca rezultat complementul elementului neutru
a a 1 aa 0
Teorema dublei negatii
a a
Teorema idempotentei: aplicarea repetata a operatiilor SI si SAU aceluiasi termen
nu schimba valoarea rezultata, indiferent de numarul de repetitii
a a ... a a a a ... a a
dist
Rezolvare. a a b a (1{
b ) a b a a b a b a b ( a{
a) a b
1 1
Presupunand formula De Morgan ca fiind adevarata, prima relatie de mai sus se poate scrie
(a b) (a b ) 1
Aplicand succesiv comutativitatea si absorbtia dovedim relatia de mai sus :
comm abs
( a b) (a b ) a a b b a b{
b a 1 1
1
La fel, se rescrie ecuatia a doua:
(a b) (a b ) 0
Aplicarea distributivitatii, complementarii si anihilarii duce la:
dist
( a b) ( a b ) a{
a b a b{
b 0b a 0 0 0 0
0 0
Care dovedeste ca termenul este intr-adevar complementul lui (a+b), dovedind astfel formula
lui De Morgan.
Circuite integrate digitale – Coduri binare si funcții logice 13
Functii logice
Exemple de utilizare a proprietăţilor algebrei boolene.
Demonstraţi relaţiile următoare:
Exemplul 3 a ( a b) a b
dist
a (a b) a{
a a b 0 a b a b
Soluţie 0
Exemplul 4 a b c a b c a b c a b c a b b c a c
idemp
Soluţie
a bc a b c a bc abc
a b c a b c a b c a b c a b c a b c
bc (a1
23
a ) ac (b{
b ) ab (c{
c)
1 1 1
a b bc ac
P
i 0
i 1 S i 0
i 1
; Termenii canonici pentru o funcţie de 3 variabile.
a b c Termeni P Termeni S
0 0 0 P0 a b c S0 a b c
0 0 1 P1 a bc S1 a b c
0 1 0 P2 ab c S2 a b c
0 1 1 P3 abc S3 a b c
1 0 0 P4 ab c S4 a b c
1 0 1 P5 abc S5 a b c
P6 abc S6 a b c
1 1 0
P7 abc S7 a b c
1 1 1
Se da funcția: f ab bc
a a 1
Elemente neutre:
1 a a
f ab bc ab(c c ) (a a )bc
abc abc abc abc abc{ abc{ abc
{ P7 P6 P2
P2 P6 P7
0 0 1 0 1 0 1 0 ā
t
0 1 1 0 1 1 0 1
ab
1 0 0 0 1 1 0 1 t
a⋅b
1 1 0 1 0 1 0 0 t
NU ŞI ŞI-NU a+b
t
a+b
t
f a bc ab c abc abc P3 P5 P6 P7
DeM
f ab bc ac ab bc ac
Doua moduri de implementare ale funcției votului majoritar, inainte si
dupa aplicarea formulei De Morgan
In general se doreste ca un circuit sa fie implementat cu cat mai putine tranzistoare si sa contina cat mai putine
trasee de legatura
Astfel, este evident ca un circuit este mai avantajos cu cat are un numar mai mic de porti si care au mai putine
intrari
Din punct de vedere al minimizarii si al numarului de porti ultimele doua implementari par la fel de complexe
si mult mai eficiente decat prima
Daca tinem cont de numarul de tranzistoare care compun structura portilor, concluzia poate fi diferita
In tehnologia CMOS este nevoie de 2 tranzistoare pentru un inversor, de 4 pentru o poarta SI-NU , respectiv
SAU – NU cu 2 intrari
In tehnologia CMOS este nevoie de 2*n tranzistoare pentru o poarta SI-NU , respectiv SAU – NU cu n intrari
In tehnologia CMOS este nevoie de 2*n+2 tranzistoare pentru o poarta SI-NU , respectiv SAU – NU cu n
intrari ( 2n pentru poarta SI-NU (SAU-NU) si inca 2 tranzistoare pentru inversor
AND2 OR2
VDD
f = ab
Concluzie: analizand si tehnologia de implemetare ( CMOS) rezulta ca ultima solutie este cea optima, avand
numarul minim de tranzistoare in schema
Aceasta rezulta folosind doua principii de baza: atat simplificarea expresiilor logice cat si folosirea functiilor
negate
a) Circuitul rezultat din forma canonica; b) Schema dup aminimizare; c) Schema dupa aplicarea formulei De
Morgan
̅ g bc cd cd abc
h x z yz y t k x y x z t yt yz
Tabelul de adevar
si
⨁
a1 a0 b1 b0
Implementarea functiilor de
iesire dupa minimizare f1
f2
a1a0 a1a0 a 1a 0
b1b0 00 01 11 10 b1b0 00 01 11 10 b1b0 00 01 11 10
00 1 1 1 00 1 00
01 1 1 01 1 01 1 f3
11 11 1 11 1 1 1
10 1 10 1 10 1 1
...
...
Decodificatorul BCD / 7
segmente cu afisare exclusiv xyzt a b c d e f g
numerica primeste numai
coduri binare pe 4 biti de la 0 0 000 1 1 1 1 1 1 0
la 9, furnizate de numaratoare 0 001 0 1 1 0 0 0 0
in cod BCD (zecimale) 0 010 1 1 0 1 1 0 1
0 011 1 1 1 1 0 0 1
0 100 0 1 1 0 0 1 1
Pentru primele 10 coduri binare se 0 101 1 0 1 1 0 1 1
afiseaza cele 9 cifre de la 0 la 9. Pentru 0 110 1 0 1 1 1 1 1
celelalte 6 coduri, de la 10 la 15, 0 111 1 1 1 0 0 0 0
valorile generate sunt indiferente (“X” 1 000 1 1 1 1 1 1 1
in tabelul de adevar). 1 001 1 1 1 1 0 1 1
Circuitul proiectat este unul cu iesiri 1 010 x x x x x x x
multiple, generand 7 functii a 4 1 011 x x x x x x x
variabile fiecare 1 100 x x x x x x x
1 101 x x x x x x x
1 110 x x x x x x x
1 111 x x x x x x x
d e f
xy xy xy
Implementarea cu porti zt 00 01 11 10 zt 00 01 11 10 zt 00 01 11 10
logice a decodificatorului 00 1 X 1 00 1 X 1 00 1 1 X 1
BCD / 7 segmente 01 1 X 1 01 X 01 1 X 1
11 1 X X 11 X X 11 X X
10 1 1 X X 10 1 1 X X 10 1 X X
g
xy
zt 00 01 11 10
00 1 X 1
01 1 X 1
11 1 X X
10 1 1 X X
a x z yt y t
b y zt z t
c y z t
d x y z y t yz t
e yt zt
f x z t yz yt
g x y z yz yt
x y z t x y z t x y z t
a b
f
decodificatorul BCD / 7
segmente este un circuit care xyzt a b c d e f g
comanda afisajul de tip 7
segmente notate cu litere de la 0 000 1 1 1 1 1 1 0
a la e si primind coduri binare 0 001 0 1 1 0 0 0 0
pe 4 biti 0 010 1 1 0 1 1 0 1
0 011 1 1 1 1 0 0 1
0 100 0 1 1 0 0 1 1
Pentru primele 10 coduri binare se 0 101 1 0 1 1 0 1 1
afiseaza cele 9 cifre de la 0 la 9. Pentru 0 110 1 0 1 1 1 1 1
celelalte 6 coduri, de la 10 la 15, se 0 111 1 1 1 0 0 0 0
afiseaza literele de la a la f. 1 000 1 1 1 1 1 1 1
Pentru elementele care lumineaza 1 001 1 1 1 1 0 1 1
primind valoarea “HIGH” circuitul 1 010 1 1 1 1 1 0 1
genereaza “1” pentru ca elementul sa 1 011 0 0 1 1 1 1 1
lumineze si “0” pentru ca elementul sa 1 100 1 0 0 1 1 1 0
ramana stins 1 101 0 1 1 1 1 0 1
Circuitul este unul cu iesiri multiple, 1 110 1 1 0 1 1 1 1
generand 7 functii de 4 variabile 1 111 1 0 0 0 1 1 1
a y t x t x z yz x y z x y t
e x y zt x z y t
b y z x y x z t xz t x zt xz t
Circuite integrate digitale – Circuite cu porți logice 25
Exemplu – decodificator Cod Hexagesimal –7 segmente
Se da funcția: f ab bc
Cum se determină forma canonică ?
a a 1
Elemente neutre:
1 a a
f ab bc ab(c c ) ( a a )bc
abc abc abc abc abc { abc{ abc
{ P7 P6 P2
P2 P6 P7
Sorin Hintea
Departamentul de Bazele Electronicii
Decodificatorul – definiții, funcționare
Decodificarea codurilor binare este necesara pentru a semnaliza aparitia unui anumit
cod binar pe un bus de N biti
Pentru a semnaliza cu ‘1’ aparitia codului 1101, este nevoie de o poarta SI care
realizeaza functia
13 · · ̅·
13 · · ̅·
Semnalizarea aparitiei fie a unui cod (1101) fie a unui al doilea (0101) este realizata
astfel:
13 5 · · ̅· · · ̅· · ̅·
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
DCD n:2n DCD 3:8 000 1 0 0 0 0 0 0 0
Y0 P0 Y0 P0=0
An-1 Y1 P1
Y1 P1=0 001 0 1 0 0 0 0 0 0
An-2 Y2 P2 Y2 P2=0
010 0 0 1 0 0 0 0 0
n addresses
‘1’ C
2n outputs
An-3 Y3 P3=0
‘0’ B
A1 Y2n-3 P2n-3 ‘1’ A
Y4 P4=0 011 0 0 0 1 0 0 0 0
Y5 P5=1
A0 Y2n-2 P2n-2 Y6 P6=0 100 0 0 0 0 1 0 0 0
Y2n-1 P2n-1 Y7 P7=0
(a) (b) 101 0 0 0 0 0 1 0 0
110 0 0 0 0 0 0 1 0
111 0 0 0 0 0 0 0 1
Y0 C B A P0
Y1 C B A P1
Y2 C B A P2
M
Y7 C B A P7
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
000 0 1 1 1 1 1 1 1
001 1 0 1 1 1 1 1 1
010 1 1 0 1 1 1 1 1
011 1 1 1 0 1 1 1 1
100 1 1 1 1 0 1 1 1
101 1 1 1 1 1 0 1 1
110 1 1 1 1 1 1 0 1
111 1 1 1 1 1 1 1 0
Y0 C B A P0 S0
Y1 C B A P1 S1
Y2 C B A P2 S 2
M
Y7 C B A P7 S7
xyz f
DCD 3:8
000 1 Y0
001 0 Y1
010 0 x C Y2 f
011 1 y B Y3
z Y4
100 1 A
Y5
101 0 Y6
110 0 Y7
111 0
xyz f1 f2
DCD 3:8
000 0 0 Y0
001 1 0 Y1 f1
010 1 1 x C Y2
011 0 0 y B Y3
100 0 1 z Y4 f2
A
101 0 0 Y5
Y6
110 0 1
Y7
111 0 0
xyz f
000 1 DCD 3:8
001 0 Y0
Y1
010 0 x C Y2 f
011 0 y B Y3
100 1 z A Y4
101 1 Y5
Y6
110 0 Y7
111 0
D C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9
0000 1 0 0 0 0 0 0 0 0 0
0001 0 1 0 0 0 0 0 0 0 0
0010 0 0 1 0 0 0 0 0 0 0
0011 0 0 0 1 0 0 0 0 0 0
0100 0 0 0 0 1 0 0 0 0 0
0101 0 0 0 0 0 1 0 0 0 0
0110 0 0 0 0 0 0 1 0 0 0
0111 0 0 0 0 0 0 0 1 0 0
1000 0 0 0 0 0 0 0 0 1 0
1001 0 0 0 0 0 0 0 0 0 1
Circui
17
te
Extinderea capacității de decodificare
Decodificator 1:64implementat cu 9 DCD 1:8 cu validare
- Pentru a avea un DCD cu 64 canale de iesire este nevoie de 8 DCD cu 8 iesiri fiecare
- Cuvantul de adresa este FEDCBA
- DCD Master activeaza una din cele 8 iesiri in functie de cuvantul FED ( cei mai
semnificativi biti din cuvantuld e adresa de 6 biti)
- Cele 8 DCD de rangul 2 activeaza cele 8 iesiri in functie de cuvantul CBA
Circui
18
te
Implementarea funcțiilor logice cu mai multe decodificatoare
Exemplu. Implementarea funcției de 4 variabile folosind doua
DCD cu 8 iesiri si validare: f = P2+P4+P6+P9+P11+P13
xyzt f
0 000 0 → P0=f (y,z,t)
0 001 0 → P1 P2
0 010 1 → P2
0 011 0 → P3 P4
x0
0 100 1 → P4
P6
0 101 0 → P5
0 110 1 → P6
0 111 0 → P7
1 000 0 → P0 → P8 P9
1 001 1 → P1 → P9
P11
1 010 0 → P2 → P10
1 011 1 → P3 → P11
x 1 P13
1 100 0 → P4 → P12
1 101 1 → P5 → P13
1 110 0 → P6 → P14
1 111 0 → P7 → P15
Circui
20
te
Implementarea funcțiilor logice cu DMUX
Exemplu 3. Implementarea funcției de 4 variabile folosind DCD
cu 4 iesiri active pe 0 si validare:
, , , 4 6 10+ 15
Circui
21
te
Probleme propuse
Probleme propuse:
1. Realizati un circuit care sa furnizeze valoarea logica 1 atunci cand la intrare apare fie codul 010 fie
011.
2. Aceeasi problema pentru cazul cand la intrare este sesizat fie codul 1010 fie 1110
3. Repetati problema precedenta pentru detectia aparitie codurilor 0011 sau 0111 sau 0010 sau 0110
4. Implementati functia data sub forma canonica folosind 1 DCD cu 8 iesiri active pe ‘1’: , ,
1 2+ 3 6
5. Implementati functia data sub forma canonica folosind 1 DCD cu 8 iesiri active pe ‘0’: , ,
0 4+ 5
6. Implementati functia data sub forma canonica folosind 2 DCD cu 8 iesiri active pe ‘1’: , ,
0 2+ 6 7+ 9 10+ 14
7. Implementati functia data sub forma canonica folosind 2 DCD cu 8 iesiri active pe ‘0’: , ,
0 4+ 5 8+ 10 12+ 14 15
8. Realizati un DCD cu 64 iesiri folosind DCD binare cu validare cu 8 iesiri intr-o structura
arborescenta
9. Repetati problema folosind DCD BCD zecimal cu validare cu 10 iesiri intr-o structura
arborescenta
Circuite integrate digitale – Circuite decodificatoare 22
Circuite integrate digitale
Circuite logice cu multiplexoare
Sorin Hintea
Departamentul de Bazele Electronicii
Multiplexorul – definiții, funcționare
Circuitul multiplexor este un comutator electronic care transmite una din cele 2n
intrări de date spre o singura iesire, conform unei adrese pe n biti
Multiplexarea datelor este necesara pentru a utiliza un singur canal de transmitere la
distanta a datelor culese din locuri diferite, cum sunt senzorii din automatizari
Acest procedeu se numeste multiplexare in timp
2n intrări
de date
n adrese
A1 A0 Y
00 I0
01 I1
10 I2
11 I3
Y I 0 A1 A0 I1 A1 A0 I 2 A1 A0 I 3 A1 A0
I 0 P0 I1 P1 I 2 P2 I 3 P3
abc f
0 0 0 1
b A1 0 c
a A2 0 0 0 1 0
0 1 0 1
b A1 1 1
0 1 1 1
1 0 0 0
b A1 0 0
a A2 1 1 0 1 0
1 1 0 0 c
b A1 1
1 1 1 1
a
0 1
0
b b 1
1 0
c c c c
0 1 0 1 0 1 0 1
1 0 1 1 0 0 0 1
(a)
I 0*
I1*
A1 A0 Y
00 I0
A* 0 I 0*
01 I1
*
10 I2
I * A*
A 1 11 I3 1
A2A1A0 Y
A1 = 0 0 0 0 I0
A2 = 0 0 0 1 I1
0 1 0 I2
A1 = 1
0 1 1 I3
1 0 0 I4
A2 = 1 A1 = 0 1 0 1 I5
1 1 0 I6
A1 = 1
1 1 1 I7
A3A2A1A0 Y I 0*
0000 I0
0001 I1
A1* A0* 00 I 0*
0010 I2
0011 I3
I1*
0100 I4
0101 I5
A1* A0* 01 I1* I 2*
0110 I6
0111 I7
1000 I8
1001 I9
A1* A0* 10 I 2* A1* A0*
1010 I10
1011 I11
1100 I12
1101 I13 I 3*
A1* A0* 11 I 3*
1110 I14
1111 I15
Circuite integrate digitale – Circuite logice cu multiplexoare 10
Extinderea capacității de multiplexare
Implementarea unei functii de 4 variabile cu o structura arborescenta de
multiplexoare cu 4 canale
abcd f = P0+P5+P6+P9+P13
0 000 1 → P0
0 001 0 → P1
ab = 00 0 010 0 → P2
0 011 0 → P3
0 100 0 → P4
0 101 1 → P5
ab = 01
0 110 1 → P6
0 111 0 → P7
1 000 0 → P8
ab = 10 1 001 1 → P9
1 010 0 → P10
1 011 0 → P11
1 100 0 → P12
ab = 11 1 101 1 → P13
1 110 0 → P14
1 111 0 → P15
Circuite integrate digitale – Circuite logice cu multiplexoare 11
Extinderea capacității de multiplexare
Extinderea capacitatii de multiplexare. MUX cu validare: realizarea unor
multiplexoare de capacitate mai mare folosind MUX cu validare
1. Extindere de la 8 la 16 canale
a) un MUX cu 8 canale
b) un MUX cu 4 canale
a) un MUX cu 16 canale
b) un MUX cu 8 canale
Sorin Hintea
Departamentul de Bazele Electronicii
Demultiplexorul – definiții, funcționare
Demultiplexorul este un circuit de selecție → transmite semnalul de la singura
intrare I la una din cele 2n ieșiri în funcție de o adresă pe n biți
Realizează operațiunea inversă multiplexării
n adrese 2n ieșiri
date
intrare date
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
000 G 0 0 0 0 0 0 0
001 0 G 0 0 0 0 0 0
010 0 0 G 0 0 0 0 0
011 0 0 0 G 0 0 0 0
100 0 0 0 0 G 0 0 0
101 0 0 0 0 0 G 0 0
110 0 0 0 0 0 0 G 0
111 0 0 0 0 0 0 0 G
Circuite integrate digitale – Circuite logice cu demultiplexoare 3
Demultiplexorul 8 canale - implementare
Implementarea unui demultiplexor 1:8 → are 3 adrese
pentru a selecta 8 (23) ieșiri, precum si o intrare/validare
(G/I)
DMUX are cele 8 ieșiri active pe 1
Conform tabelului de adevar, ieșirile sunt chiar termenii
canonici negati validati de intrarea G:
·
Rezulta un circuit cu 8 porți SI fiecare avand 4 intrari
Y0 GC B A G P0
Y1 GC B A GP1
Y2 GC B A GP2
M
Y7 GC B A G P7
2. Implementati functia data sub forma canonica folosind 1 DMUX cu 8 iesiri active pe ‘0’:
, , 1 2+ 5 6
3. Implementati functia data sub forma canonica folosind 2 DMUX cu 8 iesiri active pe ‘1’:
, , 0 1+ 4 5+ 8 11+ 12 15
4. Implementati functia data sub forma canonica folosind 2 DMUX cu 8 iesiri active pe ‘0’:
, , 1 3+ 6 7+ 9 10+ 11 13
Sorin Hintea
Departamentul de Bazele Electronicii
Circuite secvențiale sincrone
cele combinaționale au ieșiri care sunt sensibile la orice modificare a intrării, iar
evoluția depinde numai de starea intrărilor, indepedent de starea în care se află circuitul la
momentul respectiv
la cele secvențiale ieșirile se modifică în funcție de variația intrărilor, dar rezultatul
depinde și de starea actuală
din acest motiv se spune că aceste circuite au memorie, în timp ce circuitele
combinaționale sunt fără memorie
în categoria circuitelor logice combinaționale intră porțile logice, multiplexoarele,
decodificatoarele, circuitele aritmetice, etc.
în categoria circuitelor logice secvențiale sunt bistabilele cu aplicațiile lor:
numărătoare, registre de deplasare, latch-uri, memorii SRAM, etc.
circuite logice secvenţiale (CLS) → starea ieşirilor la un moment dat depinde de starea
intrărilor şi de stările anterioare ale circuitului
sunt circuite cu memorie
schema bloc a unui circuit logic secvenţial
bistabilele reprezintă circuite cu două stări stabile, capabile să păstreze o anumită stare
anterioară
trecerea circuitului dintr-o stare în alta se realizează ca urmare a unui impuls extern
aceste circuite au capacitatea de a stoca un bit de informaţie care poate fi '0' sau '1'
logic
bistabilele se pot clasifica în două categorii:
asincrone - când răspund imediat la modificarea intrării;
sincrone - când își modifică ieșirea doar sincron cu frontul sau palierul unui
semnal de ceas (tact);
bistabilele pot fi realizate utilizând componente discrete, cu porţi standard, sau pot fi
integrate în chipuri de o complexitate crescută cum sunt arhitecturile VLSI.
SRQ Q+ Q
000 0 1
001 1 0 SR Q+ Q
010 0 1 00 Q Q
011 0 1 01 0 1
100 1 0 10 1 0
101 1 0
11 * *
110 0 0
111 0 0
SRQ Q Q
000 1 1
001 1 1 SR Q+ Q
010 1 0 00 * *
011 1 0 01 1 0
100 0 1 10 0 1
101 0 1
11 Q Q
110 0 1
111 1 0
JK Q+
00 Q
01 0
10 1
11 Q
JK Q+
00 Q
Q D=J 01 0
10 1
Bistabilul D are o singură intrare D=J=K . Nivelul logic de la 11 Q
intrare este transferat spre ieşire sincron cu ceasul. Bistabilul D
poate fi folosit ca un circuit tip latch sau de memorare a unui
singur bit (care poate fi 1 sau 0).
T Q+
0 Q
1 Q
bistabilul T derivă din bistabilul JK, obținându-se prin conectarea celor două intrări ale
bistabilului JK la '1' logic → își va schimba starea la fiecare impuls de tact
componentă de bază în structura internă a numărătoarelor asincrone
bistabilul T se poate obține și pornind de la bistabilul D, la care se adaugă o poartă
XOR
J KQ Q+ D=Q
000 0
001 1
010 0
011 0
100 1
101 1 D=JQ+KQ
110 1
111 0
Intrări Intrări
Ieșiri acțiune
asincrone sincrone
R S D CK Q Q
0 0 X X 1 1 forțează ambele ieșiri în 1
0 1 X X 0 1 Reset asincron
1 0 X X 1 0 Set asincron
1 1 0 0 1 transferă 0
1 1 1 1 0 transferă 1
Sorin Hintea
Departamentul de Bazele Electronicii
Circuite secvențiale sincrone
Q1 Q0 J1 K1 J0 K0 Q1+ Q0+
0 0 0 0 1 1 0 1
0 1 1 1 1 1 1 0
1 0 0 0 1 1 1 1
1 1 1 1 1 1 0 0
Q3 Q2 Q1 Q0 Q3 + Q2 + Q1 + Q0 + J3 K3 J2 K2 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 1 0 X 0 X 0 X 0 X 1 X
0 0 0 1 0 0 1 0 0 X 0 X 0 X 1 X X 1
0 0 1 0 0 0 1 1 0 X 0 X 0 X X 0 1 X
0 0 1 1 0 1 0 0 0 X 1 X 1 X X 1 X 1
0 1 0 0 0 1 0 1 0 X X 0 X 0 0 X 1 X
0 1 0 1 0 1 1 0 0 X X 0 X 0 1 X X 1
0 1 1 0 0 1 1 1 0 X X 0 X 0 X 0 1 X
0 1 1 1 0 0 0 0 1 X X 1 X 1 X 1 X 1
1 0 0 0 1 0 0 1 X0 0 X 0 X 0 X 1 X
1 0 0 1 1 0 1 0 X0 0 X 0 X 1 X X 1
1 0 1 0 1 0 1 1 X0 0 X 0 X X 0 1 X
1 0 1 1 1 1 0 0 X0 X1 X1 X 1 X 1
1 1 0 0 1 1 0 1 X0 X 0 X 0 0 X 1 X
1 1 0 1 1 1 1 0 X0 X 0 X 0 1 X X 1
1 1 1 0 1 1 1 1 X0 X 0 X 0 X 0 1 X
1 1 1 1 0 0 0 0 X1 X 1 X 1 X 1 X 1
pe ieșirile Qi semnalele vor avea frecvențe obținute din frecvența de tact prin divizare
cu ratele 21, 22, 23, ...., 2N
D 0 =Q0
D1 =Q1Q0 +Q1Q0
Q1+ Q0+
Q1 Q0
(D1) (D0)
0 0 1 1
0 1 0 0
1 0 0 1
1 1 1 0
D0 1
D1 Q1
D Q Q
2 2 1
D2 D1 D0
Q2 Q1 Q0
Q2+ Q1+ Q0+
0 0 0 X X X
0 0 1 0 1 1
0 1 0 X X X
0 1 1 1 0 1
1 0 0 X X X
1 0 1 1 1 1
1 1 0 X X X
1 1 1 0 0 1
D2 D1 D0
Q2 Q1 Q0
Q2+ Q1+ Q0+
0 0 0 1 0 0
0 0 1 0 0 0
0 1 0 0 0 1
0 1 1 1 0 1
1 0 0 1 1 0
1 0 1 0 1 0
1 1 0 1 1 1
1 1 1 0 1 1
D2 D1 D0
Q2 Q1 Q0
Q2+ Q1+ Q0+
0 0 0 1 0 0
0 0 1 0 0 0
0 1 0 0 0 1
0 1 1 1 0 1
1 0 0 1 1 0
1 0 1 0 1 0
1 1 0 1 1 1
1 1 1 0 1 1
D2 D1 D0 D2 D1 D0
Q2 Q1 Q0
Q2 Q1 Q0 Q2+ Q1+ Q0+
+ + +
0 0 0 1 0 0 1 1 0
0 0 1 0 0 0 1 0 0
0 1 0 0 0 1 1 1 1
0 1 1 1 0 1 0 1 0
1 0 0 1 1 0 1 0 1
1 0 1 0 1 0 0 0 0
1 1 0 1 1 1 0 1 1
1 1 1 0 1 1 0 0 1
Sorin Hintea
Departamentul de Bazele Electronicii
Automat secvențial cu parametru adițional
V 1
R 1 V 1
Q Q+ JK Q1 Q0 a Q1 Q0 J1 K1 J 0 K 0
0 0 0X 000 00 0X 0X
0 1 1X 001 01 0X 1X
1 0 X1 010 10 1X X1
1 1 X0 011 10 1X X1
100 11 X0 1X
101 01 X1 1X
110 00 X1 X1
111 01 X1 X0
J1 K1 Q0 aQ1
Q Q+ JK
Q Q+ JK 0 0 0X
0 1 1X
a 0 0 0X
1 0 X1
0 1 1X
1 1 X0
1 0 X1
0 a a X
1 1 X0
1 a Xa
Q1 Q0 Q1 Q0 J1 K1 J 0 K 0
00 0a 0X aX
01 10 1X X1
10 a1 Xa 1X
11 0a X1 Xa J1 K1 Q0 aQ1 J 0 K 0 Q1Q0 Q1Q0 a Q0 aQ1
D1 Q1Q0 aQ1Q0
Q D
Q1 Q0 a Q1 Q0
000 00
001 01
010 10
011 10
100 11
101 01 D0 aQ0 Q1Q0 aQ1
110 00
111 01
Q1 Q0 Q1 Q0
00 0a
01 10
10 a1
11 0a D1 Q1Q0 aQ1Q0 D0 aQ0 Q1Q0 aQ1
Q D
Q1 Q0 Q1 Q0 Q D
00 0a
01 10
10 a1
11 0a
D2 D1 D0
Q2 Q1 Q0 Q2 Q1 Q0
000 XXX
001 XXX
010 a 1 a
011 a a a
100 1 0 1
101 a 1 a
110 1 1 1
111 a 1 a
a Q0 aQ0
D2 D1 D0
Q2 Q1 Q0 Q2 Q1 Q0 Q0 aQ0 Q0 a
000 XXX Q0 aQ0 Q0 a
001 XXX
010 a 1 a
011 a a a
100 1 0 1 Q0 aQ0 Q0 a
101 a 1 a
110 1 1 1
111 a 1 a
aQ0 a Q0
Q0 aQ0 Q0 a
Q0 aQ0 Q0 a
Sorin Hintea
Departamentul de Bazele Electronicii
Automate de stare asincrone
fiecare bistabil primește semnalul de ceas de la ieșirea directă sau negată a etajului
precedent
fiecare bistabil poate fi activ pe frontul pozitiv sau negativ al semnalului de ceas
circuitul numără înainte sau înapoi
numărător pe n biți → n bistabile conectate identic, fără alte circuite suplimentare
avantaj → simplitatea structurii
fiecare bistabil primește semnalul de ceas de la ieșirea directă sau negată a etajului
precedent
fiecare bistabil poate fi activ pe frontul pozitiv sau negativ al semnalului de ceas
circuitul numără înainte sau înapoi
numărător pe n biți → n bistabile conectate identic, fără alte circuite suplimentare
avantaj → simplitatea structurii
Pentru valori mari ale lui n, timpul de intarziere total creste proportional
2N 1 5 2N 1 9
2N 1 7
divizor cu N=3
Sorin Hintea
Departamentul de Bazele Electronicii
Numărătoare sincrone integrate
Cl Ld PT acțiune
0 X X reset → 0000
1 0 X încarcă DCBA
1 1 0 menține starea
1 1 1 numără
QD QC QB QA Ld PT DC B A
0000 1 1 XXXX
0001 0 X 0 1 1 0
0010 XX XXXX
0011 XX XXXX
0100 XX XXXX
0101 XX XXXX
0110 1 1 XXXX
0111 1 1 XXXX
Cl Ld PT acțiune 1000 0 X 1 1 0 1
0 X X reset → 0000 1001 XX XXXX
1 0 X încarcă DCBA 1010 XX XXXX
1011 XX XXXX
1 1 0 menține starea
1100 XX XXXX
1 1 1 numără 1101 1 1 XXXX
1110 1 1 XXXX
1111 1 1 XXXX
P T 1
D A QD
C 1
B QD
Ld QC QD QA
Low High
8...15 13
0...15 14
0...15 15
Cl Ld Cu Cd acțiune
1 X X X reset asincron → 0000
0 0 X X încarcă asincron DCBA
0 1 1 numără înainte
0 1 1 numără înapoi
Low High
14(13)...0 4
15...0 3
15...0 2
15...0 1
15...0 0
Total: 14+16+16+16+16=78
stări distincte → divizor cu
raport N=78
D0
C QB QA a
B QC QA
A QC QB a QA
Ld QC QA QC QB QA aQC QB bQB QA
PT QA QB b
Ld PT acțiune
0 X Î
1 0 M
1 1 Nr
Var.M 0 Î+M
Var.Nr 1 Î+Nr
1 Var.Nr M+Nr
QD QC QB QA Ld PT DC B A acțiune
0000 a 1 0011 Î(a)+Nr( a )
0001 1 b 0001 M(b)+Nr( b )
0010 0 1 0 a 1a Î+Î
0011 b 1 0100 Î( b )+Nr(b)
0100 1 1 0 0 0a Nr
0101 0 b 0000 Î
0110 1 1 0 a 0a Nr
0111 b 1 0100 Î( b )+Nr(b)
1000 a 1 0011 Î(a)+Nr( a )
1001 1 b 0001 M(b)+Nr( b )
1010 0 1 0 a 1a Î+Î
1011 b 1 0100 Î( b )+Nr(b)
1100 1 1 0 0 0a Nr
1101 0 b 0000 Î
1110 1 1 0 a 0a Nr
1111 b 1 0100 Î( b )+Nr(b)
QD QC QB QA Ld PT DC B A
0000 XX XXXX
0001 1 1 XXXX
0010 1 a XXXX
0011 b 0 0 1 1 0
0100 XX XXXX
0101 XX XXXX
0110 a 1 0 0 1 0
0111 0 X 0 0 b b
Ld PT acțiune
1000 XX XXXX
0 X Î ⁞ ⁞ ⁞
1 0 M
1 1 Nr
Var.M 0 Î+M Q f
Var.Nr 1 Î+Nr 0 a f Qa Qb
1 Var.Nr M+Nr 1 b
Numărător în inel
n bistabile D legate in cascada
iesirea Q a unui bistabil este legata la intrarea D al urmatorului bistabil
iesirea Q a ultimului bistabil este legata la intrarea D a primului bistabil
Exemplu: numarator in inel pe trei biţi
Numărătoare Johnson
n bistabile D legate in cascada
iesirea Q a unui bistabil este legata la intrarea D al urmatorului bistabil
iesirea Q a ultimului bistabil este legata la intrarea D a primului bistabil
Exemplu: numarator Johnson pe 3 biti
ck 1 2 3 4 5 6
QA
QB
QC
Numărătoare Johnson
semnalele generate la iesirile bistabilelor au toate aceeasi frecventa si factor de
umplere, dar sunt decalate cu cate o perioada de tact
trecerea dintr-o stare in alta se face cu modificarea unui singur bit
pentru decodificarea oricarei stari este nevoie doar de doi biti, indiferent de
numarul total de biti al automatului
un dezavantaj este ca sunt folosite foarte putine stari (2n) din totalul celor 2n
stari care se pot descrie cu n biti.
Memorii FIFO
bitii incarcati pe intrarea seriala se deplaseaza →D5→D4→D3→D2→D1→D0
dupa 6 impulsuri de tact, primul bit scris ajunge la ieşirea D0 de unde este citit
prin deplasarea de la stânga la dreapta toti cei sase biti scrisi in registru vor
ajunge la iesirea D0 pentru a permite citirea tuturor datelor
astfel primul bit înscris va fi primul citit
Memorii LIFO
bitii incarcati pe intrarea seriala se deplaseaza→D5→D4→D3→D2→D1→D0
dupa 6 impulsuri de ceas, ultmul bit scris ajunge la ieşirea D5 de unde este citit
prin deplasarea de la dreapta la stânga, toti cei sase biti scrisi in registru vor
ajunge la iesirea D5 pentru a permite citirea tuturor datelor
astfel ultimul bit înscris va fi primul citit
MC = 0 MC = 1
activează poarta 1 a intrării de ceas activează poarta 2 a intrării de ceas
activează porţile ŞI 1 care transmit activează porţile ŞI 2
şi deplasează intrarea serie IS în ordine corespunzătoare intrărilor paralele
la celulele A, B, C şi D registrul înscrie date paralel pe
rol de deplasare la dreapta frontul descrescător al ceasului T2
intrare
paralela
6 biti A A
B B iesire
QA QA
C C seriala
QB QB
D D
QC QC
CK T1 T1
T2 QD T2 QD
:6 MC MC
IS IS
0 0 0 0 1 0 IP 1 0 0 0
0 0 0 1 0 1 DS1 1 0 0 0
0 0 1 0 0 0 DS0 0 0 0 1
0 0 1 1 1 1 IP 1 0 0 0
0 1 0 0 0 0 DS0 0 0 1 0
0 1 0 1 1 1 IP 1 0 0 0
0 1 1 0 1 0 IP 1 0 0 0
0 1 1 1 1 1 IP 1 0 0 0
1 0 0 0 0 0 DS0 0 1 0 0
1 0 0 1 1 1 IP 1 0 0 0
1 0 1 0 1 0 IP 1 0 0 0
1 0 1 1 1 1 IP 1 0 0 0
1 1 0 0 1 0 IP 1 0 0 0
1 1 0 1 1 1 IP 1 0 0 0
1 1 1 0 1 0 IP 1 0 0 0
1 1 1 1 1 1 IP 1 0 0 0
0 0 0 0 0 0 DS0 0 0 0 0
0 0 0 1 0 1 DS1 1 0 0 0
0 0 1 0 0 0 DS0 0 0 0 1
0 0 1 1 0 1 DS1 1 0 0 1
0 1 0 0 0 0 DS0 0 0 1 0
0 1 0 1 0 1 DS1 1 0 1 0
0 1 1 0 0 0 DS0 0 0 1 1
0 1 1 1 0 1 DS1 1 0 1 1
1 0 0 0 0 0 DS0 0 1 0 0
1 0 0 1 0 1 DS1 1 1 0 0
1 0 1 0 0 0 DS0 0 1 0 1
1 0 1 1 0 1 DS1 1 1 0 1
1 1 0 0 0 0 DS0 0 1 1 0
1 1 0 1 0 1 DS1 1 1 1 0
1 1 1 0 0 0 DS0 0 1 1 1
1 1 1 1 0 1 DS1 1 1 1 1
Exemplul 3
QA QB QC QD MC IS fct. A B C D
A
0 0 0 0 0 1 DS1 0 1 1 1
1 B
QA 0 0 0 1 0 0 DS0 0 1 1 1
QC QA C
QB 0 0 1 0 0 1 DS1 0 1 1 1
D
QD QC
CK T1 0 0 1 1 0 0 DS0 0 1 1 0
T2 QD
QA 0 1 0 0 0 1 DS1 0 1 1 1
QB MC
QC 0 1 0 1 0 0 DS0 0 1 1 1
IS
0 1 1 0 0 1 DS1 0 1 1 1
0 1 1 1 0 0 DS0 0 1 1 0
1 0 0 0 0 1 DS1 0 1 0 1
1 0 0 1 0 0 DS0 0 1 0 1
1 0 1 0 0 1 DS1 0 1 0 1
1 0 1 1 0 0 DS0 0 1 0 0
1 1 0 0 0 1 DS1 0 1 0 1
1 1 0 1 0 0 DS0 0 1 0 1
1 1 1 0 1 1 IP 0 1 0 1
1 1 1 1 1 0 IP 0 1 0 0
QA QB QC QD MC IS A B C D
0 0 0 0 0 1 X X X X
0 0 0 1 X X X X X X
0 0 1 0 X X X X X X
0 0 1 1 X X X X X X
0 1 0 0 X X X X X X
0 1 0 1 1 X 0 0 0 0
0 1 1 0 X X X X X X
0 1 1 1 1 X 1 0 1 0
1 0 0 0 0 1 X X X X
1 0 0 1 X X X X X X
1 0 1 0 0 0 X X X X
1 0 1 1 X X X X X X
1 1 0 0 0 1 X X X X
1 1 0 1 X X X X X X
1 1 1 0 0 1 X X X X
1 1 1 1 0 0 X X X X
01 X 1 X X
11 X 1 X
10 X X
QA QB QC QD MC IS A B C D
0 0 0 0 0 1 X X X X
0 0 0 1 X X X X X X
0 0 1 0 X X X X X X
0 0 1 1 X X X X X X
0 1 0 0 a 1 0 1 0 0
0 1 0 1 1 X a 1 0 1
MC IS actiune 0 1 1 0 X X X X X X
0 0 DS0 0 1 1 1 X X X X X X
0 1 DS1 1 0 0 0 0 0 X X X X
1 X IP 1 0 0 1 0 a X X X X
0 prDS1 DS0+DS1 1 0 1 0 0 a X X X X
prIP 0 IP+DS0 1 0 1 1 X X X X X X
prIP 1 IP+DS1 1 1 0 0 1 X a 0 0 0
1 X IP+IP 1 1 0 1 1 X 1 0 0 1
1 1 1 0 X X X X X X
1 1 1 1 X X X X X X
0 0 0 0 X X X X X X
0 0 0 1 X X X X X X
0 0 1 0 X X X X X X
0 0 1 1 0 1 X X X X
0 1 0 0 0 1 X X X X
0 1 0 1 1 X 0 1 1 0
0 1 1 0 0 1 X X X X
0 1 1 1 0 0 X X X X
1 0 0 0 X X X X X X
1 0 0 1 0 0 X X X X
1 0 1 0 0 0 X X X X
1 0 1 1 0 1 X X X X
1 1 0 0 X X X X X X
1 1 0 1 0 1 X X X X
1 1 1 0 0 0 X X X X
1 1 1 1 X X X X X X