Tema 5. Sistemes Combinacionals

13

Click here to load reader

Transcript of Tema 5. Sistemes Combinacionals

Page 1: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-1/13-

TEMA 5: SISTEMES COMBINACIONALS

OBJECTIUS 5.1. Assimilar el concepte de sistema combinacional i la lògica

combinacional associada. Entendre el paper dels senyals de control i dels diferents sistemes de codificació.

5.2. Comprendre el funcionament i implementació amb portes dels

sistemes combinacionals més fonamentals: codificadors, decodificadors, conversors de codi, multiplexors i demultiplexors.

5.3. Iniciar-se en altres sistemes combinacionals més complexos,

com comparadors, unitats aritmètico-lògiques, buffers i transmissors i receptors de dades.

PRÀCTICA ASSOCIADA: 9 5.4. Assolir agilitat en el disseny i implementació de circuits

combinacionals per executar una funció concreta, basats en portes lògiques.

5.5. Manipular circuits integrats de propòsit general i eines digitals

bàsiques com pot ser un entrenador lògic.

Page 2: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-2/13-

5. Sistemes combinacionals

5.1. Introducció 3 5.1.1. Símbols de terminals i senyals de control 3 5.1.2. Codificació de nombres 4

5.2. Decodificadors o descodificadors 5 5.3. Codificadors 6 5.4. Conversors de codi 7 5.5. Multiplexors o multiplexadors 7 5.6. Demultiplexadors 9 5.7. Sumadors binaris (operacions algebraiques) 9 5.8. Unitat aritmètico-lògica (ALU) 11 5.9. Buffers i transmissors/receptors de dades 12 5.10. Comparadors binaris 13

Page 3: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-3/13-

SISTEMES COMBINACIONALS

Els sistemes combinacionals són aquells que subministren una o més sortides que depenen únicament del valor actual de les entrades; no necessiten, per tant, elements de memòria ni sistemes interns de sincronisme (rellotge). Com a exemple podem citar la suma: 2+2 són sempre 4, independentment del que haguem sumat abans.

En aquest capítol s’introdueixen els terminals de control que normalment

apareixen en la implementació de sistemes combinacionals i el significat de la codificació, per seguidament passar a la descripció dels circuits combinacionals més freqüents.

5.1. Introducció

A més dels terminals de dades d’entrada i sortida (E/S), els circuits integrats (CI) acostumen a necessitar terminals de control, polarització (Vcc) i terra (GND).

5.1.1. Símbols de terminals i senyals de control Existeixen diversos tipus de terminals de control. Per exemple, s’utilitza amb

freqüència el terminal de control ENABLE (habilitar). En una porta NAND es representa així:

Si E=1 el circuit està habilitat per a realitzar la funció per la que ha estat pensat. No obstant, mentre el terminal ENABLE sigui un 0 lògic, la funció de sortida estarà completament desconnectada del circuit, sent la sortida un estat inactiu d’alta impedància (sortida tri-state o de 3 estats: alt, baix i inactiu).

L’habilitació també es pot produir en alguns casos quan E=0. Llavors es diu que

el circuit és ACTIVE-L i es sol etiquetar com ENABLE-LOW o ENABLE. Fins i tot de vegades apareixen alguns terminals etiquetats com DISABLE. Les equivalències són:

ENABLE-HIGH = ENABLE = DISABLE-LOW = DISABLE ENABLE-LOW = ENABLE = DISABLE-HIGH = DISABLE

A B C

ENABLE

Page 4: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-4/13-

5.1.2 Codificació de números Com hem vist en el capítol anterior, en molts casos, els números decimals no es converteixen directament a codi binari natural, sinó a altres sistemes codificats de maneres especials, com el BCD. Existeixen altres modes de codificació com: BCD excés-3 (més simètric entre el 0 i el 9), codi 2 de 5 (sempre s’activen 2 i només 2, de manera que sempre es subministra la mateixa intensitat a la sortida), codi Gray (d’un dígit al següent només canvia un bit, útil per a comptadors, etc), codi de 7 segments (per a visualitzadors), etc. Alguns del codis més utilitzats es resumeixen en la següent taula:

Xifra decimal

BCD

x3x2x1x0

BCD Excés-3x3x2x1x0

2 de 5

x4x3x2x1x0

Gray

x3x2x1x00 1 2 3 4 5 6 7 8 9

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

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

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

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

Un dels casos més especials és el codi de 7 segments, utilitzat a les pantalles LCD (Liquid Crystal Display) per visualitzar numèricament els resultats obtinguts a partir de funcions lògiques, i que permet visualitzar els valors numèrics entre 0 i 9. Aquest codi no és útil per utilitzar-lo com a càlcul, sinó que fa falta convertir la sortida del circuit a algun codi operable (per exemple BCD o binari natural), realitzar el càlcul i finalment reconvertir a 7 segments per visualitzar el resultat.

