Sunteți pe pagina 1din 10

Capitolul 2.

Proiectarea Logic Modular


Pn acum am fost preocupai cu proiectarea circuitelor care au logic relativ simpl. Implementarea a fost cu pori simple, cum ar fi : NAND, NOR, XOR,etc. Definiie : Un modul capabil s implementeze toate cele n funcii se numete modul universal logic de ordinul n . n proiectarea acestor module, preocuparea principal este minimizarea numrului de pini.

2.1. Multiplexoare logice ( MUX )


Definiie : Un multiplexor este o reea combinaional logic cu n intrri n S = {S n 1 S n 2 ...S1 S 0 } , 2 intrri de date I 2n 1 I 2n 2 ...I 1 I 0 , o intrare de inhibare a modulului E ( activ jos ) i o ieire Z care realizeaz selectarea datelor de intrare n conformitate cu valoarea lui S .

I 0 I1 s0 s1
Vector de selecie

I 2n 1

MUX 2 n sn1
(ieire) Z

Unde : S 0 .....S n1 = intrrile de selecie

I 0 .....I 2n 1 = intrrile de date


E = intrare de control
Z = ieire Orice multiplexor este apelat prin mnemonica MUX urmat de numrul de intrri de date. n general, acesta este o putere a lui 2, deci n general avem MUX 2 n . Dac E = 1 atunci modulul este inhibat iar dac E = 0 atunci modulul funcioneaz. Vectorul S se numete vector de selecie. S 0 este bitul cel mai puin semnificativ i S n 1 este bitul cel mai semnificativ. Uneori, componentele vectorului S sunt denumite i variabile de control. Echivalentul zecimal al acestui vector de selecie reprezint indexul zecimal al datei de intrare care este selectat la ieire.

n general :
I daca E = 0 Z = i 0 daca E = 1

i = S n1 2 n1 + ... + S 0 2 0

Deoarece cu un vector binar de lungime n putem defini 2 n combinaii diferite de la 0 la 2 n 1 , putem spune c fiecare intrare de date poate fi transferat ctre ieirea Z . De aceea, multiplexoarele mai sunt denumite i selectori de date. Orice MUX poate fi reprezentat ca un sistem :
Z = MUX I , S , E

n practic, sunt disponibile urmtoarele tipuri de multiplexoare : MUX2, MUX4, MUX8, MUX16. Echivalentul ieirii este :
Z = S 0 S1 ...S n 1 I 0 + S 0 S1 ...S n 1 I 1 + ... + (S 0 S1 ...S n 1 )I 2n 1 =
2 n 1 j 0

(S 0b S1b ...S nb1 )I j


0 1 n 1

, (b0 b1 ...bn 1 )2 = j10

Implementarea multiplexorului MUX4 este prezentat n figura urmtoare :

Z = EN (I 0 S 0 S 1 + I1S 0 S1 + I 2 S 0 S1 + I 3 S 0 S1 )
Definiie : Un MUX vectorial este un MUX generalizat unde fiecare intrare de date i ieire este un vector de k bii. Un astfel de MUX se noteaz prin mnemonica MUX urmat de un index care reprezint dimensiunea vectorului i urmat de N care reprezint numrul de intrri. Operarea sa este similar.. Pentru o combinaie particular a vectorului de selecie S un vector de intrare este selectat i transmis ctre ieirea Z .

2.1.1. Implementarea sistemelor combinaionale cu multiplexoare

Implementarea unei funcii de comutaie cu ajutorul multiplexoarelor este facil. Urmtoarea procedur trebuie aplicat : Pasul 1 : Se selecteaz MUX 2 n ,unde n este numrul de variabile. Pasul 2 : Variabilele x1 ...x n se aplic pe intrrile de selecie S 0 ...S n 1 respectndu-se greutatea acestora:
X 1 S n 1 X 2 S n2 . . . X n S0

f (x 0 ... x n )

x 0 bitul cel mai semnificativ

Pasul 3 : Constanta 0 sau 1 se aplic pe intrrile de date I 0 , I 1 ,..., I 2n 1 respectndu-se tabela de adevr a funciei de comutaie ( fiecare echivalent zecimal al unei combinaii de variabile determin indexul datei de intrare pentru multiplexor. Pasul 4 : Se activeaz modulul prin conectarea lui E la 0 logic. Exemplu : Se d o funcie de trei variabile care se implementeaz cu MUX8. Apoi, este implementat o funcie cu 4 variabile cu MUX16. n fine este proiectat un sumator cu trei intrri i 2 ieiri n care C in i C out reprezint transporturi.
f (x1 x 2 x3 ) = (0,4,5,6)

1 0 0 0 1 1 1 0 x3 x2 x1 msb

S0 S1 S2

I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7

MUX 8

Z = (0,4,5,6)

f (x1 ...x 4 ) = (0,1,4,7,9,10,14,15)

1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1

x4 x3 x2 x1

S0 S1 S2

I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I10 I11 I12 I13 I14 I15

E
MUX 16

msb

S3
Z = (0,1,4,7,9,10,14,15)

C in

C out

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 1 0 1 0 0 1

0 0 0 1 0 1 1 1

C out (x, y , C in ) = (3,5,6,7 )

S (x, y, C in ) = (1,2,4,7 )

0 1 1 0 1 0 0 1

S0 S1 S2

I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7

MUX 8

S 00 0 1 0 1 1 1

S0 S1

I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7

MUX 8

msb

S2

0
C OUT

2.1.2. Arbori de multiplexoare


n situaia n care numrul de variabile este mai mare dect numrul de intrri de selecie pentru multiplexoarele disponibile, dou abordri sunt posibile : 1) Se pot folosi mai multe multiplexoare pentru a implementa un MUX mai mare cu ajutorul unei structuri arborescente. 2) Se folosete un MUX i logic auxiliar.
Definiie : Sinteza multiplexoarelor de dimensiuni mari folosind multiplexoare standard poart numele de procedur de extindere a multiplexoarelor.