Codi de 7 segments decimal B6 B5 B4 B3 B2 B1 B0

0 1 2 3 4 5 6 7 8 9

0 0 1 1 1 1 1 0 1 1

1 0 1 1 0 1 1 0 1 0

1 1 0 1 1 1 1 1 1 1

1 1 1 1 1 0 0 1 1 1

1 0 1 1 0 1 1 1 1 1

1 0 0 0 1 1 1 0 1 1

1 0 1 0 0 0 1 0 1 0

Els circuits en escala d’integració mitjana (MSI) associats als problemes de codificació són les CODIFICADORS i DECODIFICADORS (o DESCODIFICADORS).

B0

B1

B2

B3

B4 B5

B6

Page 5: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-5/13-

5.2. Decodificadors o descodificadors Són sistemes combinacionals que activen una sortida o altra segons una combinació binària aplicada a les seves entrades. Un decodificador de n bits d’entrada, tindrà 2n bits de sortida. S’anomenen excitadors si les seves sortides poden controlar indicadors numèrics. Per exemple, imaginem un número o certa informació codificada en binari en dos bits A0A1. La característica més important és que per a cada parella A0A1, una i només una sortida és 1 lògic. En aquest exemple que estem considerant, el circuit es pot implementar únicament amb portes AND.

Per apreciar per què el circuit s’anomena codificador, suposem que cada sortida es connecta a un circuit individual, que permet que un LED s’il·lumini quan el nivell lògic de la sortida corresponent sigui 1. D’aquesta manera, l’efecte net del circuit seria fer explícit el que representen implícitament les entrades, i.e. un número decimal associat a cadascuna de les posicions. És a dir, la informació d’entrada, donada com una paraula de codi, ha estat descodificada. Els decodificadors decimals (BCD a decimal) més habituals en MSI són els que generen els productes del 0 al 9 de 4 variables binàries (BCD). Una qualsevol de les sortides agafa el valor 0 (active low) únicament quan apareix una certa combinació d’entrades. Necessitarem 10 portes AND de les que algunes no tindran 4 entrades, ja que hi ha condicions irrellevants (don´t care) corresponents als números del 10 al 15, que mai no es representaran a l’entrada. En la figura següent es presenta un decodificador BCD a decimal. És una unitat MSI 74HC42 amb 4 entrades A, B, C, D i 10 línies de sortida. A més, hi ha d’haver una connexió a terra i una altra a l’alimentació de potència, i per tant es fa necessari un encapsulat de 16 potes com a mínim. Les entrades -A, -B, -C, -D s’obtenen d’inversors en el mateix xip. Com que s’utilitzen portes NAND una sortida és 0 (L) pel codi BCD correcte, i és 1 (H) per a qualsevol altre codi. Aquest decodificador de 4 a 10 línies actua també com un commutador de 10 posicions (DEMULTIPLEXADOR) que respon a les instruccions d’una entrada BCD. Moltes vegades s’afegeix una entrada inhibidora S, de manera que si S = 0 les portes NAND queden inhibides.

A0 A1 O0 O1 O2 O30 0 1 1

0 1 0 1

1 1

1

1

A0 A1

O0 O1 O2 O3

Page 6: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-6/13-

5.3. Codificadors Realitzen la funció inversa del decodificador. Són circuits combinacionals de 2n entrades i n sortides realitzats de tal manera que quan una de les entrades adopta un estat determinat (0 o 1), apareix a la sortida la combinació binària corresponent al número decimal assignat a l’entrada. Es diu que els codificadors són amb prioritat, quan en el cas que més d’una entrada agafa l’estat actiu, la sortida correspon a la combinació binària de valor decimal més gran, sense tenir en compte la resta. Un exemple de taula d’un codificador amb prioritat és:

EI A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 Q2 Q1 Q0 GS EO 1 0

X 1

X 1

X 1

X 1

X 1

X 1

X 1

X 1

X 1

X 1

0 0

0 0

0 0

1 1

1 0

0 0 0 0 0 0 0 0

X X X X X X X X

X X X X X X X X

X X X X X X X 0

X X X X X X 0 1

X X X X X 0 1 1

X X X X 0 1 1 1

X X X 0 1 1 1 1

X X 0 1 1 1 1 1

X 0 1 1 1 1 1 1

0 1 1 1 1 1 1 1

1 1 1 1 0 0 0 0

1 1 0 0 1 1 0 0

1 0 1 0 1 0 1 0

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

L’entrada EI és una entrada d’inhibició. Si EI = 1 el circuit està inhibit. L’entrada GS permet ensamblar codificadors per obtenir un major número d’entrades. A la pàgina següent està representat el diagrama lògic d’aquest codificador. Es pot verificar que la major prioritat s’assigna a A9, ja que la sortida és 111 independentment de les altres entrades.

Page 7: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-7/13-

5.4. Conversors de codi Freqüentment, la informació codificada s’ha de traduir a un codi diferent; al circuit lògic que realitza aquesta traducció se l’anomena conversor de codi. Un conversor de codi pot construir-se connectant en sèrie un decodificador i un codificador.

Un exemple interessant de conversor de codi és el que tradueix una paraula BCD a 7 segments, que és el xip que s’utilitzarà en la pràctica 9 per a realitzar el control d’un visualitzador (display) de cristall líquid. El circuit comercial que s’utilitzarà és el 74HC4543, que es descriu al manual de pràctiques. 5.5. Multiplexors o multiplexadors. És un circuit combinacional amb n entrades d’informació i m entrades de selecció, tal que 2m = n. Permet enviar a la única sortida la informació seleccionada d’una de les entrades.

DECODIFI

CADOR

CODIFI CADOR

A0 A1 ... Am-1

Z0 Z1 ... Zn-1

B0 B1 ... Bn-1

Page 8: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-8/13-

En essència, l’operació que realitza és la de la següent figura:

La posició del commutador es pot seleccionar, i determinarà el senyal d’entrada que apareixerà a la sortida. Estructura lògica d’un multiplexor de 4 a 1 línies:

Consta de 4 entrades I0I1I2I3 que poden seleccionar-se amb els bits S1 i S0, que determinen la porta AND habilitada. Per exemple si S1 = S0 = 0, només s’habilitarà la porta G0 i I0 apareixerà a la sortida. Les sortides de la resta de portes AND estaran a 0 lògic; per tant, la sortida de la porta OR serà I0. Les parelles S1S0 = 01, 10 i 11 transmetran a la sortida les entrades I1, I2 i I3 respectivament.

El multiplexador es pot utilitzar com a generador de funcions de les variables S0S1, a través de les quals es generen els diferents minterms mi. Per exemple, G0 genera (-S0)(-S1), que és el minterm m0; G1 genera S0(-S1) que és m1; etc. i podem considerar I0-I3 com a entrades d’habilitació: si I0 = 1, la sortida de G0 és (-S0)(-S1) i s’habilita m0, etc. Així, si per exemple volem generar la següent funció Z:

Z = (-S1) + S1 (-S0) = (-S1)(-S0) + (-S1)S0 + S1(-S0) = m0 + m1 + m2 amb l’anterior multiplexor necessitem fer I0 = I1 = I2 = 1; I3 = 0

Comercialment, és habitual trobar: • Quàdruble MUX de 2 canals • Doble MUX de 4 canals • MUX de 8, 16 canals

Un cas típic d’aplicació dels MUX és el d’un perifèric compartit per diversos dispositius, per exemple un BUS de dades, una impressora compartida per diversos ordinadors, etc.

Control per commutar

G0

G1

G2

G3

S1 S0

I0

I1 I2 I3

Page 9: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-9/13-

5.6. Demultiplexadors Tenen 1 entrada d’informació, n entrades de selecció i 2n sortides. Segons la combinació de les entrades de selecció, es pot fer aparèixer la informació en una sortida determinada. Normalment es realitza a partir de decodificadors A0A1A2 que seleccionen una sortida (S), que presentarà la informació D. 5.7. Sumadors binaris (operacions algebraiques) Fins aquí s’ha vist com realitzar operacions de tipus lògic. No obstant, un calculador digital o sistema digital ha de contenir circuits que efectuen operacions aritmètiques tals com +, -, *, /. Les operacions bàsiques són +, - , i ara veurem com es poden implementar. Semisumador d’1 bit. A, B entrades. S: dígit de suma C: carry quan es sobrepassa la unitat en S, s’acumula 1 al dígit superior. Taula de veritat: . Sumador complet. Dos nombres multidígits poden sumar-se en sèrie (una columna cada vegada) o en paral·lel (totes les columnes alhora). Per a això cal un sumador complet per a cada dígit, és a dir que tingui en compte el carry juntament amb els sumands. Carry d’entrada

Sumand Sumand Carry de sortida

Suma

Ci Ai Bi Ci+1 Si 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 0 0 1 0 1 1 1

0 1 1 0 1 0 0 1

A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

Sumador

total

AiBiCi

Si Ci+1

Semi sumador

A B

S C

A0 A1 A2 D

S0 S1 S2 S3 S4 S5 S6 S7

DECODIFICADORDECIMAL

A B

XOR

S = AB + AB = A ⊕ B

C = AB

Page 10: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-10/13-

Les funcions corresponents a la suma i al carry de sortida són:

iiiiii1i

iiiiiiiiiiiiiiii