Un arbore de multiplexoare presupune o implementare multinivel. Structura arborelui depinde de numrul de variabile i de tipul de multiplexoare disponibile. La primul nivel, regula general este c trebuie aplicate toate cele 2 n intrri de date iar ultimul nivel conine numai un multiplexor care produce ieirea general. Fiecare nivel realizeaz un anumit nivel de preselelecie, iar ultimul nivel realizeaz selecia final.

Fiecare nivel are propriul timp de propagare. Orice arbore de multiplexoare are o ntrziere n generarea ieirii care este egal cu suma ntrzierilor specifice fiecrui nivel.

Aa cum este prezentat n figur, vectorul de selecie S = (S 1 ...S n ) trebuie mprit n N vectori, fiecare trebuind s fie aplicat la nivelul su n arbore.
S = S n S n 1 ...S 1

Fiecare subvector este notat S j iar vectorul S poate fi reprezentat ca o reuniune de subvectori unde S j SELECTOR j . S n este subvectorul cel mai semnificativ i se aplic la ultimul nivel, N . Dimensiunile subvectorului S j depind de tipurile multiplexoarelor folosite la nivelul j . Pentru nceput considerm cazul particular al unui arbore cu dou nivele, n care n = 2k . Astfel, trebuie s implementm MUX 2 n din MUX 2 2 .
n

MUX 2

este :

I 0 I1

2 2 1

S0 S1 . . Sn
2

MUX 2 2
-1

msb

Z
Arborele este alctuit din dou nivele. La primul nivel folosim 2 2 MUX 2 nivel folosim un MUX 2 2 . Vectorul de selecie S este mprit n doi subvectori S 2 i S 1 .
S = S 2S1
n n n 2

iar la al doilea

S 2 reprezint partea cea mai semnificativ iar S 1 reprezint partea cea mai puin

semnificativ.

Structura general este :


I 0 I1 Ij I 2n 1 ------------------n 22

SINF

MUX

n 22

n 2
S SSUP

LEVEL 1

1
n 2

MUX

n 22

LEVEL 2

Z =Ij =I

SSUP . 22 + SINF

S = SSUP S INF SSUP = (S n -1 S n -2 .........S n )


2

S INF = (S n
2

Sn
2

........S1 S0 )

j=

n SUP S 22

+ S INF

Ieirile di primul nivel sunt notate Z 0 Z 1 ...Z unde :


I j = S 2 .2
n

2 1

. Aceste ieiri sunt conectate la intrrile de date

la al 2-lea nivel de multiplexoare. Ieirea general di al 2-lea nivel reprezint intrarea I j


2

+ S 1 , unde S 2 i S 1 reprezint echivalentul zecimal al subvectorilor .

Structura arborelui de multiplexoare este :

Z = I j = I SL

n .2 2

+ SR

2.1.3. Implementarea funciilor de comutaie cu arbori de multiplexoare


Avem la dispoziie multiplexoare de tip MUX4 i trebuie s construim un MUX16.
MUX 4 MUX 2 2 MUX 16 MUX 2
4

k =2 n=4

Structura va conine dou nivele de MUX4. Primul nivel conine 4 module MUX4 iar al doilea nivel conine un modul MUX4. Vectorul de selecie este format din 4 componente:
S = x1 x 2 x3 x 4 = (x1 x 2 )(x3 x 4 ) = S1 S R

Presupunem c vectorul de selecie este 0110. Echivalentul zecimal este 6. Trebuie s demonstrm c intrarea de date cu indexul 6 este cea selectat. Vectorul de selecie este mprit n S L i S R .
S L = (01) = 110 S R = (10 ) = 210 S R se aplic la primul nivel asupra tuturor multiplexoarelor. Astfel, toate intrrile cu indexul

zecimal 2 vor fi selectate. S L se aplic la al doilea nivel i selecteaz intrarea de date cu indexul 1, ceea ce nseamn c numai ieirea Z 1 este transferat ctre ieire. Z 1 este intrarea cu indexul 6 pentru multiplexorul nou creat, MUX16.

S-ar putea să vă placă și