CBCABACCBACBACBACBACBAS

++=⊕⊕=+++=

+

Estructura d’un sumador complet:

En la suma en paral·lel, el primer sumador combina A0 i B0 per generar S0 i C1. El bit d’arrossegament es combina en el següent sumador amb els bits A1 i B1 per a generar S1 i C2 i així successivament.

Alternativament, la suma es pot realitzar en sèrie, amb un sol sumador complet, sempre que es disposi d’un sistema de sincronisme (rellotge) i d’un sistema d’emmagatzematge (flip-flop o memòria). En aquest cas es tracta d’un sistema seqüencial, ja que hi intervé el temps.

Restar seria sumar nombres negatius, i per això es poden utilitzar diferents representacions, com la de complement a 2. En aquesta representació es fixa un mòdul, que per a un número de 4 bits serà M = 24 = 16 = 10000(2 . Es defineix llavors el Ca2 d’un número N com: N(2) = M-N mòd. M.

Page 11: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-11/13-

Exemple: N = 0(10 N = 1(10 N = 2(10 N = 3(10 N = 4(10 N = 0000(2 N = 0001(2 N = 0010(2 N = 0011(2 N = 0100(2

N(2) = 0000 N(2) = 1111 N(2) = 1110 N(2) = 1101 N(2) = 1100 mòd. 16 ↵

Veiem que s’han de complementar tots els bits a partir de l’1 menys significatiu. En els sumadors, els números negatius es representen pel seu Ca2 i es sumen normalment. Cal, però remarcar que, d’aquesta manera, pels números positius el dígit més significatiu és 1 i pels negatius és 0; i en el cas particular del 0, (0)0000 = (1)0000 com s’ha indicat. 0 1 1 0 6 1 0 1 1 -5 + 1 1 1 1 -1 + 0 0 1 0 2 (1) 0 1 0 1 5 (0) 1 1 0 1 -3

5.8. Unitat aritmètico-lògica (ALU) Una ALU (Arithmetic Logic Unit) és un dispositiu combinacional que accepta com entrada dues paraules de n bits, A = An-1...A0 i B = Bn-1....B0, que poden ser números o representar alguna informació codificada en binari. Te també un mode d’entrada M i una sèrie de bits de selecció de funcions S0, S1, ... L’ALU genera una funció de sortida F = Fn-1...F0 que està relacionada amb les entrades, lògicament o aritmèticament. El bit de selecció de mode determina si la funció generada és lògica o aritmètica. Els bits de selecció de funció determinen la funció específica que es genera. Les ALU’s es poden combinar per augmentar el número de bits. Com a exemple, el diagrama de blocs d’una ALU MC10181 (ECL), similar a la SN74181 (TTL) és el següent:

L’entrada C0 és un carry anterior, necessari per combinar dues ALU’s quan en una suma anterior en portàvem 1. De la mateixa manera, C1 és un carry de sortida. P i G són els propagadors i generadors de carry. Quan M = 1 les operacions són lògiques, mentre que M = 0 selecciona una combinació d’operacions lògiques i aritmètiques. La seva taula de funcionament és:

Entrades de dades

ALU

B3B2B1B0 A3A2A1A0

F3F2F1F0 C1 P G

C0

S3 S2 S1 S0

(Selecció)M (modes)

Sortides

Page 12: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-12/13-

L’ALU sol estar integrada en el microprocessador, el circuit integrat més complex que existeix, on operen les funcions lògiques i aritmètiques. 5.9. Buffers i transmissors/receptors de dades El buffer o line-driver és un dispositiu unidireccional que regenera el senyal. Te com a principal missió la de:

1. fer que un determinat senyal pugui injectar més corrent i alimentar més unitats a la sortida

2. aïllar la font de senyal d’un circuit del lloc on ha d’aplicar-se, o 3. convertir en lògica de 3 estats (alt, baix i inactiu) una línia determinada perquè

pugui connectar-se a una connexió comuna. Un transmissor/receptor és bidireccional, i la seva configuració interna de connexions permet que un terminal del xip pugui ser entrada o sortida, en funció d’un senyal de control que determina el sentit de transferència. Exemples en TTL:

• Buffers octals amb sortida tri-estat: 74241 74244

• Quadruple Bus Transceivers: 74242 74243

• Octal Bus Transceiver tri-state: 74245

Page 13: Tema 5. Sistemes Combinacionals

Tema 5: Sistemes combinacionals

-13/13-

5.10. Comparadors binaris Un comparador accepta dos números binaris compostos d’un número determinat de bits i genera senyals de sortida que indiquen la relació entre les magnituds d’entrada. Comercialment existeixen blocs comparadors de 4 i 5 bits. També existeixen comparadors de 4 bits que tenen entrades addicionals per poder-los combinar, augmentant el número de bits a comparar.