Está en la página 1de 175

CIRCUITOS Y SISTEMAS DIGITALES

Departamento de Electronica y Comunicaciones


Universidad Pontifica de Salamanca en Madrid

Apuntes de clase
A
B

D
E
G

Juan Gonzlez Gmez


Versin 0.3.7
Octubre-2002

Sobre estos apuntes


Estos apuntes se estn realizando para cubrir el temario de la asignatura Circuitos y sistemas digitales , del Departamento de Electrnica y Comunicaciones, que se imparte en primero de Escuela y Facultad de Informtica en la Universidad Ponticia de Salamanca en Madrid
(UPSAM)[2].
Se han publicado bajo una licencia libre, de manera que se puedan copiar, distribuir y/o
modicar. Y se ha hecho as por decisin del autor. El conocimiento siempre se ha difundido
mediante las copias. En la edad media se realizaban copias a mano de los libros en los monasterios. Posteriormente con la aparicin de la imprenta, ese proceso que tardaba muchos aos
se redujo drsticamente, permitiendo adems obtener un nmero muchsimo mayor de copias,
con lo que mayor cantidad de gente tena acceso a los conocimientos. Actualmente tenemos
prohibido copiar total o parcialmente los libros. Slo hay que mirar las notas que aparecen en la
contraportada. Y esta es una de las paradojas que existen hoy en da en el mundo de la enseanza:
El conocimiento lo puede transmitir el profesor oralmente, sin embargo, no es posible realizar
copias del conocimiento que existe en los libros. Y si lo copias ests violando la ley.
Poco a poco, estn apareciendo publicaciones y sobre todo software que permiten que se
realicen copias. Es ms, se incita a que se hagan estas copias, pues es la nica manera de que
se transmita el conocimiento. Y no slo eso, sino que se permite su modicacin, de manera
que cada vez se vayan enriqueciendo ms. Es un enfoque similar al del mundo cientco: el
descubrimiento de cada cientco pasa a ser parte de la comunidad cientica, para que otras
personas los puedan utilizar para realizar nuevos descubrimientos.
Este es un asunto polmico, que visto desde una perspectiva cientca tiene mucho sentido,
pero visto desde una perspectiva comercial puede poner los pelos de punta a ms de uno. A m me
gusta ms el enfoque cientco de la enseanza. Y es ese conocimiento el que tiene que circular
libremente, motivo por el cual estos apuntes tienen una licencia libre.
3

Licencia
Se concede permiso para copiar, distribuir y/o modicar este documento bajo los trminos de
la Licencia de Documentacin Libre de GNU (GNU Free Documentation License)[1]

ndice general
1. Introduccin

13

1.1. Electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2. Tipos de electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.1. Electrnica Analgica . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2. Electrnica digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3. Circuitos y sistemas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4. Organizacin de los apuntes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Sistemas de representacin

21

2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Algunos sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1. Sistema octal (Base 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.2. Sistema binario (Base 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.3. Sistema hexadecimal (Base 16) . . . . . . . . . . . . . . . . . . . . . . 25
2.4. Generalizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5. Tabla de conversin para los sistemas
decimal- binario- hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6. Circuitos digitales y el Sistema binario . . . . . . . . . . . . . . . . . . . . . . . 26
2.7. Sistema binario y sistema hexadecimal . . . . . . . . . . . . . . . . . . . . . . . 28
2.8. Bits y electrnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9. Otros sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10. Terminologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.11. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.12. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5

NDICE GENERAL

6
3. ALGEBRA DE BOOLE

33

3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2. Las operaciones del lgrebra de Boole . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.1. La operacin + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.2. La operacin

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.3. La negacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Las propiedades del lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . 37
3.4. Teoremas importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5. Funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.1. Funciones reales y funciones booleanas . . . . . . . . . . . . . . . . . . 40
3.5.2. Funciones booleanas y tablas de verdad . . . . . . . . . . . . . . . . . . 43
3.6. Formas cannicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.1. Primera forma cannica . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.2. Segunda forma cannica . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7. Simplicacin de funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . 50
3.7.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7.2. Mtodo analtico de simplicacin de funciones . . . . . . . . . . . . . . 51
3.7.3. Mtodo de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.8. La operacin

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.9. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4. CIRCUITOS COMBINACIONALES

69

4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2. Puertas lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.1. Puertas bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2. Otras puertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2.3. Circuitos integrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.2.4. Otras tecnologas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3. Diseo de circuitos combinacionales . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3.1. El proceso de diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3.2. Implementacin de funciones con cualquier tipo de puertas . . . . . . . . 79
4.3.3. Implementacin de funciones con puertas NAND . . . . . . . . . . . . . 82
4.3.4. Implementacin de funciones con puertas NOR . . . . . . . . . . . . . . 87
4.4. Aplicacin: Diseo de un controlador para un robot seguidor de lnea . . . . . . 90

NDICE GENERAL

4.4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4.2. Especicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.3. Diagrama de bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4.4. Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.4.5. Ecuaciones booleanas del circuito . . . . . . . . . . . . . . . . . . . . . 94
4.4.6. Implementacin del circuito . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5. Anlisis de circuitos combinacionales . . . . . . . . . . . . . . . . . . . . . . . 95
4.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5. CIRCUITOS MSI (1): Multiplexores y demultiplexores

103

5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103


5.2. Multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2.2. Multiplexores y bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.2.3. Multiplexores de 1 bit y sus expresiones booleanas . . . . . . . . . . . . 107
5.3. Demultiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.2. Juntando multiplexores y demultiplexores . . . . . . . . . . . . . . . . . 115
5.3.3. Demultiplexores y bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.3.4. Demultiplexores de 1 bit y sus expresiones booleanas . . . . . . . . . . . 117
5.4. Multiplexores con entrada de validacin (ENABLE) . . . . . . . . . . . . . . . . 120
5.4.1. Entrada de validacin activa a nivel alto . . . . . . . . . . . . . . . . . . 120
5.4.2. Entrada de validacin activa a nivel bajo . . . . . . . . . . . . . . . . . . 122
5.5. Extensin de multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.5.1. Aumento del nmero de entradas . . . . . . . . . . . . . . . . . . . . . 123
5.5.2. Aumento del nmero de bits por canal . . . . . . . . . . . . . . . . . . . 127
5.6. Implementacin de funciones con MXs . . . . . . . . . . . . . . . . . . . . . . 130
5.6.1. Mtodo basado en el Algebra de Boole . . . . . . . . . . . . . . . . . . 131
5.6.2. Mtodo basado en la tabla de verdad . . . . . . . . . . . . . . . . . . . . 132
5.6.3. Implementacin de funciones con multiplexores con entrada de validacin 135
5.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

NDICE GENERAL

8
6. Codicadores, decodicadores y comparadores

139

6.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139


6.2. Codicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.2.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.2.2. Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.3. Decodicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3.2. Tablas de verdad y Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . 144
6.3.3. Entradas de validacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.3.4. Tipos de decodicadores segn sus salidas . . . . . . . . . . . . . . . . 148
6.4. Aplicaciones de los decodicadores . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4.1. Como Demultiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4.2. Implementacin de funciones . . . . . . . . . . . . . . . . . . . . . . . 149
6.5. Resumen de implementacin de funciones . . . . . . . . . . . . . . . . . . . . . 149
6.6. Comparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.6.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.6.2. Comparador de dos bits . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.6.3. Comparador de nmeros de 4 bits . . . . . . . . . . . . . . . . . . . . . 149
6.6.4. Extensin de comparadores . . . . . . . . . . . . . . . . . . . . . . . . 149
6.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7. CIRCUITOS ARITMETICOS

151

7.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152


7.2. Circuitos sumadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.2.1. Sumadores de nmeros de 1 bit . . . . . . . . . . . . . . . . . . . . . . 152
7.2.2. Sumadores de nmeros de ms de 1 bit . . . . . . . . . . . . . . . . . . 152
7.3. Circuitos restadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.3.1. Restador en ca1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.3.2. Restador en ca2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4. Sumador/restador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4.1. En ca1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.4.2. En ca2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.5. Aplicacin de los sumadores: transcodicadores . . . . . . . . . . . . . . . . . . 152
7.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

NDICE GENERAL

7.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152


8. BIESTABLES

153

9. REGISTROS

155

10. CONTADORES

157

11. AUTOMATAS FINITOS

159

12. Solucin a los ejercicios propuestos

161

12.1. Sistemas de representacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161


12.2. Algebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

10

NDICE GENERAL

ndice de guras
1.1. Un circuito electrnico muy simple: pila, interruptor y bombilla . . . . . . . . . 14
1.2. Un trozo de una seal acstica . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3. Conversin de una seal acstina en una seal elctrica . . . . . . . . . . . . . . 16
1.4. Un sistema de tratamiento de voz, con electrnica analgica . . . . . . . . . . . 16
1.5. Sistema digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.6. Un circuito digital genrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1. Un circuito digital genrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2. Dgitos y pesos del nmero 3281 . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3. Un circuito digital genrico, con entradas y salidas binarias . . . . . . . . . . . . 27
2.4. Un circuito digital con tres bits de entrada y 4 de salida . . . . . . . . . . . . . . 27
2.5. Utilizacin del sistema binario para expresar el estado de 5 bombillas . . . . . . 28
2.6. Cmo introducir dgitos binarios por un bit de la entrada de un circuito digital . . 29
4.1. Un circuito digital, con m bits de entrada y n de salida . . . . . . . . . . . . . . . 69
4.2. Un circuito digital constituido por otros dos circuitos interconectados . . . . . . 70
4.3. Un circuito combinacional de 3 entradas y 2 salidas . . . . . . . . . . . . . . . . 71
4.4. Algunos smbolos empleados en la electrnica analgica . . . . . . . . . . . . . 71
4.5. Dos circuitos integrados, junto a una moneda de 1 euro . . . . . . . . . . . . . . 75
4.6. Esquema del integrado 7402 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7. Una placa de circuito impreso (PCB) vista desde abajo . . . . . . . . . . . . . . 77
4.8. El microbot Tritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.9. Microbot Tritt sin la tarjeta CT6811 . . . . . . . . . . . . . . . . . . . . . . . . 92
5.1. Simitud entre un multiplexor y un sistema de agua de una granja . . . . . . . . . 104
5.2. Sistema de agua de 4 tuberas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.3. Un multiplexor que selecciona entre 4 canales de datos . . . . . . . . . . . . . . 105
11

12

NDICE DE FIGURAS
5.4. Dos multiplexores de 4 canales de entrada . . . . . . . . . . . . . . . . . . . . . 106
5.5. Similitud entre un demultiplexor y un sistema de agua de una granja . . . . . . . 113
5.6. Sistema de agua de 4 mangueras . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.7. Un demultiplexor que selecciona entre 4 canales de datos . . . . . . . . . . . . . 114
5.8. Una alternativa para comunicar sistemas . . . . . . . . . . . . . . . . . . . . . . 115
5.9. Uso de un multiplexor y demultiplexor para transmisin de datos por un nico
cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.10. Dos demultiplexores de 4 canales de salida . . . . . . . . . . . . . . . . . . . . 117
6.1. Circuito de control de una cadena de msica, y 4 botones de seleccin de lo que
se quiere escuchar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.2. El semforo que se quiere controlar . . . . . . . . . . . . . . . . . . . . . . . . 144
6.3. Circuito de control del semforo, usando un decodicador de 2 a 4 . . . . . . . . 144
6.4. Un decodicador de 2 a 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.5. Un decodicador de 3 a 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
6.6. Un decodicador de 2 a 4, con entrada de validacin activa a nivel bajo . . . . . 147
6.7. Un decodicador de 2 a 4 con salidas activas a nivel bajo . . . . . . . . . . . . . 148

Captulo 1
Introduccin
Antes de entrar en los detalles de esta asignatura, es interesante tener una perspectiva mayor,
para entender el contexto de esta asignatura, en qu fundamentos se basa y cmo se relaciona
con el resto de asignaturas.

1.1. Electrnica
Esta asignatura trata sobre Electrnica. La Elecrnica estudia el comportamiento de los electrones en diversos medios, y se aplican estos conocimientos para conseguir que los electrones
hagan lo que nosotros queramos. As por ejemplo, si construimos un circuito electrnico constituido por una pequea bombilla, una pila y un interruptor (gura 1.1) y lo conectamos, lograremos que los electrones circulen por todo el circuito y que al atravesar la bombilla parte de ellos
se conviertan en luz1 . Hemos conseguido que los electrones nos obedezcan!!
Para dominar a los electrones, es necesario crear circuitos electrnicos, formados por materiales conductores (cables) que unen todos los componentes del circuito, de la misma manera
que hay tuberas de agua que recorren nuestras casas, uniendo diferentes elementos: grifos, llaves
de paso, el contador del agua...
El objetivo de la electrnica aplicada es construir circuitos electrnicos para que los
electrones se comporten de la manera que a nosotros nos interese.

No es el objetivo de estos apuntos el entrar en los detalles de los fenmenos fsicos que subyacen en los cirucitos
electrnicos. Se pretende que el alumno tenga una intuicin de lo que est pasando.

13

CAPTULO 1. INTRODUCCIN

14
Interruptor abierto

Bombilla

Pila

Interruptor cerrado

Bombilla

Pila

Electrones

Figura 1.1: Un circuito electrnico muy simple: pila, interruptor y bombilla

1.2. Tipos de electrnica


1.2.1. Electrnica Analgica
Uno de los grandes retos del hombre es el de manipular, almacenar, recuperar y transportar
la informacin que tenemos del mundo en el que vivimos, lo que nos permite ir progresando
poco a poco, cada vez con ms avances tecnolgicos que facilitan nuestra vida y que nos permiten
encontrar respuestas a preguntas que antes no se podan responder.
Ahora estamos viviendo un momento en el que esa capacidad de manipulacin, almacenamiento, recuperacin y transporte de la informacin est creciendo exponencialmente, lo que
nos convierte en lo que los socilogos llaman la Sociedad de la informacin, y que tendr (de
hecho ya tiene) grandes implicaciones sociales.
Con la aparicin de la electrnica las posibilidades para desarrollar esas capacidades aumentaron considerablemente. Para comprender los principios de la electrnica analgica, nos centraremos en un ejemplo concreto: la manipulacin, almacenamiento, recuperacin y transporte
de una voz humana.
Cuando hablamos, nuestras cuerdas vocales vibran de una determinada manera, lo que originan que las molculas del aire tambin lo hagan, chocando unas con otras y propagando esta
vibracin. Si no existiesen esas molculas, como en el espacio, el sonido no se podra propagar. 2
2

Aunque en la mayora de las pelculas de ciencia-ccin, cuando una nave destruye a otra en el espacio, se

1.2. TIPOS DE ELECTRNICA

15

Posicion
molecula

Tiempo

Figura 1.2: Un trozo de una seal acstica


Si medimos la vibracin de una de estas molculas, durante un intervalo corto de tiempo, y
la pintamos, podra tener una pinta como la que se muestra en la gura 1.2. A esta vibracin la
llamaremos seal acstica.
Cuando esta seal acstica incide sobre un micrfono, aparece una seal elctrica que tiene
una forma anloga a la de la seal acstica. Las vibraciones de las molculas se han convertido
en variaciones del voltaje, que al nal se traducen en vibraciones de los electrones. Es decir, que
con los micrfonos lo que conseguimos es que los electrones vibren de una manera anloga a
cmo lo hacen las molculas del aire (ver gura 1.3).
Esta nueva seal elctrica que aparece, se denomina seal analgica, puesto que es anloga
a la seal acstica original. De esta manera, con seales elctricas conseguimos imitar las seales
del mundo real. Y lo que es ms interesante, conseguimos que la informacin que se encuentra
en la vibracin de las molculas del aire, pase a los electrones. Cuanto mejor sea el micrfono,
ms se parecer la seal elctrica a la acstica, y la informacin se habr copiado con ms
delidad.
La electrnica analgica trata con este tipo de seales, anlogas a las que hay en el mundo
real, modicando sus caractersticas (ej. amplicndola, atenundola, ltrndola...).
Fijmonos en el esquema de la gura 1.4. La persona que habla emite una seal acstica
que es convertida en una seal electrnica analgica por el micrfono. Estas dos seales son
muy parecidas, pero la que sale del micrfono es ms pequea. Por ello se introduce en un
circuito electrnico, llamado amplicador, que la agranda (la ha manipulado). A continuacin
esta seal se puede registrar en una cinta magntica de audio. Lo que se graba es una copia
de la seal, pero ahora convertida a seal magntica. En cualquier momento la seal se puede
escucha un sonido de explosin.Fenmeno que es imposible!!!!!, pero que queda muy vistoso :-)

CAPTULO 1. INTRODUCCIN

16

Ambas seales
son muy parecidas

Seal
acustica

Persona
hablando
:)

Seal
electrica
analogica

Microfono

Cable

Figura 1.3: Conversin de una seal acstina en una seal elctrica

Seal
acustica

Seal
electrica

Seal
electrica

Seal
electrica
Seal
acustica

Microfono
Amplificador

Sistema de
transmision
recepcion

Cinta de audio
Seal
"magnetica"

Figura 1.4: Un sistema de tratamiento de voz, con electrnica analgica

1.2. TIPOS DE ELECTRNICA

17

volver a recuperar, convirtindose de seal magntica nuevamente a seal elctrica. Una parte
del sistema se ha llamado sistema de transmisin-recepcin indicndose con esto que la seal
elctrica se puede transportar (Por ejemplo el sistema telefnico). Finalmente se introduce por
un altavoz que relaliza la conversin inversa: pasar de una seal elctrica a una acstica que se
puede escuchar.
Los problemas de los sitemas analgicos son:
1. La informacin est ligada a la forma de la onda. Si esta se degrada, se pierde informacin
2. Cada tipo de seal analgica necesita de unos circuitos electrnicos particulares (No es
lo mismo un sistema electrnico para audio que para vdeo, puesto que las seales tienen
caractersticas completamente diferentes).
En las seales analgicas, la informacin se encuentra en la forma de la onda

1.2.2. Electrnica digital


Existe otra manera de modicar, almacenar, recuperar y transportar las seales, solucionando los problemas anteriores. Es un enfoque completamente diferente, que se basa en convertir
las seales en nmeros.
Existe un teorema matemtico (teorema de muestreo de Nyquist) que nos garantiza que cualquier seal se puede representar mediante nmeros, y que con estos nmeros se puede reconstruir la seal original.
De esta manera, una seal digital, es una seal que est descrita por nmeros. Es un conjunto
de nmeros. Y la electrnica digital es la que trabaja con seales digitales, o sea, con nmeros.
Son los nmeros los que se manipulan, almacenan, recuperan y transportan.
Reexionemos un poco. Estamos acostumbrados a escuchar el trmino televisin digital, o
radio digital. Qu signica esto? Signica que lo que nos estn enviando son nmeros!!!!!
Que la informacin que nos envan est en los propios nmeros y no en la forma que tenga la
seal que recibidos. Y qu es un sistema digital?, un sistema que trabaja con nmeros. Y un
circuito digital? Un circuito electrnico que trabaja con nmeros. Y slo con nmeros!!
Si nos jamos, con un ordenador, que es un sistema digital, podemos escuchar msica o ver
pelculas. La informacin que est almacenada en el disco duro son nmeros.
En la gura 1.5 se muestra un sistema digital. La seal acstica se convierte en una seal
elctrica, y a travs de un conversor analgico-digital se transforma en nmeros, que son procesados por un circuito digital y nalmente convertidos de nuevo en una seal electrnica, a

CAPTULO 1. INTRODUCCIN

18
Seal
acustica

Seal digital
(NUMEROS)
Seal
electrica

Seal
electrica

A/D

5083...

Microfono

transformar
Almacenar
Recuperar
Transportar

Conversor
analogico/digital

Seal
acustica

9287...

D/A

Conversor
digital/analogico

Altavoz

CIRCUITO
DIGITAL

Figura 1.5: Sistema digital


travs de un conversor digital-analgico, que al atravesar el altavoz se convierte en una seal
acstica.
El utilizar circuitos y sistemas que trabajen slo con nmeros tiene una ventaja muy importante: se pueden realizar manipulaciones con independencia de la seal que se est introduciendo:
datos, voz, vdeo... Un ejemplo muy claro es internet. Internet es una red digital, especializada
en la transmisin de nmeros. Y esos nmeros pueden ser datos, canciones, vdeos, programas,
etc... La red no sabe qu tipo de seal transporta, slo ve nmeros.
La electrnica digital trabaja con nmeros. La informacin est en los nmeros y no
en la forma de seal. Cualquier seal siempre se puede convertir a nmeros y recuperarse
posteriormente.

1.3. Circuitos y sistemas digitales


Ya podemos entender de lo que trata esta asignatura. En ella estudiaremos y disearemos
circuitos digitales, que manipulan nmeros. Existen unos nmeros en la entrada y nuestro
circuitos generar otros nmeros de salida (gura 1.6). Algunos nmeros se considerarn como
datos y otros se usarn para el control del propio circuito. No nos preocuparemos de dnde vienen
estos nmeros, pero ya sabemos que o bien vendrn de otro sistema digital, o bien de una seal
analgica que se ha convertido a nmeros (se ha digitalizado).
Un circuito digital realiza manipulaciones sobre los nmeros de entrada y genera unos
nmeros de salida.

1.4. ORGANIZACIN DE LOS APUNTES

19

Numeros de
entrada
5,8,10...

Numeros de
salida

Circuito

22,4,05...

Ditial

Figura 1.6: Un circuito digital genrico

1.4. Organizacin de los apuntes


En la introduccin hemos visto la importancia que tienen los nmeros en los sistemas digitales. En el captulo 2 veremos las diferentes formas de representar un nmero y en concreto nos
centraremos en el sistema binario. Para poder disear circuitos digitales, que manipulen nmeros en binario, primero habr que manejar las matemticas que hay detrs: el algebra de boole,
que se ver en el captulo 3. Describiremos un tipo de circuitos, los circuitos combinacionales,
mediante funciones booleanas y en el captulo 4 veremos cmo se pueden implementar mediante
puertas lgicas. En el captulo 5 describiremos otros circuitos combinacionales ms complejos,
constituidos a partir de puertas lgicas, pero que se pueden considerar como componentes electrnicos: multiplexores, demultiplexores, codicadores, decodicadores, comparadores... y en el
captulo 7 cmo es posible realizar operaciones aritmticas. A partir del captulo 8 se empiezan
a ver cirucitos secuenciales, que se caracterizan porque pueden recordar o almacenar nmeros. Los biestables nos permiten almacenar 1 bit de informacin y agrupndolos en registros
(captulo 9) almacenamos ms informacin. Finalmente estudiaremos los contadores (captulo
10) y los autnomas nitos (captulo 11).

20

CAPTULO 1. INTRODUCCIN

Captulo 2
Sistemas de representacin
2.1. Introduccin
Hemos visto en el captulo 1 cmo un circuito digital trabaja con nmeros y slo con
nmeros. El esquema general de estos circuitos se puede ver en la gura 2.1. Antes de entrar en
la comprensin y diseo de estos circuitos, hay que estudiar cmo se pueden representar esos
nmeros, de manera que el circuito los entienda. Veremos que existen muchsimas formas de
representar el mismo nmero (de hecho, existen innitas formas), pero slo unas pocas son las
que nos interesarn para los circuitos digitales.

2.2. Conceptos
El concepto de nmero todos lo tenemos, pero un mismo nmero se puede representar
de muchas maneras. Por ejemplo, el nmero 10, lo representamos mediante dos dgitos, el 1
y el 0. Si utilizsemos numeracin romana, este mismo nmero lo representaramos slo con
un nico dgito X. Pero est claro que ambas representaciones, 10 y X hacen referencia al
mismo nmero diez.
Numeros de
entrada
5,8,10...

Numeros de
salida

Circuito

22,4,05...

Ditial

Figura 2.1: Un circuito digital genrico


21

CAPTULO 2. SISTEMAS DE REPRESENTACIN

22

Nosotros estamos acostumbrados a representar los nmeros utilizando diez dgitos: 0, 1,


2, 3, 4, 5, 6, 7, 8, 9. Por eso nuestro sistema de representacin se denomina Sistema
decimal o sistema en base diez.
Analicemos con un poco ms de detalle el sistema decimal, que es el que manejamos habitualmente. Vamos a representar el nmero tres mil doscientos ochenta y uno:

3281
Observamos lo siguiente:
Est constituido por cuatro dgitos: 3,2,8 y 1.
El orden en el que estn colocados es muy importante y si se modica, se est representando otro nmero.
Cuanto ms a la izquierda est un dgito, ms importante es.
Este ltimo punto es muy intuitivo. Imaginemos que el nmero 3281 representa el sueldo mensual de un ingeniero1 . Si le preguntamos qu dgito es el que le gustara modicar para tener
un sueldo mayor, no dudara en sealar al 3. Ojal me subieran en sueldo a 4281 euros!!
pensara el ingeniero. Sin embargo, se echara a reir si su jefe le dijese: te subimos el sueldo a
3285 euros.
El dgito 3 es ms importante que todos los que tiene a su derecha. Tiene un peso mayor
que el resto de dgitos. De hecho, este dgito 3 est representando al nmero tres mil. El dgito
2 por estar en tercera posicin comenzado desde la derecha, representa el nmero doscientos,
el 8 al ochenta y el 1 al uno. Podemos descomponer el nmero de la siguiente manera:
3281 = 3000 + 200 + 80 + 1 =
= 3 1000 + 2 100 + 8 10 + 1 =
3
+2
+8
+1




Observamos que cada dgito est multiplicando una pontencia de 10. Cuanto ms a la izquierda se site el dgito, mayor ser la pontencia de diez por la que se multiplica.
En la gura 2.2 se muestra el nmero 3281 descompuesto en dgitos y pesos, y se indica cul
es el dgito de mayor peso y cul es el de menor.
1

Obviamente esto no se corresponde con la realidad :-)

2.2. CONCEPTOS

23

Digito de
mayor peso

Digito de
menor peso

3281

3.10 + 2.10 + 8.10+ 1.10


DIGITOS
PESOS

Figura 2.2: Dgitos y pesos del nmero 3281


Este sistema de representacin tambin se llama sistema en base diez porque los pesos de
los dgitos son potencias de 10: El dgito de ms de la derecha tiene un peso de
, los siguientes


tienen pesos de

...

Nosotros representamos los nmeros en el sistema decimal, que consta de diez dgitos
diferentes, asignndoles un peso que es una potencia de diez, y que ser mayor cuanto ms a
la izquierda se encuentre el dgito.
Qu nos impide que utilicemos unos sistemas de representacin en los que los pesos de
los dgitos, o incluso los dgitos sean diferentes de los del sistema decimal? Nada. Por ejemplo,
podemos emplear un sistema de representacin octal (Base 8), que utiliza slo ocho dgitos
(0,1,2...7) para representar cualquier nmero y los pesos de los diferentes dgitos sern potencias
de 8. En este sistema, si escribimos los dgitos 352 no se corresponden con el nmero trescientos
cincuenta y dos . Para calcular cul es el nmero que representa hay que multiplicar cada dgito
por su correspondiente peso, obteniendo el nmero equivalente en el sistema decimal.
352 = 3 + 5 + 2 =
3 64 + 5 8 + 2 = 248

El nmero 352 en representacin octal es equivalente al nmero 248 del sistema decimal.
En el sistema octal, los dgitos tienen pesos que son potencias de 8, en lugar de potencias de 10
como en el sistema decimal. Para evitar confusiones cuando se trabaja con sistemas de representacin diferentes, se emplea la siguiente notacin:



 

CAPTULO 2. SISTEMAS DE REPRESENTACIN

24

El subndice 8 indica que el nmero est representado en un sistema octal y con el subndice
10 se indica que lo est en un sistema decimal.

2.3. Algunos sistemas de representacin


2.3.1. Sistema octal (Base 8)
Ya lo hemos visto en el apartado de introduccin. Utiliza ocho dgitos: 0,1,2,3,4,5,6 y 7 y los
pesos son potencias de 8. No lo utilizaremos en esta asignatura.

2.3.2. Sistema binario (Base 2)


Se podran utilizar slo dos dgitos para representar cualquier numro? Si, se denomina
sistema binario. Este sistema de representacin slo utiliza los dgitos 0 y 1 para representar
cualquier nmero. Fijmonos en lo interesante que resulta esto, slo con dos dgitos podemos
representar cualquiera de los innitos nmeros!!!
En el sistema binario los pesos de estos dgitos son pontencias de 2. Veamos un ejemplo del
nmero binario

+0

+0

+1

El nmero binario

+1

+0

=1

+ + = 41

se corresponde con el nmero 41 en decimal.

El sistema binario tiene mucha importancia y lo utilizaremos constantemente en esta


asignatura. Fijmonos en lo que signica esta forma de representacin. Utilizando slo dos
dgitos, es posible representar cualquiera de los innitos nmeros. En la tecnologa actual disponemos de un elemento, llamado transistor, que se puede encontrar en dos estados diferentes,
abierto o cerrado2 , a los que le asociamos los dgitos 0 y 1. Todos los circuitos intregrados o chips
se basan en estos transistores y trabajan internamente en binario. Todas las operaciones se realizan utilizando este sistema de representacin, por eso es muy importante que lo conozcamos,
para entender cmo funcionan los microprocesadores y los chips por dentro.
El sistema binaro utiliza slo dos dgitos diferentes para representar cualquier nmero.
El peso de los dgitos es una potencia de 2.
2

El nombre tcnico para estos estados es Corte y Saturacin, pero es ms intuitivo pensar en un transistor como
en un pequeo interruptor que puede estar abierto o cerrado.

2.4. GENERALIZACIN

25

2.3.3. Sistema hexadecimal (Base 16)


Y sera posible utilizar ms de 10 dgitos para representar los nmeros?. Tambin es posible. Ese es el caso del sistema hexadecimal, en el que se emplean 16 dgitos: 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, A, B, C, D, E y F, donde las letras representan los nmeros 10, 11, 12, 13, 14 y 15 respectivamente. Los pesos de los dgitos son pontencias de 16. Por ejemplo, el nmero hexadecimal
FE2A se puede descomponer de la siguiente manera:
=

 






   




El sistema hexadecimal es muy curioso. Permite escribir nmeros como los siguientes: CACA, DE, BACA :-). Se deja como ejercicio el obtener sus correspondientes nmeros en el sistema
decimal.
Este sistema, como veremos ms adelante, se emplea para escribir nmeros binarios de una
manera ms compacta, dado que el paso de hexadecimal a binario y vice-versa es inmediato.

2.4. Generalizacin

 
# "! 

Dado un nmero de m dgitos (


, y usando un sistema en base b, se puede expresar en
el sistema decimal utilizando la siguiente frmula:


)0 (
'

1
1 "32




  "!  &$
%  

Esta frmula no es ms que la generalizacin de los ejemplos expuestos en el apartado anterior. Si estamos trabajando con un sistema en base 7 (b=7) y el nmero que queremos convertir
al sistema decimal tiene 4 dgitos (m=4), la frmula de conversin sera:


54  54  64  54 




   

En esta asignatura nos centraremos en el sistema binario, que ser el que tendremos que
comprender para utilizarlo en el diseo de circuitos digitales.

CAPTULO 2. SISTEMAS DE REPRESENTACIN

26

2.5. Tabla de conversin para los sistemas


decimal- binario- hexadecimal
La tabla que se muestra a continuacin representa las equivalencias entre diferentes nmeros
expresados en los sistemas decimal, binario y hexadecimal, que son los que ms usaremos.
DECIMAL

BINARIO HEXADECIMAL

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Ejercicios:
Hacer el ejercicio 1 de este captulo.

2.6. Circuitos digitales y el Sistema binario


Ahora que ya tenemos un poco ms claro el concepto de nmero y las diferentes formas que
tenemos de representarlo, podemos retomar el esquema de un circuito digital (Figura 2.1) para
precisarlo un poco ms.

2.6. CIRCUITOS DIGITALES Y EL SISTEMA BINARIO


Numeros de
entrada, en binario

.
.
.

27

Numeros de
salida, en binario
S0
E0
E1 Circuito S 1
S2
E2
S3
E3 Ditial
Em

.
.
.

Sn

Figura 2.3: Un circuito digital genrico, con entradas y salidas binarias


3 Bits de entrada

4 bits de salida
E0 Circuito S 0
S1
E1
Ditial S 2
E2
S3

Figura 2.4: Un circuito digital con tres bits de entrada y 4 de salida


Con la tecnologa que hay actualmente, los circuitos digitales manipulan nmeros que estn
representados en binario. As podemos decir que un circuito digital actual tiene como entradas
y salidas nmeros en binario. Es decir, nmeros que vienen expresados con los dgitos 0 y
1. En la gura 2.3 se ha dibujado un circuito digital genrico, en el que sus entradas y salidas
se expresan en binario. Cada una de las entradas y salida representa un dgito binario. Pero cual

es el peso de este dgito? Eso nos lo indican los subndices de las letras E y S. As, la entrada
se corresponde con el dgito de menor peso, la entrada
con los dgitos de peso
, y as


sucesivamente hasta la entrada n que es la de mayor peso. Lo mismo es aplicable a la salida.


En los circuitos digitales, los nmeros que se procesan, estn expresados en binario,
tanto en la entrada como en la salida.
Un dgito binario, que puede ser 0 1, recibe el nombre de BIT, del trmino ingles
BInary digiT (dgito binario). Utilizaremos los bits para indicar el tamao de las entradas y salias
de nuestros circuitos. As por ejemplo podemos tener un circuito digital con 3 bits de entrada y
4 de salida. Este circuito se muestra en la gura 2.4.
Los circuitos digitales slo saben trabajar con nmeros en binario, sin embargo a los humanos nos es ms cmodo trabajar en decimal. Trabajar con nmero binarios puede parecer poco
intuitivo. Vamos a ver cmo en determinadas ocasiones resulta muy intuitivo el trabajar con
nmeros binarios.
Imaginemos que en una habitacin hay 5 bombillas situadas en la misma lnea, y que cada

CAPTULO 2. SISTEMAS DE REPRESENTACIN

28
Bombilla
encendida

Bombilla
apagada

Figura 2.5: Utilizacin del sistema binario para expresar el estado de 5 bombillas

una de ellas puede estar encendida o apagada. Cmo podramos representar el estado de estas
5 bombillas mediante nmeros? Una manera muy intuitiva sera utilizar el sistema binario, en
el que utilizaramos el dgito 1 para indicar que la bombilla est encendida y el dgito 0 para
indicar que est apagada. As el nmero 01011 nos indica que la primera bombilla est apagada,
la segunda encendida, la tercera apagada y las dos ltimas encendidas, como se muestra en la
gura 2.5. Esta forma de representar el estado de las bombillas es bastante intuitivo. Este es un
ejemplo en el que se puede ver que pensar en binario resulta ms fcil que hacerlo directamente
en decimal.

2.7. Sistema binario y sistema hexadecimal


El sistema hexadecimal se utiliza para representar nmeros binarios de una forma ms
compacta. Cada dgito hexadecimal codica 4 bits, de manera que un nmero hexadecimal de 4
bits permite representar un nmero binario de 16 bits. Veamos un ejemplo:

1011000111101101 = B1ED

Podemos ver cmo es mucho ms cmodo utilizar el nmero hexadecimal que el binaro.
Pero, cmo se pasa de binario a hexadecimal o vice-versa? El proceso es muy sencillo. Lo
nico que hay que conocer es la tabla del apartado 2.5. El nmero en binario hay que dividirlo
en grupos de 4 bits empezando desde la derecha. La conversin del nmero binario anterior se
hara de la siguiente manera:

2.8. BITS Y ELECTRNICA


5 voltios

29
A

0 voltios

Circuito
E
1 Bit de entrada

Ditial

S
1 Bit de salida

Figura 2.6: Cmo introducir dgitos binarios por un bit de la entrada de un circuito digital

1011 0001 1110 1101


B

Ejercicios:
Hacer los ejercicios 2 y 3 de este captulo.

2.8. Bits y electrnica


Todava nos queda una cosa por resolver. En la electrnica trabajamos con electrones, forzndolos a que hagan lo que nosotros queremos. En el caso de los circuitos digitales, lo que
hacemos es operar con nmeros. Cmo conseguimos esto? Cmo introducimos los nmeros
en los circuitos digitales?
La solucin a esto es asignar un voltaje a cada uno de los dos estados de un bit. Lo normal,
conocido como lgica TTL, es asignar el valor de 5 voltios al dgito 1 y 0 voltios al dgito 0.
Esta asignacin de valores depende de la tecnologa empleada.
En la gura 2.6 se muestra un circuito digital que tiene un bit de entrada. Si queremos introducir un dgito 1 ponemos el interrupcin en la posicin A, de manera que por la entrada E
llegan 5 voltios. Si queremos introducir un dgito 0 ponemos el interruptor en la posicin B,
por lo que llegan cero voltios.

CAPTULO 2. SISTEMAS DE REPRESENTACIN

30

En los circuitos digitales, se usan dos tensiones diferentes, una para representar el dgito
1 y otra para representar el dgito 0. En la electrnica tradicional se usan 5 voltios para el
digito 1 y 0 voltios para el digito 0

2.9. Otros sistemas de representacin


Para representar los nmeros hemos visto que los circuitos digitales utilizan el sistema binario. Y hemos estado utilizando el sistema binario natural, en el que los bits tienen de peso
potencias de 2, que es lo ms habitual.
Sin embargo existen otros sistemas de representacin que son binarios en el sentido de que
slo usan los dos dgitos 0 y 1, sin embargo tienen pesos diferentes. Algunos de estos sistemas,
tambin conocidos como cdigos son los siguientes:
1. Cdigo BCD: Decimal Codicado en Binario. Es una manera de representar nmeros
decimales en binario. A cada dgito decimal se le asignan 4 bits, correspondientes a su
nmero binario natural. As por ejemplo para representar nmero decimal 21 en BCD,
utilizaremos en total 8 bits, 4 para uno de los dos dgitos:
21 = 0010 0001
Los primeros 4 bits representan al dgito 2 y los 4 siguientes al dgito 1.
2. Cdigo AIKEN: Similar al BCD, pero con los pesos cambiados. Cada dgito decimal se
representa mediante 4 bits, siendo los pesos de estos bits: 2, 4, 2 y 1.
3. Cdigo GRAY: Son una familia de cdigos que se caracterizan porque el paso de un
nmero al siguiente implica que slo se modica un bit.

2.10. Terminologa
BIT Dgito binaro. Un bit puede tomar los valores 0 1. Es la abreviatura de las palabras inglesas
de Binary digiT.
Byte Conjunto de 8 bits. El nmero ms alto que se puede representar es el 11111111, que en
decimal es 255.

2.11. EJERCICIOS RESUELTOS

31

2.11. Ejercicios resueltos

1. Descomponer el nmero

en sus dgitos y pesos.

Solucin:


 

Dgitos: 6 y 3 con pesos 10 y 1.

2. Hacer lo mismo que en ejercicio 1, pero con el nmero 10358.


Solucin:


Dgitos 1,0,3,5 y 8 con pesos 10000, 1000, 100, 10 y 1 respectivamente.


3. Pasar los siguientes nmeros al sistema decimal:
a)

Solucin:


+ 16 + 4 + 2 +1 = 87

b)

Solucin:


BABA=B

4096 + 10 256 + 11 16 + 10 =
45056 + 2560 + 176 + 10 =47802

c)

Solucin:
=2 8 + 9 = 16 + 9 = 25




4. Pasar de hexadecimal a binario:


a) FFFF
Solucin:
FFFF = F - F - F - F = 1111-1111-1111-1111 = 1111111111111111

CAPTULO 2. SISTEMAS DE REPRESENTACIN

32
b) FA00
Solucin:

FA00 = F-A-0-0 = 1111-1010-0000-0000 = 1111101000000000


c) 321C
Solucin:
321C = 3-2-1-C = 0011-0010-0001-1100 = 11001000011100

2.12. Ejercicios
1. Pasar los siguientes nmeros a decimal
a)

b)

c)

d)

2. Pasar de binario a hexadecimal


a) 0101101011111011
b) 10010001110000101
c) 1111000011110000
d) 0101010110101010
3. Pasar de hexadecimal a binario
a) FFFF
b) 01AC
c) 55AA
d) 3210

Captulo 3
ALGEBRA DE BOOLE
3.1. Introduccin
Cuando trabajamos en ingeniera, utilizamos ecuaciones y modelos matemticos que describren lo que estamos diseando o analizando. As por ejemplo, la ecuacin

 
 

nos indica cul es la velocidad mxima de transmisin por un canal que tiene un ancho de
banda W y por el que se permiten n estados posibles de la seal transmitida, y ser usada por
un Ingeniero de Telecomunicacin para el diseo de canales o sistemas de comunicacin. Esa
ecuacin describe una relacin entre ciertas variables, que son objeto de estudio del Ingeniero.
A lo mejor no entendemos el signicado de esta ecuacin. No sabemos lo que signica ancho
de banda o velocidad mxima de transmisin, pero s entendemos las operaciones que hay en
ella: hay productos y logaritmos. Sin saber nada, y partiendo de los datos iniciales:
,




 

n=4, seramos capaces de calcular el valor de








Slo hay que introducir los datos en una calculadora y ya est.


De la misma manera, si un fsico nos dice que la posicin de cierta partcula viene determinada por la ecuacin:

' % $" 
# (&#!

33

CAPTULO 3. ALGEBRA DE BOOLE

34

, sabemos calcular el valor de x, que ser:

'

$ # 
" 

y nos da los siguientes datos: A=5, t=0 y



y por las propiedades de los Nmeros Reales, que son los que estamos manejando, sabemos
que algo por cero es cero y algo ms cero es algo:




# " !




# " !



$ " !




Y por qu hemos sabido hacer eso? Porque conocemos las operaciones que el fsico ha
utilizado y adems sabemos algunas propiedades de ellas.
En estas dos ecuaciones de ejemplo, los nmeros y las variables son Reales. El conjunto
de los Nmeros Reales lo conocemos muy bien, as como todas las operaciones denidas en l.
Estamos acostumbrados a trabajar con ellos desde pequeos, por eso este tipo de ecuaciones nos
parecen intuitivas y sencillas, aunque no comprendamos lo que signican las variables usadas.
Hemos dicho que los circuitos digitales trabajan con nmeros, y que estos nmeros se expresan en binario. Veremos ms adelante cmo con un conjunto de ecuaciones podemos describir
lo que hace un circuito, que transforma los nmeros de la entrada y los saca por la salida. Sin
embargo, puesto que estos nmeros vienen expresados en binario, las variables y nmeros utilizados NO SON REALES.
Para describir un circuito digital utilizaremos ecuaciones
Para describir un circuito digital utilizaremos ecuaciones matemticas. Sin embargo, estas
ecuaciones tienen variables y nmeros que NO SON REALES, por lo que NO podemos aplicar
las mismas propiedades y operaciones que conocemos. Hay que utilizar nuevas operaciones y
nuevas propiedades, denidas en el ALGEBRA DE BOOLE.
Por tanto, vamos a trabajar con unas ecuaciones a las que NO estamos acostumbrados. Son
muy sencillas, pero al principio pueden resultar poco intuitivas. En este captulo aprenderemos a
trabajar con ellas.

3.2. Las operaciones del lgrebra de Boole


En el lgebra de Boole hay dos operaciones, denotadas con los smbolos + y pero que no
tienen nada que ver con las operaciones que todos conocemos de suma y producto!!. No

3.2. LAS OPERACIONES DEL LGREBRA DE BOOLE

35

hay que confundirlas!!!!. El + y el del Algebra de Boole se aplican a bits, es decir, a nmeros

que slo pueden ser el 0 el 1.

3.2.1. La operacin +
Esta operacin se dene de la siguiente manera:
0+0=0
0+1=1
1+0=1
1+1=1
Las tres primeras operaciones nos resultan obvias, son iguales que la suma que conocemos,
nos puede resultar chocante. Pero no me haban dicho
sin embargo la expresin

toda la vida que 1+1=2??, nos podemos estar preguntando. S, pero hay que recordar que aqu
estamos utilizando otra operacin que NO ES LA SUMA, la denotamos con el mismo smbolo
+, pero no es una suma normal!! Hay que cambiar el chip!! Ahora estamos con
Algebra de Boole!!
Pasado el pnico inicial, si nos jamos en esta nueva operacin, notamos lo siguiente: El
resultado siempre es igual a 1 cuando alguno de los bits sumandos es igual a 1. O lo que
es lo mismo, El resultado de esta suma slo da 0 si los dos bits que estamos sumando son
iguales a cero. En caso contrario valdr 1.
Y para qu nos sirve esta operacin tan extraa? Veamos un ejemplo. Imaginemos que hay
una sala grande a la que se puede acceder a travs de dos puertas. En el techo hay una nica
lmpara y existen dos interruptores de luz, uno al lado de cada puerta de entrada. Como es
lgico, la luz se enciende cuando algunos de los dos interruptores (o los dos) se activan. Esto
lo podemos expresar mediante una ecuacin booleana. Para denotar el estado de uno de los
interruptores utilizaremos la variable booleana A, que puede valor 0 (Interruptor apagado)
1 (interruptor activado). Para el otro interruptor usaremos la variable B. Y para el estado de la
luz, 0 (apagada) y 1 encendida, usaremos la variable F.
El estado en el que se encuentra la luz, en funcin de cmo estn los interruptores viene
dado por la ecuacin booleana:

0

que indica que F=1 (Luz encendida) si alguno de los interruptores est a 1 (activado).

CAPTULO 3. ALGEBRA DE BOOLE

36

Ya lo veremos ms adelante, pero podemos ir adelantando unas propiedades muy interesantes. Si A es una variable boolena, se cumple:
A+A=A
1+A=1
0+A=A

3.2.2. La operacin

Esta operacin se dene as:


0 0=0

0 1=0
1 0=0

1 1=1

En este caso, la operacin es ms intutitiva, puesto que es igual que el producto de nmeros
Reales. Si nos jamos, vemos que el resultado slo vale 1 cuando los dos bits estn a 1, o
visto de otra manera, el resultado es 0 cuando alguno de los dos bits es 0.
Vamos a ver un ejemplo. Imaginemos una caja de seguridad de un banco que slo se abre
cuando se han introducido dos llaves diferentes, una la tiene el director y la otra el jefe de seguridad. Si slo se introduce una de ellas, la caja no se abrir. Modelaremos el problema as.
Utilizaremos la variable A para referirnos a una de las llaves (0 no introducida, 1 introducida) y la variable B para la otra llave. Con la variable F expresamos el estado de la caja de
seguridad (0 cerrada y 1 abierta). El estado de la caja lo podemos expresar con la ecuacin:

0

que indica que la caja se abrir (F=1) slo si A=1 (una llave introducida) y B=1 (la otra llave
introducida). En cualquier otro caso, F=0, y por tanto la caja no se abrir.
Podemos ir adelantando algunas propiedades de esta operacin:
A A=A

A 0=0

A 1=1

3.3. LAS PROPIEDADES DEL LGEBRA DE BOOLE

37

3.2.3. La negacin
La operacin de negacin nos permite obtener el estado complementario del bit o variable
booleana al que se lo aplicamos. Se dene de la siguiente manera:


Es decir, que si se lo aplicamos a 0 obtenemos 1 y si se lo aplicamos al 1 obtenemos


0. Esta operacin nos permite cambiar el estado de una variable booleana. Si A es una variable

boolena,

tiene el estado contrario.

3.3. Las propiedades del lgebra de Boole


Las operaciones del lgebra de Boole las podemos denir utilizando tablas de verdad:
Operacin +
A

A+B

0
0

0
1

0
1

1
1

0
1

1
1

Operacin

AB

A B
0
0

0
1

0
0

1
1

0
1

0
1

Las propiedades del Algebra de Boole son las siguientes:


1. Las operaciones + y son CONMUTATIVAS




CAPTULO 3. ALGEBRA DE BOOLE

38
2. Elemento Neutro
A+0=A
A 1=A

3. Distributiva


" # "

#


"

"

4. Elemento inverso




=0

Operacin de negacin denida por:




Ejercicios:
Para practicar e ir cogiendo soltura con el Algebra de Boole se recomienda hacer el ejercicio
1 de este captulo.

3.4. Teoremas importantes


Derivados de las propiedades fundamentales, existen una serie de Teoremas muy interesantes
e importantes que usaremos a lo largo de todo el curso. Algunos los utilizaremos en la teora y
otros para los problemas.

0 # "
"
#
"  # " 

Idempotencia:

Asociatividad




3.4. TEOREMAS IMPORTANTES

39

Ley de Absorcin

0 #


"

Este teorema es muy importante puesto que nos permite realizar simplicaciones en las
expresiones.
Leyes de DeMorgan

 !

! 

 ! 

! 

Este teorema es tambin muy importante y lo usaremos constantemente. Vamos a hacer


algunos ejemplos para aprender a utilizarlo:

# " #

"

"


"

Ejemplo 4:

Ejemplo 3:

Ejemplo 2:

Ejemplo 1:

Teorema de Shannon:

# !  "

#    "

Este teorema es una generalizacin de las leyes de DeMorgan. Lo que nos dice es que
si tenemos cualquier expresin booleana negada, es igual a la misma expresin en la que
todas las variables estn negadas y en la que se sustituyan las operaciones + por . y viceversa.
Veamos algunos ejemplos:

"

"

Ejemplo 5:

En este este ejemplo se podran haber aplicado las leyes de DeMorgan sucesivas veces,
como hemos hecho en ejemplos anteriores, sin embargo podemos aplicar el Teorema de
Shannon.

Ejemplo 7:

=(

Ejemplo 6:

CAPTULO 3. ALGEBRA DE BOOLE

40
Teorema de expansin:

! 

"

# !  "


 ! "
#
#  ! "

#  ! "

#  ! "

Este teorema es ms terico y no tiene aplicacin directa en los problemas.

Ejercicios:
Hacer el ejercicio 2.

3.5. Funciones booleanas


3.5.1. Funciones reales y funciones booleanas
Hasta ahora hemos visto en qu operaciones se basa el Algebra de Boole y algunas de sus
propiedades. Para aprender a trabajar con este nuevo tiepo de expresiones booleanas es necesario
practicar, por eso se recomienda que se hagan los ejercicios propuestos.
Utilizando expresiones booleanas, vamos a denir Funciones booleanas, que son exactamente iguales a las funciones matemticas a las que estamos habituados pero con la particularidad de que las variables son booleanas y que los valores devueltos por la funcin tambin
son booleanos, es decir, una funcin booleana slo puede tomar los valores 0 1.
Como hemos hecho antes, vamos a ver un ejemplo utilizando una funcin matemtica de las
que todos conocemos. Por ejemplo esta:

# "

Se trata de una funcin Real que tiene una variable Real (x). Para cada valor de x, otenemos
el valor de la funcin. As por ejemplo podemos calcular los siguiente:

# "


# "



# "



# "


3.5. FUNCIONES BOOLEANAS

41

Como es una funcin Real, obtenemos como valores de la funcin Nmeros Reales.
Tambin podemos denir funciones reales de 2 ms variables, como por ejemplo:

. Funcin de 2 variables
. Funcin de 3 variables

#


"

" 

Como estamos acostumbrados a trabajar con este tipo de funciones, nos resultan sencillas. Ahora
vamos a denir funciones booleanas. Para ello hay que tener en mente que trabajaremos con
variables booleanas y que por tanto usaremos las operaciones + y del Algebra de Boole, y que
como ya sabemos, nada tienen que ver con las operaciones suma y producto a las que estamos

habituados.
Por ejemplo, sea la siguiente funcin booleana de una variable:

# "

El valor devuelto por la funcin es el negado del que se le pasa por la variable. Como la
variable A es booleana, slo puede tomar los valores 0 y 1. Los que la funcin F toma son:
F(0)= =1

F(1)=

Vamos a denir una funcin un poco ms compleja, usando dos variables booleanas, A y B:

"


"

Cuando vale F(0,0)? slo hay que sustituir en la funcin los valores de A y B por 0,
obtenindose:


F(0,0)=(0+0)

Calcularemos el valor de F para el resto de valores de entrada de A y B:




# "

#


#


#


# $"

Se deja como ejercicio para practicar (La solucin es 0).

"

"

"

CAPTULO 3. ALGEBRA DE BOOLE

42

Fijndonos en esta funcin tan sencilla, podemos darnos cuenta de varias cosas:
1. Puesto que las variables de entrada A y B, slo pueden tomar los valores 0 y 1, hay 4
casos distintos:

"

#


"

"

"

d) A=1, B=1

c) A=1, B=0

b) A=0, B=1

a) A=0, B=0

2. Antes de calcular los valores que toma la funcin, segn lo que valgan A y B, se pueden
aplicar algunas propiedades para obtener una funcin ms simplicada (Como veremos
en el apartado 3.7):

0

"

"

#


"

Es ms sencillo trabajar con esta funcin simplicada:

{Aplicando la propiedad distributiva}=

Las funciones booleanas pueden ser de muchas ms variables, como en los siguientes ejemplos:
. Funcin booleana de 3 variables

. Funcin booleana de 4 variables


. Funcin booleana de 5 variables

"

 #
  #


"


"

Por cuestiones de comodidad, muchas veces no escribimos entre parntesis las variables de la
funcin, as por ejemplo podemos denir una funcin de 3 variables de la siguiente manera:

Hacer el ejercicio 3

Ejercicios:

3.5. FUNCIONES BOOLEANAS

43

3.5.2. Funciones booleanas y tablas de verdad


Existen dos maneras de representar una funcin booleana. Una ya la conocemos, y es utilizado expresiones booleanas. As por ejemplo se puede denir la funcin booleana siguiente:

0

y hemos visto cmo podemos obtener todos los valores de esta funcin.
Existe otra manera de especicar una funcin booleana y es utilizando las tablas de
verdad. En ellas lo que estamos representando es el valor que debe tomar la funcin cuando
las variables de entrada toman todos los valores posibles. As por ejemplo yo puedo denir una
funcin G de la siguiente manera:
A B

0
1
1

1
0
1

1
0
1

Cunto vale G si A=0 y B=1?. Miramos la tabla y vemos que G vale 1. Esta forma de denir
funciones booleanas es muy sencilla. El nmero de las de la tabla de verdad depende del nmero
de variables que usemos.
Cuanto mayor nmero de variables, mayor cantidad de las tendr la tabla de verdad.
La regla que se cumple es la siguiente: Si la funcin tienen n variables, la tabla de verdad
tendr las. Veamos algunos ejemplos:

Si una funcin tiene 2 variables, su tabla de verdad tendr 4 las

Si la funcin tiene 4 variables, la tabla tendr

Si la funcin tiene 3 variables, la tabla tendr

8 las
16 las

.....
En la prctica no haremos tablas de verdad de ms de 4 variables. Para eso estn los ordenadores
:-). Nosotros aprenderemos a denirlas y manejarlas.
Todava hay algo que necesitamos conocer. Qu relacin hay entre una funcin denida
mediante expresiones booleanas y una funcin denida mediante una tabla de verdad? Es

CAPTULO 3. ALGEBRA DE BOOLE

44

decir, dada una tabla de verdad, cmo podemos obtener la expresin booleana de la funcin? O
dada una funcin mediante una expresin, cmo obtenemos su tabla de verdad?.

Obtencin de una tabla de verdad a partir de una expresin


Esto es bastante sencillo. Lo primero que hay que hacer es identicar el nmero de variables
de la funcin, para conocer el tamao de la tabla de verdad. A continuacin escribimos nmeros
en binario en la parte de las variables. Finalmente vamos la por la obteniedo el valor de la
funcin, utilizando la expresin.
Lo mejor es ver un ejemplo. Imaginemos que nos han dado la siguiente funcin, denida por
la expresin:

1. La funcin tiene 2 variables, luego la tabla de verdad tendr

las

2. Dibujamos una tabla de verdad con 4 las, y ponemos en la parte de la izquierda el nmero
de la en binario natural, comenzando por la la 0.
A B
0
0

0
1

1
1

0
1

3. Aplicando la expresin, vamos calculando el valor de F. La primera la se corresponde


con F(0,0), la seguna con F(0,1), la tercera con F(1,0) y la ltima con F(1,1):


"

#


"

#


"

"

4. Ya podemos rellenar la tabla de verdad:

3.5. FUNCIONES BOOLEANAS

45
A B

0
0

0
1

0
1

1
1

0
1

0
1

Veamos otro ejemplo, ahora con una funcin de 3 variables:

1. Como la funcin tiene 3 variables, la tabla de verdad tendr

8 las.

2. Dibujamos la tabla, poniendo en binario natural el nmero de la, comenzando por 0:


A

C G

0
0

0
0

0
1

0
0

1
1

0
1

1
1
1

0
0
1

0
1
0

3. Calculamos el valor de la funcin para cada una de las las. El resultado se muestra a
continuacin, dejndose al lector su comprobacin:
A

C G

0
0

0
1

1
0

1
0

0
1
1

1
0
0

1
0
1

1
1
1

1
1

1
1

0
1

0
1

CAPTULO 3. ALGEBRA DE BOOLE

46

Ejercicios:
Hacer el ejercicio 4
Obtencin de una expresin a partir de una tabla de verdad
Cuando diseemos circuitos combinacionales, ser muy normal que tengamos una tabla de
verdad que haya que convertir a expresiones booleanas. El proceso es sencillo, sin embargo
ocurre que dada una tabla de verdad se pueden obtener multitud de expresiones diferentes,
todas ellas equivalentes. Nuestra misin consistir en obtener la expresin ms simplicada
posible. Esto lo iremos viendo en los siguientes apartados.

3.6. Formas cannicas


A partir de una tabla de verdad, podemos obtener mltiples expresiones para la misma
funcin. Todas esas expresiones son equivalentes y podemos obtener unas expresiones de otras
aplicando las propiedades del lgebra de Boole.
Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de forma
inmediata. Se denominan formas cannicas. Se caracterizan porque en todos los trminos de
estas expresiones aparecen todas las variables.

3.6.1. Primera forma cannica


Una funcin que est en la primera forma cannica se caracteriza porque est formada
por sumas de productos. Y recordemos que por ser una forma cannica, en todos sus trminos
se ecuentran todas sus variables.
Un ejemplo de una funcin de 3 variables, expresada en la primera forma cannica es la
siguiente:

0

Vemos que est constituida por la suma de tres trminos y en cada uno de los trminos estn
todas las variables.
La obtencin de la primera forma cannica, a partir de una tabla de verdad es inmediato. El
proceso se denomina desarrollo de la tabla de verdad por unos. Tomamos la tabla de verdad y
slo nos jamos en las las en las que la funcin vale 1, olvidndonos del resto. Por cada una de

3.6. FORMAS CANNICAS

47

estas las tendremos un sumando, constituido por el producto de todas las variables, aplicando
la siguiente regla:
Si una variable est a 0, en la la escogida, usaremos la variable negada, y si est a 1
usaremos la variable sin negar.

Ejemplo:
Obtener la primera forma cannica, a partir de la siguiente tabla de verdad:
A

C F

0
0

0
0

0
1

0
1

0
0
1

1
1
0

0
1
0

0
1
0

1
1

0
1

1
0

0
0

Nos jamos en las las en las que F=1. Vemos que slo hay tres las, por tanto la funcin F
se podr expresar como suma de tres trminos. Tomemos la primera la en la que F=1. En ella
. Ahora nos jamos en la
vemos que A=0, B=0 y C=1, por tanto el primer trmino ser

siguiente la en la que F=1: A=0, B=1 y C=1, por tanto el segundo trmino ser:
.Y
por ltimo nos jamos en la ltima la en la que F=1, en la que A=1, B=1 y C=1, por lo que el

. La funcin F ser la suma de estos tres trminos:

trmino ser:

Esta funcin est constituida por la suma de tres trminos y en cada uno de ellos es el producto
de las tres variables, bien negadas o no.
Vamos en algunos casos que esta expresin representa la misma funcin que la de la tabla de
verdad:
1. Para A=0, B=1 y C=0, vemos en la tabla de verdad que F=0. Vamos a comprobarlo:


2. Para A=0, B=1 y C=1, en la tabla de verdad F=1. Lo comprobamos:

CAPTULO 3. ALGEBRA DE BOOLE

48

Se deja como ejercicio la comprobacin para todos los dems casos.

Ejercicios:
Hacer los ejercicios 5 y 6.

Notacin:
A cada uno de los sumandos de una expresin en la primera forma cannica, le corresponde
una la de la tabla de verdad, es decir, un nmero en decimal. As en la funcin anterior:

el trmino
representa la la de la tabla de verdad en la que A=0, B=0 y C=1, que si
se pone en decimal es el nmero 1.

De esta manera, esa funcin la podemos escribir de la siguiente manera:


#4 "

3.6.2. Segunda forma cannica

Un funcin en la segunda forma cannica se caracteriza porque est formada por un


producto de sumas. Y en todos sus trminos deben aparecer todas sus variables, bien negadas o
no. Por ejemplo:

" #

"


est constituida por dos trminos que van multiplicados, y cada uno de ellos est formado
por sumas.
La obtencin de la segunda forma cannica, a partir de una tabla de verdad es inmediato. El
proceso se denomina desarrollo de la tabla de verdad por ceros. Tomamos la tabla de verdad y
slo nos jamos en las las en las que la funcin vale 0, olvidndonos del resto. Por cada una
de estas las tendremos un trmino, constituido por la suma de todas las variables, aplicando la
siguiente regla:

3.6. FORMAS CANNICAS

49

Si una variable est a 1, en la la escogida, usaremos la variable negada, y si est a 0


usaremos la variable sin negar.
Es decir, que esta regla es justo la contraria que cuando estbamos trabajando con la primera
forma cannica.

Ejemplo:
Obtener la segunda forma cannica, a partir de la siguiente tabla de verdad:
A

C F

0
0
0

0
1
1

1
0
1

1
0
1

1
1

0
0

0
1

0
1

1
1

1
1

0
1

0
1

Nos jamos en las las en las que F=0. En este ejemplo hay tres. Cada la representa un
trmino, que estar multiplicando al resto. Tomamos la primera la en la que F=0 y vemos que

A=0, B=1 y C=0. Aplicando la regla, el trmino que obtenemos es:


. Para la siguiente
la en la que F=0, A=1, B=0 y C=0:
y nalmente, de la la en la que A=1, B=1 y
C=0 obtenemos:
. La funcin F desarrollada por la segunda forma cannica, queda:

" #

" #

"

Se deja como ejercicio al lector el que compruebe que efectivamente esta expresin representa la misma funcin que la de la tabla de verdad.

Ejercicios:
Hacer los ejercicios 7 y 8.

CAPTULO 3. ALGEBRA DE BOOLE

50

Notacin:
Para la segunda forma cannica se usa otra notacin. La funcin F anterior est consituida
por tres trminos multiplicados. Si nos jamos en el primero:
, se corresponde con la
la de la tabla de verdad en la que A=0, B=1, C=0, que si lo ponemos en decimal es el nmero

2. De esta manera podemos usar la siguiente notacin para representar a F:


#  "

3.7. Simplicacin de funciones booleanas


3.7.1. Introduccin
En las matemticas con nmeros Reales, estamos muy acostumbrados a simplicar. De hecho
es lo que nos han enseado desde pequeos. Si una determinada expresin la podemos simplicar, por qu no hacerlo?, as seguro que nos ahorramos clculos. Por ejemplo, si vemos la
siguiente ecuacin:

 

lo primero que hacemos es simplicarla, aplicando primero que

, quedando:

que todava puede ser simplicada ms, dividiendo por 2:

Una vez simplicada es mucho ms fcil trabajar.


Cuando estamos diseando circuitos digitales, utilizaremos funciones booleanas para describirlos. Y antes de implementarlos, es decir, antes de convertir las ecuaciones a componentes
electrnicos (puertas lgicas) tenemos que simplicar al mximo. Una de las misiones de los
Ingenieros es disear, y otra muy importante es optimizar. No basta con realizar un circuito,
sino que hay que hacerlo con el menor nmero posible de componentes electrnicos. Y esto
es lo que conseguimos si trabajamos con funciones simplicadas.

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

51

Las funciones booleanas se tienen que simplicar al mximo, para disear los circuitos
con el menor nmero de componentes electrnicos.
Y este ser uno de los grandes caballos de batalla de esta asignatura: la simplicacin de las
funciones. Esta simplicacin la podemos realizar de dos maneras diferentes:
1. Utilizando las propiedades y Teoremas del Algebra de Boole. Se denomina mtodo
analtico de simplicacin de funciones. Hay que manejar muy bien estas propiedades
para poder eliminar la mayor cantidad de trminos y variables.
2. Utilizando el mtodo de Karnaugh. Es un mtodo grco que si lo aplicamos bien, nos
garantiza que obtendremos la funcin ms simplicada posible, a partir de una tabla de
verdad.
Normalmente las formas cannicas no son las expresiones ms simplicadas.

3.7.2. Mtodo analtico de simplicacin de funciones


Desgraciadamente no exite tal mtido :-(. Hay que basarse en la experiencia y en el conocimiento de las propiedades y teoremas del Algebra de Boole. Lo mejor es ver un ejemplo:

Ejemplo:
Simplicar la siguiente funcin:

       

Vamos a intentar aplicar la propiedad distributiva, lo que normalmente llamamos sacar factor
comn. Operando con los trminos 1 y 3:

"

Operando con los trminos 2 y 4:

# "

La funcin que nos queda es:

CAPTULO 3. ALGEBRA DE BOOLE

52

Tanto la funcin inicial, como la que hemos obtenido son funciones equivalentes. Tienen la
misma tabla de verdad, sin embargo, la segunda est mucho ms simplicada: slo tiene dos
sumandos y cada sumando tiene slo dos variables.

Ejemplo:
Simplicar la siguiente funcin:

# "

Si nos jamos, vemos que podemos reordenar la funcin de manera que quede:

# "

y cualquier cosa multiplicada por 0 es 0, al nal nos queda:

y puesto que

3.7.3. Mtodo de Karnaugh


En este apartado veremos un mtodo para obtener la funcin ms simplicada a partir de
una tabla de verdad.
Vamos a ir poco a poco, viendo los fundamentos de este mtodo. Supongamos que tenemos
una funcin F(A,B,C) de tres variables, cuya tabla de verdad es:

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

53

0
0

0
0

0
1

0
0

0
0
1

1
1
0

0
1
0

1
1
1

1
1

0
1

1
0

1
1

Si la desarrollamos por la primera forma cannica obtenemos:

Veremos como aplicando el mtodo de Karnaugh podemos simplicar esta funcin.Vamos a


organizar esta misma tabla de la siguiente manera:
BC
00
A

01

11

10

Observamos lo siguiente:
En total hay 8 casillas, cada una correspondiente a una la de la tabla de verdad
En cada casilla est colocado el valor de la funcin F, correspondiente a esa entrada. En la
tabla de verdad hay dos las en las que F=0 y 6 las en las que F=1. En el nuevo diagrama
hay dos casillas con 0 y 6 con 1.
Hay dos las, en al primera la estn todos los valores de F correspondientes a A=0, y en
la segunda correspondientes a A=1.
Hay 4 columnas, y el nmero que est en la parte superior de cada una de ellas nos indica
los valores de las variables B y C en esa columna.
Dada una casilla cualquiera, mirando el nmero situado en la misma la, a la izquierda
del todo nos informa del valor de la variable A y los dos valores superiores, en la misma

CAPTULO 3. ALGEBRA DE BOOLE

54

columna, nos dan los valores de B y C. As por ejemplo, si tomamos como referencia la
casilla que est en la esquina inferior derecha, se corresponde con el valor que toma F
cuando A=1, B=1 y C=0.
Entre dos casillas adyacentes cualesquiera, slo vara una variable de entrada, quedando
las otras dos con los mismos valores. Por ejemplo, si estamos en la casilla inferior derecha,
en la que A=1, B=1 y C=0. Si vamos a la casilla que est a su izquierda obtenemos un
valor de las variables de: A=1, B=1, C=1. Si lo comparamos los valores de las variables
correspondientes a la casilla anterior, vemos que slo ha cambiado una de las tres variables,
la C. Lo mismo ocurre si nos desplazamos a cualquier otra casilla adyacente.
Ahora vamos a ver una propiedad mgica de esta tabla. Si obtenemos la primera forma cannica, obtenemos una funcin con 6 trminos. Vamos a jarnos slo en los trminos que obtenemos
si desarrollamos slo dos casillas adyacentes, como por ejemplos las marcadas en gris en la
gura:
BC
A

00

01

11

10

Los valores de las variables en estas casillas son: A=1, B=1, C=1 y A=1, B=1, C=0. Si
obtenemos los trminos de la primera forma cannica y los sumamos:

"

Se nos han simplicado!! Es decir, por el hecho de agrupar los trminos obtenidos de estas
dos casillas y sumarlos, se han simplicado. Y esto es debido a la propiedad antes comentada de
que entre dos casillas adyacentes slo vara una de las variables, de manera que podemos sacar
factor comn. Estos dos trminos son los sumandos 5 y 6 de la primera forma cannica obtenida
anteriormente, que al sumarlos y aplicar aglunas propiedades se han simplicado.
Si nos jamos en estas dos casillas adyacentes, la variable C, que es la nica que vara de una
a otra, ha desaparecido en la suma. De esta manera podemos armar lo siguiente:
Si tomamos dos casillas adyacentes cuyo valor es 1 y desarrollamos por la primera forma
cannica, desaparecer una de las variables. Slo permanecen las variables que no cambian

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

55

de una casilla a otra.


De esta manera, vamos a ver qu pasa si tomamos los siguientes grupos:
BC
A

00

01

11

10

Grupo 1

Grupo 2

Grupo 3

y sumamos los trminos de estos grupos:

#


"

"

0

Grupo 3: El que tenamos antes:

Grupo 2:

Grupo 1:

Por tanto, la funcin F tambin la podemos expresar como suma de estos grupos:

Y est ms simplicada que la forma cannica!! Pero...Se puede simplicar ms? Si!.
Inicialmente la funcin F tena 6 sumandos, puesto que tena 6 unos. Al hacer 3 grupos, ahora
tiene 3 sumandos. Podemos reducir el nmero de grupos? Si, vamos a ver qu pasa si tomamos
los siguientes grupos:
BC
00
A

01

11

10

Grupo 1

Grupo 2

Ahora slo hay 2 grupos. El nuevo grupo 2 est constituido por 4 casillas en las que F=1.
La expresin de este grupo se obtiene sumando las expresiones de estas 4 casillas. Las nuevas
expresiones de los grupos quedaran:

CAPTULO 3. ALGEBRA DE BOOLE

56

0 #

"

Grupo 2:

Grupo 1: Igual que antes:

La nueva funcin F que obtenemos es:

Que est ms simplicada que la anterior!! Pero... Es la ms simplicada? No, todava


podemos simplicarla ms. Por qu no podemos tomar 2 grupos de 4 casillas adyacentes?.
Tomemos los grupos siguientes:
BC
00
A

01

11

10

Grupo 1

Grupo 2

Las nuevas expresiones de los grupos son:




# "

Grupo 2: Igual que antes:

Grupo 1:

Por tanto, la nueva funcin F simplicada es:

0

Esta funcin est simplicada al mximo!!!


Criterio de mxima simplicacin:
Para obtener una funcin que no se puede simplicar ms hay que tomar el menor nmero
de grupos con el mayor nmero de 1 en cada grupo.
Hay que tener en cuenta que los grupos cd unos que se tomen slo pueden tener un tamao de
1, 2, 4, 8, 16,... (es decir, slo potencias de dos). Esa es la razn por la que en el ejemplo anterior
los grupos que se han tomado son de tamao 4 (y no se han tomado de tamao 3).
Fijmonos en todas las funciones que hemos obtenido anteriormente:

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

57

(CANONICA)







           




(3 grupos de 2 1s por grupo)

(1 grupo de 4 1s y 1 grupo de 2 1s)

(2 grupos de 4 1s)

Todas son funciones booleanas equivalentes!! (Porque tienen la misma tabla de verdad). Pero
es la funcin
la que usamos!! Smos Ingenieros y queremos optimizar al mximo!!!

Ejemplo
Veamos con un ejemplo cmo podemos aplicar directamente el criterio para obtener una funcin simplicada. Dada la siguiente tabla de verdad, obtener la expresin de F ms simplicada
posible:
A

0
0

0
1

1
0

1
1

0
1
1

1
0
0

1
0
1

1
0
0

1
1

1
1

0
1

0
1

Colocamos la tabla de verdad como un diagrama de Karnaugh y hacer tres grupos de dos
unos:
BC
00
A

01

11

10

La funcin F la obtenemos sumando las expresiones de los tres grupos, siendo cada uno de
ellos el producto de las dos variables booleanas que permanecen sin cambios dentro de cada
grupo:

CAPTULO 3. ALGEBRA DE BOOLE

58

Como hemos aplicado correctamente el criterio de mxima simplicacin, tenemos la certeza absoluta de que esta es la expresin ms simplicada posible para la funcin F.
A la hora de formar los grupos hay que tener en cuenta que las casillas situadas ms a la
derecha de la tabla son adyacentes a las que estn ms a la izquierda. Veamos un ejemplo:

Ejemplo:
Simplicar la siguiente funcin, utilizando el mtodo de Karnaugh:
A

0
0

0
0

0
1

1
0

0
0
1

1
1
0

0
1
0

0
1
1

1
1

0
1

1
0

0
1

Lo representamos en un diagrama de Karnaugh y tomamos el siguiente grupo:


BC
00
A

01

11

10

con el que obtenemos la siguiente funcin simplicada:

3.7. SIMPLIFICACIN DE FUNCIONES BOOLEANAS

59

Funciones de 4 variables
Y qu ocurre si tenemos una funcin de 4 variables? La idea es la misma pero tendremos
una tabla ms grande. El criterio de mxima simplicacin es el mismo: hacer el menor nmero
posible de grupos con el mximo nmero de 1s. Veamos un ejemplo:

Ejemplo:

Dada la siguiente tabla de verdad, obtener la expresin de F ms simplicada posible:

A B

D F

0
0
0

0
0
0

0
1
1

1
0
1

0
1
0

0
0

1
1

0
0

0
1

1
1

0
0

1
1

1
1

0
1

1
1

1
1

0
0

0
0

0
1

1
0

1
1

0
0

1
1

0
1

1
0

1
1

1
1

0
0

0
1

1
0

1
1

1
1

1
1

0
1

1
0

Lo primero que hacemos es pasarlo a un diagrama de Karnaugh, de la siguiente manera


(cuidado de no confundirse!!):

CAPTULO 3. ALGEBRA DE BOOLE

60
CD
00
AB

01

11

10

00

01

11

10

Vemos que ahora en la izquierda de la tabla estn los valores de las variables A y B y en la
parte superior los valores de C y D. Lo siguiente es agrupar los 1s. Vamos a hacer primero los
siguientes grupos:

CD
00

01

11

10

00

01

11

10

AB

La expresin que obtenemos es:

Sin embargo, es esta la funcin ms simplicada? O lo que es lo mismo, podemos hacer


menos grupos de 1s. La respuesta es s, porque no olvidemos que las casillas de la derecha son
adyacentes a las de la izquierda de la tabla, por lo que podemos hacer slo dos grupos:

61

3.8. LA OPERACIN

CD
00
AB

01

11

10

00

01

11

10

Un grupo es de 8 unos y el otro de 4. Obtenemos la siguiente funcin:

Esta s es la ms simplicada.

Ejercicios:
Hacer el ejercicio 9.

3.8. La operacin

Hay un operacin que en electrnica digital se utiliza mucho, llamada XOR y que se denota
. Esta operacin la podemos denir mediante una tabla de verdad:

A B

por el smbolo

0
0

0
1

0
1

1
1

0
1

1
0

Fijndonos en esta tabla podemos ver lo que hace: esta operacin devuelve 0 cuando los dos
bits sobre los que operan son iguales, y 1 cuando con distintos. Tanto esta operacin como su

negada,
, las utilizaremos mucho, por ello vamos a ver cmo las podemos denir a partir
de las operaciones + y , y ver algunas de sus propiedades.

Partiremos de la tabla de verdad, en la que adems representaremos la operacin negada:

CAPTULO 3. ALGEBRA DE BOOLE

A B

62

0
0

0
1

0
1

1
0

1
1

0
1

1
0

0
1

Vamos a obtener las dos formas cannicas de ambas funciones. Estas expresiones las utilizaremos bastante:

" #

"

" #

"

Y la siguiente propiedad tambin es muy interesante:

Ejercicios:
Hacer el ejercicio 10.

3.9. Resumen
En este captulo se han presentado las herramientas matemticas que nos servirn para
analizar y disear circuitos digitales. Trabajaremos con dgitos binarios o bits que pueden estar
en dos estados 0 1, sobre los que se denen las operaciones + y , del Algebra de Boole, y

que no hay confundir con las operaciones de suma y producto a las que estamos acostumbrados.
Hemos vista una serie de propiedades y teoremas que nos permiten trabajar con expresiones
booleanas y con los que es necesario practicar, haciendo los ejercicios indicados.
Tambin hemos visto el concepto de funcin boolena y cmo podemos representar cualquier
funcin de este tipo mediante tablas de verdad o mediante expresiones booleanas. Tambin
hemos visto cmo es posible obtener una tabla de verdad a partir de una expresin booleana y
cmo obtener una expresin booleana a partir de la tabla de verdad.
Dada una tabla de verdad, existen multitud de expresiones booleanas, todas ellas equivalentes, que se pueden obtener. Sin embargo, hemos visto cmo es inmediato obtener la primera

3.10. EJERCICIOS

63

y segunda forma cannica. Sin embargo, las funciones as obtenidas no tienen porqu ser las
ms simplicadas posibles. Para simplicar una funcin podemos utilizar las propiedades del
Algebra de Boole, o tambin podemos utilizar el mtodo de Karnaugh, que si lo aplicamos
correctamente, conseguiremos obtener la funcin ms simplicada posible.
Finalmente hemos visto una nueva operacin, , que se dene a partir de las operaciones +
y , y que es conveniente que conozcamos puesto que la usaremos bastante.

Para repasar con todos estos conceptos se recomienda hacer todos los ejercicios y los problemas de los apartados 3.10

3.10. Ejercicios
Ejercicio 1:
Realizar las siguientes operaciones:
1. 1 + 0 =
2. 1 + 1 =
3. 1 0 =

4. 1 1 =

5. A+0 =
6. A+1=
7. A 1=

8. A 0=

9. A+A=
10. A.A=

11. A+ =

12. A

13. A+AB =

CAPTULO 3. ALGEBRA DE BOOLE

64
14. A(A+B) =
15. A+AB+B =

Ejercicio 2:
Aplicar las leyes de Morgan en los siguientes casos:
=

"

"

3.

2.

1.

Ejercicio 3:
Obtener el valor de las siguientes funciones booleanas, en todos los casos.

3. F=

2.

1.

Ejercicio 4:
Dadas las siguientes funciones booleanas, obtener su correspondiente tabla de verdad

4.

3.

2.

1.

3.10. EJERCICIOS

65

Ejercicio 5:
Desarrollar las siguientes tablas de verdad por la primera forma cannica:
1. Tabla 1:
A B

0
0

0
1

0
1

1
1

0
1

0
1

2. Tabla 2:
A

C F

0
0
0

0
1
1

1
0
1

1
0
0

1
1

0
0

0
1

0
0

1
1

1
1

0
1

0
0

Ejercicio 6:
Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma cannica, y si es as, obtener la tabla de verdad

4.

3.

2.

1.

Ejercicio 7:
Desarrollar las siguientes tablas de verdad por la segunda forma cannica:

CAPTULO 3. ALGEBRA DE BOOLE

66
1. Tabla 1:
A B

0
0

0
1

0
1

1
1

0
1

0
1

2. Tabla 2:
A

C F

0
0

0
0

0
1

1
1

0
0

1
1

0
1

0
1

1
1
1

0
0
1

0
1
0

0
1
0

Ejercicio 8:
Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma cannica o en la segunda. En caso de que as sea, obtener la tabla de verdad.

#

# " # "

" #


# "


"

"


5.

4.

" #

3.

2.

1.

Ejercicio 9:
Obtener las expresiones ms simplicadas a partir de las tablas de verdad:

3.10. EJERCICIOS

67
Tabla 2:

Tabla 1:

A B

0
0

0
0

0
0

0
1

1
0

0
0

0
0

0
0

0
1

1
0

0
0

0
0

1
1

0
1

1
0

0
0

0
0

1
1

0
1

0
0

0
0
0

1
1
1

0
0
1

0
1
0

0
0
0

0
0
0

1
1
1

0
0
1

0
1
0

1
0
1

1
1
1

0
0
0

0
0
1

0
1
0

1
1
1

1
1
1

0
0
0

0
0
1

0
1
0

0
0
0

1
1

1
1

0
1

1
0

0
0

1
1

1
1

0
1

1
0

1
0

Operar con las siguientes expresiones obteniendo la mayor cantidad posible de operaciones
=


" #

"

4.

3.

2.

1.

Ejercicio 11:
Dejar las siguientes expresiones en forma de sumas de productos:

1. (x + y + z)( +z) =

Ejercicio 10:

CAPTULO 3. ALGEBRA DE BOOLE

68

# " #

"



3.

2.

Ejercicio 12:

0

Simplicar la funcin

de las siguientes maneras:

1. Obteniendo la tabla de verdad y aplicando Karnaugh


2. Aplicando las propiedades del Algebra de Boole

Captulo 4
CIRCUITOS COMBINACIONALES
4.1. Introduccin
Despus de introducir y trabajar con el Algebra de Boole, vamos a volver a los circuitos
digitales. Recordemos que son circuitos electrnicos que trabajan con nmeros, y que con la
tecnologa con la que estn realizados, estos nmeros estn representados en binario. En la
gura 4.1 se muestra el esquema general de un circuito digital, que tiene m bits de entrada y n
bits de salida.
Si tomamos un circuito genrico y miramos en su interior, podemos ver que est constituido
por otros circuitos ms simples, interconecados entre s. En la gura 4.2 hay un ejemplo de un
circuito con 4 bits de entrada y 3 de salida, constituido por otros dos circuitos ms simples e
interconectados entre ellos.
Estos subcircuitos se pueden clasicar en dos tipos:
Circuitos combinacionales
Circuitos secuenciales
Numeros de
entrada, en binario

.
.
.

Numeros de
salida, en binario
S0
E0
E1 Circuito S 1
S2
E2
S3
E3 Ditial
Em

Sn

.
.
.

Figura 4.1: Un circuito digital, con m bits de entrada y n de salida


69

CAPTULO 4. CIRCUITOS COMBINACIONALES

70

E3
E2

Circuito 1

S2
S1

Circuito 2

S0

E1
E0

Figura 4.2: Un circuito digital constituido por otros dos circuitos interconectados
As, podemos decir que todo circuito digital genrico tendr una parte combinacional y otra
parte secuencial. En este captulo nos centraremos en los circuitos combinacionales, que no
tienen parte secuencial. Estos circuitos se caracterizan porque NO almacenan informacin.
Las salidas estn relacionadas con las entradas a travs de una funcin booleana, como las
vistas en el captulo 3. Como veremos ms adelante, los circuitos secuenciales son capaces de
recordar nmeros que han recibido anteriormente.
En un circuito combinacional, las salidas dependen directamente del valor de
las entradas, y no pueden por tanto almacenar ningn tipo de informacin, slo
realizan transformaciones en las entradas. Estos circuitos quedan caracterizados
mediante funciones booleanas.
Cada bit de salida de un circuito combinacional, se obtiene mediante una funcin booleana aplicado a las variables de entrada. As, si un circuito tiene n salidas, necesitaremos n funciones
booleanas para caracterizarlo.
En la gura 4.3 vemos un circuito combinacional que tiene 3 entradas: A,B y C, y dos salidas
F, G, que son dos funciones booleanas que dependen de las variables de entrada: F(A,B,C) y
G(A,B,C). Por ejemplo, estas funciones podran tener una pinta as:

En este captulo estudiaremos las puertas lgicas, que son los elementos que usamos para

4.2. PUERTAS LGICAS

71

A
B
C

F(A,B,C)
G(A,B,C)

Circuito
Combinacional

Figura 4.3: Un circuito combinacional de 3 entradas y 2 salidas

Transistor

Resistencia Condensador

Diodo

Bobina

Pulsador

Figura 4.4: Algunos smbolos empleados en la electrnica analgica


construir estos circuitos, y cmo las funciones booleanas las podemos realizar mediante puertas
lgicas, lo que se denomina implementacin de funciones booleanas.

4.2. Puertas lgicas


En todas las ingenieras se utilizan planos que describen los diseos. En ellos aparecen dibujos, letras y smbolos. Mediante estos planos o esquemas, el Ingeniero representa el diseo que
tiene en la cabeza y que quiere construir.
En electrnica analgica se utilizan distintos smbolos para representar los diferentes componentes: Resistencias, condensadores, diodos, transistores... Algunos de estos smbolos se pueden
ver en la gura 4.4.
En electrnica digital se utilizan otros smbolos, los de las puertas lgicas, para representar
las manipulaciones con los bits.

4.2.1. Puertas bsicas


Puerta AND
A
B

A.B

CAPTULO 4. CIRCUITOS COMBINACIONALES

72

Esta puerta implementa la operacin del Algebra de Boole. La que se muestra en esta

gura tiene dos entradas, sin embargo puede tener ms. Lo mismo ocurre con el resto de
puertas lgicas que veremos a continuacin.
Puerta OR
A

A+B

Implementa la operacin + del Algebra de Boole. Puede tener tambin mas de dos entradas.
Puerta NOT (Inversor)
A

Tiene slo una entrada y realiza la operacin de negacin lgica. Esta puerta se conoce
normalmente con el nombre de inversor.
Slo con estos tres tipos de puertas se pueden implementar cualquier funcin booleana.

Ejemplo:
Analizar el siguiente circuito y obtener la expresin booleana de la salida:
A
B

El circuito est constituido por dos puertas, una AND de tres entradas y un inversor. A

Obtener la expresin booleana de salida del siguiente circuito:

Ejemplo:

la salida de la puerta AND se tiene el producto de las tres variables de entrada


atravesar el inversor se obtiene la expresin nal de F, que es:

y al

4.2. PUERTAS LGICAS

73

A
B

El circuito est constituido por dos puertas AND, dos inversores y una puerta OR. La expresin de F es:

4.2.2. Otras puertas


Con las puertas bsicas podemos implementar cualquier funcin booleana. Sin embargo existen otras puertas que se utilizan mucho en electrnica digital.
Puerta NAND
A
A.B
B

El nombre viene de la abreviacin de NOT-AND, y la operacin que realiza es la negacin


de un producto. Aplicando las leyes de DeMorgan vemos que la expresin a su salida es:

Esta puerta tambin puede tener ms de dos entradas.


Las puertas NAND tienen una caracterstica muy importante y es que slo con ellas
se puede implementar cualquier funcin booleana. Slo hay que aplicar las propiedades
del Algebra de Boole a cualquier expresin booleana para dejarla de forma que slo existan
este tipo de operaciones, como veremos en el apartado 4.3.3
Puerta NOR
A
B

A+B

CAPTULO 4. CIRCUITOS COMBINACIONALES

74

Es una puerta OR negada (NOT-OR). Aplicando las leyes de DeMorgan:

Lo mismo que con las puertas NAND, con las puertas NOR se puede implementar cualquier funcin booleana (ver apartado 4.3.4)
Puerta XOR
A
A + B

, denida en el apartado 3.8

Es la puerta que implementa la operacin

Ejemplo:
Analizar el siguiente circuito y obtener la expresin booleana de la salida:
A
B

A la salida de la puerta NAND tenemos la expresin:

, que se introduce en una de las

entradas de la puerta NOR, y por la otra B. El resultado es:

y aplicando las leyes de DeMorgan nos queda:

Es decir, que es un circuito nulo. Con independencia de lo que se introduzca por las entradas,
a su salida siempre se obtendr 0.

Ejercicios
Hacer el ejercicio 1.

4.2. PUERTAS LGICAS

75

Figura 4.5: Dos circuitos integrados, junto a una moneda de 1 euro

4.2.3. Circuitos integrados


Y si ahora queremos construir un circuito? Cmo lo implementamos fsicamente? Las
puertas lgicas se encuentra encapsuladas dentro de circuitos integrados o tambin conocidos
como chips. En la gura 4.5 se muestra una foto de dos de ellos, junto a una moneda de 1
euro para apreciar su tamao. Ms coloquialmente, entre los alumnos, reciben el nombre de
cucarachas, porque son negros y tienen patas.
Hay una familia de circuitos integrados, 74XX, que est estandarizada de manera que se ha
denido la informacin que entra o sale por cada una de las patas. As pueden existir multitud de
fabricantes, pero todos respectando el mismo estndar. En la gura 4.6 se muestra un esquema
del integrado 7402, que contiene en su interior 4 puertas NOR de dos entradas.
Por las patas denominadas VCC y GND se introduce la alimentacin del chip, que normalmente ser de 5v, aunque esto depende de la tecnologa empleada. Por el resto de patas entra o
sale informacin binaria codicada segn la tecnologa empleda. Por ejemplo se puede asociar
5v al dgito 1 y 0v al dgito 0.
A la hora de fabricar un diseo, estos chips se insertan en una placa y se interconectan las
patas con el resto de chips o partes de nuestro circuito. La interconexin se realiza por medio de
cables. Cuando se realiza una placa profesional, las interconexiones entre los chips son pistas
de cobre en la supercie de la placa. Estas placas reciben el nombre de placas de circuito

CAPTULO 4. CIRCUITOS COMBINACIONALES

76
14

13

12

11

10

GND
7

VCC

Figura 4.6: Esquema del integrado 7402


impreso, o por sus siglas en ingls PCB (printed circuito Board). En la gura 4.7 se muestra la
parte inferior de una de estas placas. Por los agujeros se introducen las patas de los componentes
y luego se sueldan. Los distintos agujeros estn interconectados por pistas de cobre. Adems
existe una capa de un barniz verde para que las pistas no estn al aire y se puedan producir
cortocircuitos.

4.2.4. Otras tecnologas


La electrnica ha avanzado muchsimo y en los chips en los que antes slo se podan integrar
una pocas puertas lgicas, ahora se pueden integrar muchsimas ms. De esta manera, los chips
tradicionalmente se han clasicado segn el nmero de puertas que pueden integrar. As tenemos
la siguiente clasicacin de chips:
SSI (Small Scale Integration). Chips con menos de 12 puertas
MSI (Medium Scale Integration). Entre 12 y 100 puertas.
LSI (Large Scale Integration). Entre 100 y 10.000 puertas.
VLSI (Very Large Scale Integration). Ms de 10.000 puertas
Los VLSI se corresponden con los microprocesadores y los microcontroladores. Muchos diseos que antes se realizaban slo con electrnica digital, ahora es ms sencillo y barato hacerlos

4.2. PUERTAS LGICAS

77

Figura 4.7: Una placa de circuito impreso (PCB) vista desde abajo
con un microprocesador o microcontrolador y programarlos. Es decir, hacer software en vez de
hardware.
Sin embargo, existen otras manera de implementar circuitos digitales sin utilizar los chips
tradicionales, es decir, sin tener que recurrir a los chips de la familia 74XX. Esta nueva forma de disear se denomina lgica programable. Existen unos circuitos integrados genricos
(PALs,GALs, CPLDs,FPGAS), que contienen en su interior muchas puertas lgicas y otros componentes. El diseador especica los circuitos digitales que quiere disear utilizando un lenguaje de descripcin hardware (Como por ejemplo el VHDL). Un herramienta software, conocida
como sintetizador, convierte esta descripcin en un formato que indica cmo se deben interconectar los diferentes elementos de este chip genrico. El chip se congura (es decir, realiza
conexiones entre sus elementos internos) segn se indica en el chero sintetizado, de manera que
nuestra descripcin del hardware se ha convertido en un circuito que hace lo que hemos
indicado!!!!
Con esta tcnica se pueden disear desde circuitos simples hasta microprocesadores!!! El
hardware est siguiendo la misma tendencia que el software. Los diseadores de ahora utilizan
sus propios lenguajes de programacin para especicar el hardware que estn diseando.
En esta asignatura se intenta dar una visin lo ms independiente posible de la tecnologa.
De manera que bien se disee con puertas lgicas, o bien se utilice un lenguaje de descripcin

CAPTULO 4. CIRCUITOS COMBINACIONALES

78

hardware, los conocimientos aqu adquiridos sirvan para ambos casos.

4.3. Diseo de circuitos combinacionales


4.3.1. El proceso de diseo
En Ingeniera se entiende por disear el proceso por el cual se obtiene el objeto pedido a
partir de unas especicaciones iniciales. Cuando diseamos circuitos combinaciones, estamos
haciendo lo mismo. Partimos de unas especicaciones iniciales y obtenemos un esquema, o plano, que indica qu puertas bsicas u otros elementos hay que utilizar as como la interconexin
que hay entre ellos.
Los pasos que seguiremos para el diseo son los siguientes:
1. Estudio de las especicaciones iniciales, para entender realmente qu es lo que hay que
disear. Este punto puede parecer una trivialidad, sobre todo en el entorno acadmico donde las especicaciones son muy claras. Sin embargo, en la realidad, es muy difcil llegar a
comprender o entender qu es lo que hay que disear.
2. Obtencin de las tablas de verdad y expresiones booleanas necesarias. En el entorno
acadmico este suele ser el punto de partida. Nos describen qu funcin es la que se quiere
implementer y lo hacemos.
3. Simplicacin de las funciones booleanas. Este punto es importantsimo!!! No basta
con implementar una funcin y ya est. Somos ingenieros!!. Hay que implementar la
mejor funcin, de manera que obtengamos el mejor diseo posible, reduciendo el nmero
de puertas lgicas empleadas, el nmero de circuitos integrados o minimizando el retraso
entre la entrada y la salida.
4. Implementacin de las funciones booleanas utilizando puertas lgicas. Aqu podemos
tener restricciones, como veremos. Puede ser que por especicaciones del diseo slo se
dispongan de puertas tipo NAND. O puede ser que slo podamos utilizar puertas lgicas
con el mnimo nmero de entradas. En ese caso habr que tomar la funcin ms simplicada y modicarla para adaptarla a este tipo de puertas. El resultado de esto es la obtencin
de un esquema o plano del circuito.
5. Construccin. El ltimo paso es llevar ese plano o circuito a la realidad, construyendo

4.3. DISEO DE CIRCUITOS COMBINACIONALES

79

fsicamente el diseo. Esto se estudia en el laboratorio de esta asignatura, utilizando tecnologa TTL.
En este apartado veremos el punto 4, es decir, veremos cmo a partir de una funcin (que ya est
simplicada) podemos obtener el circuito correspondiente, o cmo la podemos modicar para
utilizar un tipo determinado de puertas lgicas. Esto se denomina implementar una funcin.

4.3.2. Implementacin de funciones con cualquier tipo de puertas


El proceso es muy sencillo. Slo hay que tomar la funcin que queremos implementar e ir
sustituyendo las operaciones del Algebra de Boole por sus correspondientes puertas lgicas. Y
como siempre, lo mejor es ver un ejemplo.

Ejemplo 1:
Implementar la siguiente funcin, utilizando cualquier tipo de puertas lgicas:

0

Se trata de implementar un circuito que tiene tres bits de entrada: A, B y C y como salida se
quiere obtener la funcin F indicada. Se puede realizar de muchas formas, pero vamos a ir poco
a poco. Primero nos jamos que no tenemos ninguna restriccin. Es decir, en el enunciado nos
permiten utilizar cualquier tipo de puerta lgica, y con cualquier nmero de entradas. Tampoco
vamos a simplicar la funcin, porque lo que queremos es ver cmo implementarla, aunque ya
hemos visto que siempre hay que simplicar!!! (y de hecho, esta funcin se puede simplicar
ms, como?, se deja como ejercicio). Vemos que en la funcin hay tres trminos que van sumados: ,
,y
. La puerta lgica que representa la suma es la OR, por lo que podemos
escribir:

A
BC

ABC

Ahora el problema es ms sencillo. Hay que obtener esos tres trminos independientemente.
Uno ya lo tenemos, que es A (es directamente una de las entradas). El trmino
es el producto
de B y , y lo podemos obtener con una puerta AND as:

CAPTULO 4. CIRCUITOS COMBINACIONALES

80
B

BC
C

El trmino

lo obtenemos directamente a partir de un inversor:

Para obtener el trmino


, que es el ltimo que nos falta, nos jamos que es un
producto de tres elementos, por lo que usaremos una puerta AND de tres entradas:

A
ABC

B
C

y nalmente para obtener

usamos un par de inversores:

y ahora unimos todas las pierzas para obtener el circuito nal:


C BA

4.3. DISEO DE CIRCUITOS COMBINACIONALES

81

Ejemplo 2:
Implementar la siguiente funcin, utilizando el menor nmero posible de puertas lgicas de cualquier tipo. La funcin est simplicada al mximo.

En este caso nos dicen que la funcin est simplicada al mximo, por lo que no hay que
hacer. Pero es una pregunta que siempre nos tendremos que hacer!! Est simplicada al mximo?. Tambin nos introducen una restriccin: usar el menor nmero posible de puertas lgicas.
Lo primero que se nos puede ocurrir es utilizar el mtodo del ejemplo anterior, sustituyendo las operaciones del Algebra de Boole por puertas lgicas. El circuito que obtenemos es el
siguiente:
A
B
F

C
D

Hemos utilizo las siguientes puertas lgicas:


4 inversores
2 puertas AND de dos entradas
1 puerta OR de cuatro entradas
La nica restriccin que nos han impuesto es utilizar el menor nmero posible de puertas lgicas... Podemos implementar este circuito con menos puertas?. Echemos un vistazo la funcin F.
Teniendo en cuenta que existen otras puertas, como las NAND, XOR, etc... vamos a realizar las
siguientes operaciones:

CAPTULO 4. CIRCUITOS COMBINACIONALES

82

La expresin de F que nos queda es la siguiente:

y si ahora implementamos el circuito:


A
B

C
D

Slo hemos utilizado 3 puertas!!. Una puerta NAND, una XOR y una OR, todas de dos
entradas.

Ejercicios:
Hacer el ejercicio 2

4.3.3. Implementacin de funciones con puertas NAND


Slo con las puertas NAND es posible implementar cualquier funcin boolena. Para ello habr que hacer transformaciones en la funcin original para obtener otra funcin equivalente pero
que se pueda obtener slo con puertas NAND. Para ver cmo podemos hacer eso, implementaremos las puertas NOT, AND, OR y XOR usando slo puertas NAND.
Para refrescar ideas, a continuacin se muestra una puerta NAND de dos entradas y las formas
de expresar el resultado:
A
A.B = A+B

Implementacin de una puerta NOT


Si introducimos la misma variable booleana por las dos entradas de una NAND obtendremos

lo siguiente:


4.3. DISEO DE CIRCUITOS COMBINACIONALES

83

Grcamente:
A

A.A = A

Tenemos un circuito por el que si introducimos una variable A, obtenemos a la salida su


complementario , es decir, se comporta exactamente igual que un inversor.

Implementacin de una puerta AND

Tenemos que disear un circuito con puertas NAND que implemente la funcin

. Lo

que haremos ser aplicar propiedades del Algebra de Boole a esta funcin hasta dejarla de forma
que la podamos implementar directamente con puertas NAND. Podemos hacer lo siguiente:

0

La expresin
se implementa con una puerta NAND y la expresin
ser por tanto
la negacin de la NAND. Como ya sabemos como negar utilizando una puerta NAND, el circuito

resultante es:
A.B

A.B

Implementacin de una puerta OR

La funcin que queremos implementar con puertas NAND es:


. Aplicando propiedades del Algebra de Boole, esta expresin la convertimos en la siguiente:

que es el negado de un producto de dos trminos, es decir, es una puerta NAND aplicada a
y :

CAPTULO 4. CIRCUITOS COMBINACIONALES

84
A

A
A.B = A+B

Implementacin de una puerta XOR

modicarla de la siguiente manera:

La funcin a implementar con puertas NAND es:

. Podemos

No nos dejemos asustar por aparente complejidad de esta expresin. Fijmonos en que la
. Y
expresin es la suma de dos trminos negados, es decir, que tiene la forma de:

& 

esto es una puerta NAND!!, que lo podemos poner de la siguienet manera:


A.B
F
A.B

F
A
B

Y nalmente hay que obtener

A.B

utilizando inversores con puertas NAND:

A.B

El trmino
tiene tambin la forma de una puerta NAND, puesto que es del tipo
. El circuito nos queda as:
Y lo mismo le ocurre al trmino

4.3. DISEO DE CIRCUITOS COMBINACIONALES


A

85

A.B

B
F
A
B

A.B

Ya tenemos implementada la funcin XOR slo con puertasn NAND.

Ejemplo 1:
Implementar la siguiente funcin utilizando nicamente puertas NAND. La funcin est simplicada al mximo:

Tendremos que aplicar la propiedades del Algebra de Boole para dejar esta expresin de
forma que la podamos implementar con puertas NAND. Como el enunciado no nos pone ninguna
restriccin, podremos usar puertas NAND con el nmero de entradas que queramos. Una puerta
NAND de tres entradas puede realizar las siguientes operaciones:

 


 

Si aplicamos una doble negacin a F y luego aplicamos sucesivamente las leyes de DeMorgan

" #

"


Esta funcin es inmediata implementarla con puertas NAND:

(o el teorema de Shannon):

CAPTULO 4. CIRCUITOS COMBINACIONALES

86

Ejemplo 2:
Implementar la siguiente funcin utilizando slo puertas NAND de 2 entradas:

Es la misma funcin que la del apartado anterior, sin embargo, ahora tenemos la restriccin
de que slo podemos usar puertas NAND de dos entradas. Si hacemos la misma transformacin
que antes, obtenemos:

" #

"

que tiene la forma


das:

y que se implementa fcilmente con una NAND de dos entra-

A+B+C
F
A+B+C

El problema ahora es cmo implementar los trminos

. Vamos con

el primero de ellos. Se puede escribir tambin de la siguiente forma (aplicando el truco de la


doble negacin):

"

que se implementa de la siguiente forma:

4.3. DISEO DE CIRCUITOS COMBINACIONALES


A
BC

87

A+B+C

El otro trmino lo podemos implementar de forma similar:


AB
C

A+B+C

y ahora juntando todas las piezas e implementando lo que falta:


A

Ejercicios:
Hacer el ejercicio x

4.3.4. Implementacin de funciones con puertas NOR


Lo mismo que con las puertas NAND, con las puertas NOR se puede implementar cualquier
funcin booleana. Vamos a ver cmo se pueden implementar el resto de puertas lgicas. Recordemos que las expresiones a las salidas de las puertas NOR son:
A
B

A+B = A.B

CAPTULO 4. CIRCUITOS COMBINACIONALES

88
Implementacin de una puerta NOT

Se hace de la misma manera que con las puertas NAND. Si introducimos la misma variable
por las dos entradas, obtenemos la variable negada:
A

A+A = A

Implementacin de una puerta OR

. Esta expresin la podemos poner de la siguente

La funcin a implementar es:


manera:

es decir, que podemos utilizar una puerta NOR y luego un inversor, que ya sabemos cmo
implementarlo con puertas NOR. Lo que nos queda es:
A+B

A+B

Implementacin de una puerta AND

La funcin a implementar es:

. Podemos realizar las siguientes modicaciones

para que pueda ser implementada con puertas NOR:

Y el circuito quedara as:


A

A
A.B

4.3. DISEO DE CIRCUITOS COMBINACIONALES

89

Implementacin de una puerta XOR

. Haciendo las siguientes modicaciones:

La funcin a implementar es:

y de la misma manera que hemos hecho con las puertas NAND, vamos a ir implementando
y

A.B+A.B

A.B

A.B

A continuacin implementamos

esta funcin poco a poco. Primero vemos que hay una puerta NOR cuyas entradas son
, y que est negada:

, teniendo en cuanta que los podemos reescribir

de esta forma:


# "


# "

Grcamente:
A
B

A.B

A
B

A.B

Uniendo todas las piezas, el circuito nal que nos queda es:

CAPTULO 4. CIRCUITOS COMBINACIONALES

90
A

B
A.B
B

A.B+A.B
F

A.B

Hemos implementado la puerta XOR slo con puertas NOR.

Ejercicios:
Hacer el ejercicio x

4.4. Aplicacin: Diseo de un controlador para un robot seguidor de lnea


4.4.1. Introduccin
En este apartado disearemos un circuito digital que gobierne el comportamiento de un
robot seguidor de lnea. El objetivo es que el alumno vea cmo todo lo aprendido hasta ahora
se puede aplicar, y obtener tambin algo de intuicin sobre el tipo de circuitos digitales que se
pueden disear.
Este apartado es opcional. El lector no interesado puede saltar directamente al apartado 4.6.
Sin embargo los alumnos inquietos pueden utilizarlo de base para introducirse en el mundo de la
robtica y de la electrnica digital prctica, para ver cmo se puede hacer un proyecto real.
Obviamente no construiremos el robot entero, esto nos llevara ms tiempo :-). Partiremos de
un robot ya existente, que tiene una estructura mecnica hecha con piezas de Lego, dos motores,
dos sensores para detectar el color negro sobre un fondo plano y la electrnica necesaria para
controlar los motores y leer los sensores. Este robot se comercializa bajo el nombre de Tritt. Sin
embargo utiliza un microcontrolador 6811 para implementar el cerebro. Nosotros disearemos
nuestro propio cerebro digital, para que el robot siga una lnea negra. En la gura 4.8 se muestra
el microbot Tritt, junto a un disquete, para hacerse una idea de las dimensiones que tiene.

4.4. APLICACIN: DISEO DE UN CONTROLADOR PARA UN ROBOT SEGUIDOR DE LNEA91

Figura 4.8: El microbot Tritt


En la gura 4.9 se muestra el mismo microbot Tritt pero sin la tarjeta CT6811 que lleva el
microcontrolador 6811. En vez de ella disearemos nuestro propio cerebro digital.

4.4.2. Especicaciones
Las especicaciones son:
Objetivo: Disear un circuito digital, capaz gobernar un microbot, haciendo que ste siga
una lnea negra pintada sobre un fondo blanco.
Sensores: El microbot est dotado de dos sensores digitales capacez de diferenciar el color
negro del blanco. La salida de estos sensores es 0 cuando leen blanco y 1 cuando leen
negro. Denominaremos a este bit como C:
Sensor

Color Blanco

Color Negro

Motores: Dos motores de corriente continua que son controlados cada uno mediante dos
bits, denominados S y P, descritos mediante la siguiente tabla de verdad:

CAPTULO 4. CIRCUITOS COMBINACIONALES

92

Figura 4.9: Microbot Tritt sin la tarjeta CT6811

P S

Motor

Parado

Parado

Giro derecha

Giro izquierda

El bit P es el bit de Power. Indica si el motor est conectado o no. El bit S es el del
sentido de giro. Segn su valor el motor girar a la derecha o a la izquierda (siempre que
el motor est activado, con P=1).

El robot: El esquema del robot es el siguiente (visto desde arriba):

4.4. APLICACIN: DISEO DE UN CONTROLADOR PARA UN ROBOT SEGUIDOR DE LNEA93


Sensor 1

Sensor 2

Motor 1

Motor 2

Ruedas

Algoritmo: El algoritmo para seguir la lnea negra es muy sencillo. Mientras los dos sensores detecten negro, el robot deber avanzar. Cuando el sensor de la derecha detecte blanco y
el de la izquierda negro, el robot girar a la izquierda y cuando ocurra el caso contrario girar a la derecha. Si ambos sensores leen blanco permanecer parado. Esto se esquematiza
en la siguiente gura:

Recto

Giro izquierda

Giro derecha

4.4.3. Diagrama de bloques


Como primera fase del diseo tenemos que entender qu es lo que se nos est pidiendo y
determinar el aspecto que tiene el circuito que hay que realizar. El circuito tendr dos entradas
provenientes de los sensores,
y , y cuatro salidas, dos para cada motor: , , y :

Motor 2

S2
P2

Motor 1

S1
P1

C2

Circuito
a disear

Sensor 2

C1

Sensor 1

CAPTULO 4. CIRCUITOS COMBINACIONALES

94

4.4.4. Tabla de verdad


Ahora hay que denir el comportamiento del circuito, utilizando una tabla de verdad. Este
comportamiento nos lo da el algoritmo de seguir la lnea. La tabla de verdad es la siguiente:

Con una x se han marcado las casillas de la tabla de verdad que es indiferente su valor.
Segn nos convenga puede valer 0 1.

4.4.5. Ecuaciones booleanas del circuito


Puesto que el circuito slo tiene 2 variables de entrada, es inmediato obtener las expresiones
.


de

Tambin se podra haber hecho Karnaugh:


P1
C2
C1

S2

S1
C2

C2
0

C1

C1

4.5. ANLISIS DE CIRCUITOS COMBINACIONALES

95

4.4.6. Implementacin del circuito


El circuito, implementado con puertas lgicas bsicas es el siguiente:

C1

S1

C2

S2
P1
P2

Si lo construimos utilizando puertas TTL, necesitamos dos integrados, uno para los inversores
y otro para la puerta OR. Si en vez de ello lo implementamos slo con puertas NAND, el circuito
es el siguiente:
S1
C1

P1
P2

C2
S2

Tiene tambin 3 puertas, pero ahora slo es necesario un slo circuito integrado.

4.5. Anlisis de circuitos combinacionales


Por anlisis entendemos lo contrario de diseo. Al disear partimos de unas especicaciones,
obtenemos una tabla de verdad o una funcin booleana, la simplicamos y la implementamos
con puertas lgicas. En el anlisis partimos de un circuito y tendremos que obtener bien la tabla
de verdad, bien la expresin booleana, lo que nos permitir analizar si el circuito era el ms
ptimo o nos permitir hacer una re-implementacin de dicho circuito utilizando otra tecnologa.
Si el circuito tiene pocas entradas, cuatro o menos, lo mejor es hacer la tabla de verdad. Para
realizarla tomaremos puntos intermedios en el circuito, que incluiremos tambin en la propia

CAPTULO 4. CIRCUITOS COMBINACIONALES

96

tabla. Iremos rellenando el valor de estos puntos intermedios hasta obtener el valor de la funcin.
Y como siempre, lo mejor es ver ejemplos.

Ejemplo 1:
Obtener la tabla de verdad del siguiente circuito:
A B C

El problema se puede hacer de varias maneras. Y ese suele ser uno de los problemas. Qu
camino escojo para obtener la tabla de verdad?. Por un lado podemos obtener la expresin de F,
pasando las puertas lgicas a operandos del Algebra de Boole y luego obtener la tabla de verdad.
O podemos obtener directamente la tabla de verdad. Sea cual sea el camino elegido, lo primero
que haremos ser tomar puntos intermedios: seleccionamos las salidas de las puertas lgicas y
les asignamos una variable boolena:
A B C

a
F
b

En este circuito hemos tomado dos puntos intermedios, el a y el b. Si decidimos obtener F


usando el Algebra de Boole, la expresin que obtenemos es:

3 

Y ahora la representaramos en una tabla de verdad. Sin embargo, suele ser ms sencillo

4.5. ANLISIS DE CIRCUITOS COMBINACIONALES

97

obtener la tabla de verdad directamente del diseo y luego aplicar karnaugh para obtener la
expresin ms simplicada de F, si fuese necesario. En la tabla de verdad dibujaremos nuevas
columnas en las que aparecen los puntos intermedios, que nos permitirn ir anotando los clculos
intermedios para obtener F ms fcilmente. La tabla de verdad sin rellenar es:

0
1
0

0
0
1

1
1
1

0
1

1
1

0
0

0
1

0
0

0
0

3 

Y ahora vamos columna por columna, rellenando la informacin. Comenzaremos por la columna a. Hay que hacer la NAND de B y C. Para no confundirnos, nos dibujamos la tabla NAND
para dos variables:

A B
0
0

0
1

0
0

1
1

1
1

0
1

0
1

1
0

y nos jamos en que slo vale 0 cuando ambas variables son 1. Recorremos las las de B
y C buscando el caso en el que B=1 y C=1, y anotamos un 0. Para el resto de casos a=1. Nos
queda lo siguiente:

1
1

0
0

0
1

1
1

1
1

1
1

0
1

1
0

1
1
0

1
0
1

0
1
1

0
0
0

3 

CAPTULO 4. CIRCUITOS COMBINACIONALES

98

Se ha marcado con negrita los dos casos en los que B=1 y C=1. Para el resto de casos no
hemos tenido que pensar, se puede rellenar de forma directa. Este mtodo nos permite obtener
las tablas de verdad de una manera muy rpida y cometiendo muy pocos errores.
Contiemos con la siguiente columna. En este caso hay que rellenar una columna con el producto entre B y A. Nuevamente nos jamos en la tabla de la operacin AND y vemos que el
resultado slo vale 1 cuando B=1 y A=1. Para el resto de casos se tendr 0:

0
0

0
0

0
1

0
0

1
1

0
1

1
0

0
0

1
1
1

0
0
1

0
1
0

1
1
1

0
0
0

3 

1
1

0
0

Y por ltimo ya podemos obtener el valor de F, aplicando una operacin OR a la columna


a con la b. Por la denicin de la operacin OR (mirando su tabla), sabemos que slo vale 0
cuando ambos operandos son 0. Buscamos ese caso en la tabla y en el resto de las ponemos
un 1. La tabla nal es:

0
0
1

1
1
1

0
1

1
1

0
0

1
1

0
1

0
0

0
0

3 

0
0

1
1

1
0

0
0

1
0

0
1
0

1
1
1

0
0
0

1
1
1

Aunque no los pide el enunciado del ejercicio, vamos a obtener la expresin ms simplicada de F, usando Karnagh, y la vamos a comparar con la expresin F que antes obtuvimos. El
diagrama de Karnaugh es muy sencillo de obtener a partir de la tabla de verdad, puesto que slo
un 0. Pintamos este 0 en su casilla correspondiente (A=0, B=1 y C=1) y el resto de casillas
valdrn 1:

4.6. RESUMEN

99
BC
A

00

01

11

10

00

01

11

10

Podemos hacer los siguientes grupos:


BC

De los que obtenemos la expresin ms simplicada de F:

0

Vemos que est ms simplicada que la expresin inicial que obtuvimos aplicando el Algebra
de Boole.

4.6. Resumen
Todo circuito digital est constituido en su interior por circuitos combinacionales y/o circuitos secuenciales. Estos ltimos son capaces de almacenar informacin. En este captulo hemos trabajado con circuitos combinaciones, en los que sus salidas dependen directamente de
las entradas, y no son capaces de almacenar informacin ni recordar cules fueron las entradas
anteriores.
Para la construccin de los circuitos combinacionales, se emplean las puertas lgicas, que
permiten realizar electrnicamente las operaciones del Algebra de Boole. Las puertas lgicas
bsicas con AND, OR y NOT, pero tambin existen otras puertas lgicas que se usan mucho:
NAND, NOR y XOR. Cualquier circuito combinacional se puede construir a partir de las puertas
bsicas, combinndolas adecuadamente. Sin embargo, tambin es posible implementar circuitos
utilizando slo puertas NAND, o slo puertas NOR.
Las puertas lgicas se encuentran encapsuladas en un circuito integrado. Esto se denomina

CAPTULO 4. CIRCUITOS COMBINACIONALES

100

tecnologa TTL. Tambin es posible utilizar otras tecnologas para la construccin de circuitos
digitales, como son los dispositivos lgicos programables o las FPGAs.
El diseo de un circuito combinacional es sencillo. A partir de unas especicaciones se
obtiene la tabla de verdad de las salidas del circuito, y utilizando el mtodo de simplicacin
de Karnaugh obtendremos la funcin ms simplicada. Las funciones as obtenidas se podrn
implementar de diversas maneras, entre las que hemos visto, su implementacin usando puertas
bsicas, slo puertas NAND, o slo puertas NOR.
Como ejemplo prctico, hemos diseado un circuito combinacional que acta de cerebro
de un Microbot, controlndolo de manera que siga una lnea negra sobre un fondo blanco.
Finalmente hemos visto cmo se analizan los circuitos, obteniendo sus tablas de verdad o
ecuaciones booleanas a partir de las puertas lgicas.

4.7. Ejercicios
Ejercicio 1:
Obtener las expresiones booleanas de las salidas de los siguientes circuitos (no hay que simplicar ni operar estas expresiones):

Circuito 1:
A
B
C

Circuito 2:

4.7. EJERCICIOS

101
A
B
C
F
D
E

Circuito 3:
A
B
C

D
E

Ejercicio 2:
Implementar las siguientes funcin, utilizando cualquier tipo de puertas lgicas, sabiendo que todas las funciones estn simplicadas al mximo.

1.

Ejercicio 2:
Implementar slo con puertas NAND

Ejercicio 3:
Implementar slo con puertas NOR

Ejercicio x:

0

Dada la funcin

1. Implementar con cualquier tipo de puertas lgicas

102

CAPTULO 4. CIRCUITOS COMBINACIONALES

2. Implementar slo con puertas NAND


3. Implementar slo con puertas NOR
4. Aplicar la propiedad distributiva e implementar con cualquier tipo de puertas lgicas
5. En qu circuito se utilizan el menor nmero de puertas?

Captulo 5
CIRCUITOS MSI (1): Multiplexores y
demultiplexores
5.1. Introduccin
Los circutios MSI son los que estn constituidos por un nmero de puertas lgicas comprendidos entre 12 y 100 (ver apartado 4.2.4). En este captulo veremos una serie de circuitos
combinaciones que se utilizan mucho en electrnica digital y que son la base para la creacin
de diseos ms complejos. Aunque se pueden disear a partir de puertas lgicas, estos circuitos
se pueden tratar como componentes, asignndoles un smbolo, o utilizando una cierta nomenclatura.
Los circuitos que veremos son los siguientes:

Multiplexores y demultiplexores
Codicadores y decodicadores
Comparadores

Lo ms importante es comprender para qu sirven, cmo funcionan y que bits de entrada


y salida utilizan. Estos circuitos los podramos disear perfectamente nosotros, puesto que se
trata de circuitos combinacionales y por tanto podemos aplicar todo lo aprendido en el captulo
4.
103

104

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES


Tuberia de
agua potable

Manguera de entrada
a la granja

0
Tuberia de agua
para regar

1
Llave de
paso

Figura 5.1: Simitud entre un multiplexor y un sistema de agua de una granja

5.2. Multiplexores
5.2.1. Conceptos
Un Multiplexor es un circuito combinacional al que entran varios canales de datos, y slo
uno de ellos, el que hallamos seleccionado, es el que aparece por la salida. Es decir, que es un
circuito que nos permite SELECCIONAR que datos pasan a travs de dicho componente.
Vamos a ver un ejemplo NO electrnico. Imaginemos que hay dos tuberas (canales de datos)
por el que circulan distintos uidos (datos). Una transporta agua para regar y la otra agua potable.
Estas tuberas llegan a una granja, en la cual hay una nica manguera por la que va a salir el agua
(bien potable o bien para regar), segn lo que seleccione el granjero posicionando la llave de
paso en una u otra posicin. En la gura 5.1 se muestra un esquema. Las posiciones son la 0 para
el agua potable y 1 para el agua de regar.
Moviendo la llave de paso, el granjero puede seleccionar si lo que quiere que salga por la
manguera es agua potable, para dar de beber al ganado, o agua para regar los cultivos. Segn
cmo se posicione esta llave de paso, en la posicin 0 en la 1, seleccionamos una tubera u otra.
Pero por qu slo dos tuberas?. Porque es un ejemplo. A la granja podran llegar 4 tuberas.
En este caso el granjero tendra una llave de paso con 4 posiciones, como se muestra en la
gura 5.2. Esta llave se podra poner en 4 posiciones distintas para dar paso a la tubera 0, 1, 2
3. Obsrvese que slo pasa una de las tuberas en cada momento, y slo una!. Hasta que el
granjero no vuelva a cambiar la llave de paso no se seleccionar otra tubera.
Con este ejemplo es muy fcil entender la idea de multiplexor. Es como una llave de paso,
que slo conecta uno de los canales de datos de entrada con el canal de datos de salida.
Ahora en vez de en tuberas, podemos pensar en canales de datos, y tener un esquema como
el que se muestra en la gura 5.3, en la que hay 4 canales de datos, y slo uno de ellos es
seleccionado por el multiplexor para llegar a la salida . En general, en un multiplexor tenemos
dos tipos de entradas:

5.2. MULTIPLEXORES

105

Tuberia 0

Tuberia 1

Tuberia 2

Tuberia 3

Tuberia de acceso
a la granja

Llave de paso
de 4 posiciones

Figura 5.2: Sistema de agua de 4 tuberas

Canal 0
4,57,98,92,202...

0,1,7,11,55,35...

Canal 1
Canal de salida
Multiplexor

Canal 2
11,23,44,234,156...

11,23,44,234,156...

2
(Canal 2 seleccionado)

Canal 3
0,0,0,2,3,45...

3
2

Entrada de
seleccion

Figura 5.3: Un multiplexor que selecciona entre 4 canales de datos

106

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES


Multiplexor de 4 canales
de entrada, de 2 bits

Multiplexor de 4 canales
de entrada, de 1 bit

B0
B1

O0
O1

Salidas

C0
C1
D1
D0

Entradas de datos

Entradas de datos

A0
A1
A
B
C
D

Salida

S1 S0

S1 S0
Entradas de seleccion

Entradas de seleccion

Figura 5.4: Dos multiplexores de 4 canales de entrada


Entradas de datos: (Las tuberas en el ejemplo).
Entrada de seleccin: Indica cul de las entradas se ha seleccionado (posicin de la llave
de paso).

5.2.2. Multiplexores y bits


Hemos visto cmo a un multiplexor le llegan nmeros por distintas entradas y segn el
nmero que le llegue por la entrada de seleccin, lo manda por la salida o no. Nmeros!!
Recordemos que los circuitos digitales slo trabajan con nmeros.
Pero estos nmeros, vimos que siempre vendrn expresados en binario y por tanto se podrn
expresar mediante bits. Cuantos bits? Depende de lo grande que sean los nmeros con los que
se quiere trabajar.
En el interior de los microprocesadores es muy normal encontrar multiplexores de 8 bits, que
tienen varias entradas de datos de 8 bits. Pero se puede trabajar con multiplexores que tengan 4
bits por cada entrada, o incluso 2, o incluso 1bit. En la gura 5.4 se muestran dos multiplexores
que tienen 4 entradas de datos. Por ello la entrada de seleccin tiene dos bits (para poder seleccionar entre los cuatro canales posibles). Sin embargo, en uno las entradas de datos son de 2 bits
y en el otro de 1 bit.

5.2. MULTIPLEXORES

107

Mirando el nmero de salidas, podemos conocer el tamao de los canales de


entrada.

As en los dos multiplexores de la gura 5.4, vemos que el de la izquierda tiene 2 bits de salida,
por tanto sus canales de entrada son de 2 bits. El de la derecha tiene 1 bit de salida, por tanto los
canales de 1 bit.
Los multiplexores en lo que principalmente nos centraremos son los que tienen canales de 1
bit. A partir de ellos podremos construir multiplexores mayores, bien con un mayor nmero de
canales de entrada o bien con un mayor nmero de bits por cada canal.

5.2.3. Multiplexores de 1 bit y sus expresiones booleanas


Llamaremos as a los multiplexores que tienen canales de entrada de 1 bit, y por tanto
slo tienen un bit de salida. Estudiaremos estos multiplexores, comenzando por el ms simple
de todos, el que slo tienen una entrada de seleccin.

Multiplexores con una entrada de seleccin


El multiplexor ms simple es el que slo tiene una entrada de seleccin, S, que permite
seleccionar entre dos entradas de datos, segn que

. Su aspecto es el siguiente:

Entradas

I0

Salida

I1
S

Entrada de
seleccion

NOTA: En esta asignatura representaremos los multiplexores de igual que cualquier otro circuito, mediante una caja que tiene unas entradas y unas salidas. No
obstante, el smbolo normalmente emlpleado es el siguiente:

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Entradas

108

MX

Salida

Seleccion

Cmo podemos expresar la funcin de salida F, usando el Algebra de Boole?. Existe


una manera muy sencilla y que ya conocemos: hacer la tabla de verdad y obtener la funcin ms
simplicada.
Construyamos la tabla de verdad. Lo primero que nos preguntamos es, Cuantas entradas
tengo en este circuito?. En total hay tres entradas. Dos son de datos: , y una es de seleccin:
. La tabla de verdad tendr en total
las. Para construir esta tabla de verdad slo hay que

entender el funcionamiento del multiplexor e ir caso por caso rellenando la tabla. Por ejemplo,
qu ocurre si
,
y
?. Aplicamos la denicin de multiplexor. Puesto que
, se est seleccionando la entrada de datos 0, es decir, la entrada . Por tanto, lo que entre


por la entrada ser ignorado por el multiplexor. Si la entrada seleccionada es la , la salida


tendr su mismo valor. Y puesto que
entonces
. Si hacemos lo mismo para todos


los casos, tendremos la siguiente tabla de verdad:

0
1
0

0
0
1

0
0
1

que son los mismos que hay a la salida. En


el bloque inferior, lo que se selecciona es
y es lo que se obtiene por la salida.

1
1
1

aparecer en la salida. Se ha puesto en negrita todos los valores de para que se vea


0
1
0

0
1
0

0
0
1

0
0
0

La tabla se ha dividido en dos bloques,


uno en el que
y otro en el que
.
En el primer bloque, se selecciona
que

Apliquemos el mtodo de Karnaugh para obtener la expresin ms simplicada de F. El


diagrama que se obtiene es el siguiente: (Se aconseja al lector que lo haga por su propia cuenta,
sin mirar los apuntes, as le sirve adems para practicar :-)

5.2. MULTIPLEXORES

109
I1 I0
00
S

01

11

10

Obtenemos la siguiente expresin:


(5.1)

Y si ahora escuchamos lo que la ecuacin nos dice, veremos que tiene mucho sentido:

y si S=1,

Si S=0,

Es justo la denicin de un multiplexor!! La salida toma el valor de una de las entradas,


segn el valor que tome la entrada de seleccin.
En realidad, el multiplexor lo podramos haber descrito de una manera ms sencilla, y podramos haber obtenido la ecuacin de otra forma. Veamos cmo.
La funcin F que describe el comportamiento de un multiplexor con una nica entrada de
seleccin, la podemos describir mediante la siguiente tabla:
S

0
1

que lo que nos viene a decir es lo mismo que su ecuacin: cuando S=0, por la salida del
multiplexor aparece el valor
y cuando S=1, aparece el valor . Estamos considerando las
variables
e
como parmetros y NO como variables de entrada del circuito y por tanto

estamos considerando como si la funcin F slo dependiese de la variable S, es decir, tenemos la


funcin F(S). Cmo podemos obtener la ecuacin del multiplexor a partir de esta tabla?:
aplicando el teorema de expansin, que vimos en el apartado 3.4 obtenemos los siguiente:

# "

# "

# "

# "

y F(1) es la salida del multiplexor cuando S=1, es decir, que


cuando S=0,
. La ecuacin del multiplexor es la siguiente:

y F(0) es la salida

# "

# "

110

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Que es la misma ecuacin que habamos obtenido por Karnaugh!!


No se asuste el lector por los desarrollos tericos. Lo importante es comprender cmo funcionan este tipo de multiplexores y cul es la ecuacin que los describe, independientemente
de cmo la hallamos obtenido. Aqu, hemos obtenido la ecuacin por dos mtodos diferentes.
Veremos que con los multiplexores de dos entradas de seleccin slo lo podremos hacer por el
segundo mtodo.

Multiplexores con dos entradas de seleccin.


El siguiente multiplexor en complejidad es el que tenga 2 entradas de seleccin, por lo
que se podr seleccionar hasta 4 entradas posibles. Habr por tanto 4 entradas de datos. El
circuito es como el siguiente:

Entradas

I0
I1

Salida

I2
I3
S1 S0

Entradas de
seleccion

Hay 4 entradas de datos y 2 entradas de seleccin, en total 6 entradas. Ahora hacemos lo


mismo que antes, construimos la tabla de verdad y aplicamos Karnaugh... pero.... 6 variables?


Hay que hacer una tabla que tenga


funcin de 6 variables!!!

las!! Y luego aplicar Karnaugh a una

Vemos que este mtodo, aunque fcil, require muchas operaciones. Es un mtodo ideal para
que lo haga un ordenador!!. Nosotros obtendremos sus ecuaciones de otra manera diferente.
Vamos a describir este multiplexor mediante la siguiente tabla:

0
1

1
1

0
1

0
0

5.2. MULTIPLEXORES

111
o

, ,

segn el

que lo que nos est expresando es que la salida del multiplexor valdr

valor que tomen las variables de entrada


y . Estamos considerando que la funcin F slo
depende de estas dos variables:
y que , , e son parmetros, es decir, valores
constantes que pueden valer 0 1.


, obte-

"

"


"

# "

"

#


"


Y si ahora aplicamos nuevamente el teorema de expansin a las funciones


), desarrollndolas por la variable , tenemos lo siguiente:

, desarrollndola por

Si aplicamos el teorema de expansin a la funcin


nemos lo siguiente:

"

# "

"

#


#


# "

"

"

"

Y ahora, si lo juntamos todo en una nica expresin, tenemos:

#


#


"

#


y
?.
. De la misma

"

"

# "

# "

#


# "

# "

# "

"


# "

# "

Cuando vale F(0,0)?, es decir, cul es la salida del multiplexor cuando


Por la denicin de multiplexor, la salida ser lo que venga por el canal 0, que es

"

"

"

manera obtenemos que


,
,
. Sustituyendo estos valores en
la ecuacin anterior y reordenndola un poco tenemos la expresin nal para un multiplexor

de dos entradas de seleccin:


(5.2)

Olvidmonos ahora de cmo hemos obtenido esa ecuacin. Lo importante es entenderla y

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

112

saber utilizarla. Vamos a comprobar si efectivamente esta ecuacin describe el funcionamiento


de un multiplexor de 2 entradas de seleccin y 4 entradas de datos.


, sabemos por el comportamiento de un multiplexor que se seleccionar la

Si

entrada para que aparezca por la salida. Vamos a comprobarlo. En la ecuacin del multiplexor
sustituimos por 0 y por 1. Obtenemos:

Se deja como ejercicio el que se compruebe la ecuacin para el resto de valores de las entradas
de seleccin.

Multiplexor con cualquier nmero de entradas de seleccin


Si ahora tenemos un multiplexor con 3 entradas de seleccin, que me permitir seleccionar
entre 8 entradas de datos, la ecuacin que lo describe es la generalizacin de la ecuacin 5.2. En
total habr 8 sumandos y en cada uno de ellos se encontrarn las variables , , y , adems
de los correspondientes parmetros , , ..., .


La ecuacin ser:

Y lo mismo podemos hacer para cualquier multiplexor con un nmero de entradas de seleccin mayor, lo que ocurre que la ecuacin tendr muchos ms trminos.

5.3. DEMULTIPLEXORES

113

Tuberia de entrada
a la granja

Manguera 0

Manguera 1

Llave de
paso

Figura 5.5: Similitud entre un demultiplexor y un sistema de agua de una granja

5.3. Demultiplexores
5.3.1. Conceptos
El concepto de demultiplexor es similar al de multiplexor, viendo las entradas de datos como
salidas y la salida como entradas. En un multiplexor hay varias entradas de datos, y slo una de
ellas se saca por el canal de salida. En los demultiplexores hay un nico canal de entrada que se
saca por una de las mltiples salidas (y slo por una!!!).
Si utilizamos el smil de la granja y las tuberas, podemos imaginar el siguiente escenario.
Supongamos que ahora a la granja le llega una nica tubera con agua, pero en el interior de la
granja hay varias mangueras, cada una para limpiar una zona del establo o dar de beber a los
animales de esa zona. Cmo slo hay un granjero, slo podr usar una de las mangueras cada
vez (el granjero no podr usar a la vez dos mangueras, porque estn en sitios diferentes!!).
Para seleccionar qu manguera quiere usar en cada momento, hay una llave de paso, de
manera que si la sita en una posicin, el agua que viene por la entrada saldr por la manguera
0, mientras que si la sita en la otra posicin, el agua saldr por la manguera 1 (ver gura 5.5)
De la misma manera que en los multiplexores puede haber varias entradas, en los demultiplexores puede haber varias salidas. Por ejemplo en la gura 5.6 se muestra el mismo sistema de
tuberas de la granja, pero ahora hay 4 mangueras, para llegar a 4 zonas distintas de la granja.
Ahora el granjero tendr que posicionar la llave de paso en una de las 4 posiciones posibles, para
que el agua salga por la manguera seleccionada.
Ya comprendemos cmo funcionan los demultiplexores. Si lo aplicamos al mundo de la electrnica, en vez de tuberas tendremos canales de datos. Habr un nico canal de entrada, por
el que llegarn nmeros, que saldrn slo por uno de los canales de salida, el que tengamos
seleccionado, como se muestra en la gura 5.7.
En general en un demultiplexor tendremos:
Una entrada de datos

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Manguera 0

Manguera 1

Manguera 2

Tuberia de acceso
a la granja

Manguera 3

Llave de paso
de 4 posiciones

Figura 5.6: Sistema de agua de 4 mangueras

Canales de salida
Canal 0
0
Canal de entrada
11,23,44,234,156...

Demultiplexor

114

Canal 1
1
Canal 2
2

11,23,44,234,156...

Canal 3
3

(Canal 2 seleccionado)

Entrada de
seleccion

Figura 5.7: Un demultiplexor que selecciona entre 4 canales de datos

5.3. DEMULTIPLEXORES

115

Sistema
a

Canal 0

Sistema
A

Sistema

Canal 1

Sistema

Sistema
c

Canal 2

Sistema
C

Sistema
d

Canal 3

Sistema
D

Figura 5.8: Una alternativa para comunicar sistemas


Una entrada de seleccin: que indica a cul de las salidas se manda la entrada
Varios canales de datos de salida. Slo estar activo el que se haya seleccionado.

5.3.2. Juntando multiplexores y demultiplexores


Vamos a ver una aplicacin tpica de los multiplexores y los demultiplexores. Imaginemos
que tenemos 4 sistemas, que los llamaremos a,b,c y d, y que necesitan enviar informacin a
otros 4 dispositivos A,B,C y D. La comunicacin es uno a uno, es decir, el sistema a slo enva
informacin al sistema A, el b al B, el c al C y el d al D.
Qu alternativas hay para que se produzca este envo de datos? Una posibilidad es obvia, y
es la que se muestra en la gura 5.10. Directamente se tiran cables para establecer los canales de
comunicacin.
Pero esta no es la nica solucin. Puede ser que podamos tirar los 4 cables, porque sean muy
caros o porque slo haya un nico cable que comunique ambas parte, y ser necesario llevar por
ese cable todas las comunicaciones.
La solucin se muestra en la gura 5.9. Vemos que los sismteas a, b, c y d se conectan a un
multiplexor. Un circuito de control, conectado a las entradas de seleccin de este multiplexor, selecciona peridicamente los diferentes sistemas, enviando por la salida el canal correspondiente.
Podemos ver que a la salida del multiplexor se encuentra la informacin enviada por los 4 sistemas. Se dice que esta informacin est multiplexada en el tiempo. Al nal de esta lnea hay un
demultiplexor que realiza la funcin inversa. Un circuito de control selecciona peridicamente

116

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Sistema

Sistema

Sistema
c

DEMUX

Sistema
A

MUX

Sistema
a

Sistema
d

Sistema
C
Sistema
D

Circuito
control

Circuito
control

Figura 5.9: Uso de un multiplexor y demultiplexor para transmisin de datos por un nico cable
por qu salidas debe salir la informacin que llega por la entrada.
Lo que hemos conseguido es que toda la informacin enviada por un sistema, llega a su
homlogo en el extremo anterior, pero slo hemos utilizado un nico canal de datos.

5.3.3. Demultiplexores y bits


Un demultiplexor, como cualquier otro circuito digital trabaja slo con nmeros. Pero estos
nmeros vendrn expresados en binario, por lo que los canales de datos de entrada y salida,
y la entrada de seleccin vendrn expresados en binario y tendrn un nmero determinado de
bits.
Una vez ms nos hacemos la pregunta, Cuantos bits?. Depende. Depende de la aplicacin
que estemos diseando o con la que estemos trabajando. En la gura 5.10 se muestran dos demultiplexores de 4 canales, por lo que tendrn 2 bits para la entrada de seleccin. El de la izquierda
tiene canales de 2 bits y el de la derecha de 1 bit.

Los multiplexores que vamos a estudiar son lo que tienen canales de 1 bit. A
partir de ellos podremos construir multiplexores con un mayor nmero de bits por
canal.

5.3. DEMULTIPLEXORES

117

Demultiplexor de 4 canales
de salida, de 2 bits

C0
C1

S0 S1

D1
D0

Canal C
Canal D

A
B
C
D

I
S0 S 1

Canales de salida

I0
I1

Canal B

Canal de entrada

B0
B1

Canal A

Canales de salida

Canal de entrada

A0
A1

Demultiplexor de 4 canales
de salida, de 1 bit

Entradas de seleccion

Entradas de seleccion

Figura 5.10: Dos demultiplexores de 4 canales de salida

5.3.4. Demultiplexores de 1 bit y sus expresiones booleanas


Demultiplexor de una entrada de seleccin
El demultiplexor ms simple es el que tiene una entrada de seleccin, una entrada de datos y
dos salidas. Segn el valor de la entrada de seleccin, la entrada de datos se sacar por la salida
o por la :

Entrada de
datos

O0
I
O1

Salida 0
Salida 1

Entrada de
seleccion

Nos hacemos la misma pregunta que en el caso de los multiplesore: Cmo podemos expresar las funciones de salida usando el Algebra de Boole?. Podemos escribir la tabla de verdad y
obtener las expresiones ms simplicadas. Para tener la tabla aplicamos la denicin de demultiplexor y vamos comprobando caso por caso qu valores aparecen en las salidas. Por ejemplo, si
S=1 e I=1, se estar seleccionando la salida , y por ella saldr el valor de I, que es 1. La salida

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

118

no estar seleccionada y tendr el valor 0.

Para obtener las expresiones de


y
no hace falta aplicar Karnaugh puesto que cada
salida slo toma el valor 1 para un caso y 0 para todos los restantes. Desarrollando por la
primera forma cannica:

), entonces

Y podemos comprobar que si hemos seleccionado la salida 0 (


, y si hemos seleccionado la salida 1 (
),
y

De la misma manera que hicimos con los multiplexores, podemos considerar que las fun

ciones
y
slo dependen de la entrada de Seleccin (S), tomando la entrada I como un
parmetro. As podemos describir este demultiplexor mediante la siguiente tabla:

Esta descripcin ser la que empleemos, ya que es ms compacta.

Demultiplexor de dos entradas de seleccin


Este demultiplexor tiene dos entradas de seleccin y cuatro salidas:

5.3. DEMULTIPLEXORES

119
O0 Salida 0

Entrada de
datos

O1 Salida 1

Salida 2

O2

O3 Salida 3

S1 S0

Entrada de
seleccion

La tabla de verdad abreviada la podemos expresar as:

0
1

1
0

0
0

0
I

I
0

0
0

La entrada I se saca por la salida indicada en las entradas de seleccin. Las ecuaciones de las
funciones de salida son:

,


Si analizamos la ecuacin de
lo que nos dice es lo siguiente:
slo cuando
y
. Para el resto de valores que pueden tomar las entradas de seleccin
y
siempre ser 0.

120

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Demultiplexor con cualquier nmero de entradas de seleccin


Para demultiplexores con mayor nmero de entradas de seleccin, las ecuaciones sern similares. Por ejemplo, en el caso de un demultiplexor que tenga tres entradas de seleccin:
y

ser:

, y que por tanto tendr 8 salidas, la ecuacin para la salida




ser:

y la ecuacin de la salida

Se deja como ejercicio al lector el que obtenga el resto de ecuaciones de salida.

5.4. Multiplexores con entrada de validacin (ENABLE)


Los multiplexores, y en general la mayora de circuitos MSI, disponen de una entrada adicional, llamada entrada de validacin (en ingls Enable). Esta entrada funciona como un interruptor de encendido/apagado para el circuito MSI. Si la entrada de validacin est activada,
el circuito funcionar normalmente. Pero si esta est desactivada, el circuito sacar el valor
0 por todas sus salidas, independientemente de lo que llegue por sus entradas. Se dice que est
deshabilitado (no est en funcionamiento).
Las entradas de validacin se les suele llamar E (del ingls Enable) y pueden ser de dos tipos:
activas a nivel alto activas a nivel bajo.

5.4.1. Entrada de validacin activa a nivel alto


Si esta entrada se encuentra a 1 (E=1) el multiplexor funciona normalmente (est conectado). Si se encuenrta a 0 (E=0) entonces su salida ser 0 (estar desconectado). A continuacin
se muestra un multiplexor de 4 entradas de datos, 2 entradas de seleccin y una entrada de validacin activa a nivel alto:

5.4. MULTIPLEXORES CON ENTRADA DE VALIDACIN (ENABLE)


I0
I1
I2
I3

121

E
S1 S0
Entrada de
validacion

La tabla de verdad es la siguiente:

0
1
0
1
0
1
0
1

0
1
1

1
1
1

1
0

0
0
0

0
1

0
0
0

0
0
1

Slo en los casos en los que E=1, el multiplexor se comporta como tal. Cuando E=0, la salida
Z siempre est a 0. Esta tabla de verdad se suele escribir de una manera ms abreviada de la
siguiente manera:

1
0
1

0
1

1
1

0


x
0

0
1

x
0

Con las x de la primera la se indica que cuando E=0, independientemente de los valores

la salida siempre tendr el valor 0.




que tengan las entradas

Y cual sera la nueva ecuacin de este multiplexor? La misma que antes pero ahora multiplicada por E:

"

122

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Si E=0, entonces Z=0. El multiplexor est deshabilitado.

5.4.2. Entrada de validacin activa a nivel bajo


Otros fabricamentes de circuitos integrados utilizan una entrada de validacin activa a nivel

bajo, que es justamente la inversa de la enterior. Se suele denotar mediante . Cuando la entrada
E est a 0 el multiplexor funciona normalmente, y cuando est a 1 est desconectado. En la
siguiente gura se muestran dos multiplexores de 4 entradas, dos entradas de seleccin y una
entrada de validacin activa a nivel bajo. Ambos multiplexores son iguales, pero se han utilizado
notaciones distintas. En el de la izquierda se utiliza y en el de la derecha E pero con un pequeo

crculo en la entrada:
I0
I1
I2
I3

I0
I1
I2
I3

E
S1 S0

S1 S0

Entradas de
validacion

La tabla de verdad es la siguiente:

0
1
x

1
1

0
0

0
1

0
0

0
0

Y la nueva ecuacin es:

"

Cuando E=1,

y entonces Z=0, con lo que el multiplexor se encuentra deshabilitado.

5.5. EXTENSIN DE MULTIPLEXORES

123

5.5. Extensin de multiplexores


La idea es poder conseguir tener multiplexores ms grandes a partir de otros ms pequeos. Y esto es necesario porque en nuestros diseos podemos necesitar unos multiplexores
grandes, sin embargo en el mercado nos encontramos con multiplexores menores. Tenemos que
saber cmo construir los multiplexores que necesitamos para nuestra aplicacin a partir de los
multiplexores que encontramos en el mercado.
La extensin puede ser bien aumentando el nmero de entradas, bien aumentando el
nmero de bits por cada canal de datos o bien ambos a la vez.

5.5.1. Aumento del nmero de entradas


La solucin es conectarlos en cascada. Lo mejor es verlo con un ejemplo. Imaginemos que
necesitamos una multiplexor de 8 canales, pero slo disponemos de varios de 2 canales:
Queremos:
I0
I1
I2
I3
I4
I5
I6
I7

Tenemos:

I0
I1
Z

Z
S

S2 S1 S0

La solucin es conectarlos en cascada. Primero colocamos una columna de 4 multiplexores


de dos entradas, para tener en total 8 entradas. Todas las entradas de seleccin de esta primera
columna se unen. Por comodidad en el dibujo, esto se representa mediante una lnea vertical que
une la salida S de un multiplexor con el de abajo.
A continuacin colocamos una segunda columna de 2 multiplexores de 2 entradas, tambin
con sus entradas de seleccin unidas. Finalmente colocamos una ltima columna con un nico
multiplexor de 2 entradas.
Colocados de esta manera, conseguimos tener un multiplexor de 8 entradas y tres entradas de
seleccin. La nica consideracin que hay que tener en cuenta es que la entrada de seleccin de

124

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

los multiplexores de la primera columna tiene peso 0, la segunda peso 1 y la ltima peso 2:

Primera
columna
I0

I0

I1

I1

Segunda
columna

Z
I0

I1
I2

I0

I3

I1

I4

I0
I1

Z
S

Z
I0

I1

I1

I0

I7

I1

I6

I0

I5

Tercera
columna

Z
S

Z
S

S2

S1

S0

Vamos a comprobarlo!! (Siempre que se hace un diseo hay que comprobar si es correcto).
Vamos a comprobar qu ocurre si seleccionamos el canal 6. Introducimos en binario el nmero
6 por las entradas de seleccin:
,
y
. Por la entrada S de los multiplexores
de la primera columna se introduce un 0, por lo que estos multiplexores sacan por sus salidas


lo que hay en sus entradas : , , e . Por la entrada de seleccin de los multiplexores de


la segunda columna se introduce un 1 por lo que estn seleccionando su canal . A la salida

de estos multiplexores se tendr: e . Finalmente, el multiplexor de la ltima columna est


seleccionando su entrada , por lo que la salida nal es (Recordar la idea de multiplexor como
una llave de paso que conecta tuberas de agua):

5.5. EXTENSIN DE MULTIPLEXORES


Primera
columna
I0

I0

I1

I1

125
Segunda
columna

I0
I0

I1
I2

I0

I3

I1

I4

I1

I6

I1

I2

S
I0
I1

I0
I1
Z

Z
S

I4

I0

I7

I2

I0

I5

Tercera
columna

I6

I6

S1

S2
1

S0
1

Ejemplo:

Construir un multiplexor de 16 entradas usando multiplexores de 4.


En este caso lo que queremos y lo que tenemos es lo siguiente:

I6

126

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES


Queremos
I0
I1
I2
I3
I4
I5
I6
I7
I8
I9
I10
I11
I12
I13
I14
I15

Tenemos:

I0
I1
I2
I3

Z
S1 S0

S3 S2 S1 S0

Los conectamos en cascada, para lo cual necesitamos una primera columna de 4 multiplexores de 4 entradas, con entradas
de todos ellos unidos, as como las . En la segunda la hay
un nico multiplexor de 4 entradas:

5.5. EXTENSIN DE MULTIPLEXORES

I0
I1
I2
I3

I0
I1
I2
I3

I4
I5
I6
I7

I0
I1
I2
I3

Z
S1 S0

Z
I0
I1
I2
I3

S1 S0
I8
I9
I10
I11

127

I0
I1
I2
I3

Z
S1 S0

Z
S1 S0

I12
I13
I14
I15

I0
I1
I2
I3

Z
S1 S0

S3 S2

S1 S0

Se deja como ejercicio la comprobacin de este diseo.

5.5.2. Aumento del nmero de bits por canal


Para conseguir esto hay que conectarlos en paralelo. Imaginemos que tenemos queremos
construir un multiplexor de dos canales de entrada, cada uno de ellos de 2 bits, y para ello
disponemos de multiplexores de 2 canales de un bit:

128

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES


Queremos:

Tenemos:

A0
A1

Canal 0

Z0
Z1

B0
B1

Canal 1

I0
I1

Z
S

Utilizaremos dos multiplexores de lo que tenemos, uno por cada bit que tengamos en el
nuevo canal de salida. Como los canales en el nuevo multiplexor son de 2 bits, necesitaremos 2
multiplexores de canales de 1 bit. Uno de estos multiplexores ser al que vayan los bits de menos
peso de los canales de entrada y el otro los de mayor peso. Las entradas de seleccin de ambos
estn unidas:
I0
I1

A0
A1

I0
I1

B0
B1

Z0
Z1
Z

S
S

Si con en este nuevo multiplexor hacemos S=0, las salidas sern

. Y si

hacemos S=1, entonces obtenemos


y
. Es lo que andbamos buscando!!. Por
la salida obtenemos bien el nmero que viene por el canal 0 (
bien el nmero que viene
por el canal 1(
).

#


Ejemplo:
Construir un muliplexor de 4 canales de 4 bits, usando multiplexores de 4 entradas de
1 bit.

5.5. EXTENSIN DE MULTIPLEXORES

129

Queremos:

Canal 0

A0
A1
A2
A3

Canal 1

B0
B1
B2
B3

Tenemos:

Canal 2

C0
C1
C2
C3

Canal 3

I0
I1
I2
I3

Z0
Z1
Z2
Z3

D0
D1
D2
D3

S1 S0

S1 S0

Ahora necesitaremos 4 multiplexores de los que tenemos, a cada uno de los cuales les llegan
los bits del mismo peso de los diferentes canales. Por el primer multiplexor entran los bits de
menor peso (
y ) y por el ltimo los de mayor (
y ). En el dibujo no se
muestran todas las conexiones para no complicarlo:

130

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES


I0
I1
I2
I3

A0
A1
A2
A3

S1 S0

B0
B1
B2
B3

I0
I1
I2
I3

C0
C1
C2
C3

Z
Z0
Z1
Z2
Z3

S1 S0
I0
I1
I2
I3

D0
D1
D2
D3

S1 S0
I0
I1
I2
I3

S1 S0

5.6. Implementacin de funciones con MXs


Utilizando multiplexores es posible implementar funciones booleanas. En general, cualquier
funcin de n variables se puede implementar utilizando un multiplexor de n-1 entradas de
seleccin.
Por ejemplo, dada la funcin:

que tiene 3 variables, se puede implementar utilizando un multiplexor de 2 entradas de control, como el mostrado a continuacin:

5.6. IMPLEMENTACIN DE FUNCIONES CON MXS


I0
I1
I2
I3

131

S1 S0

Existen dos maneras de hacerlo. Una es emplear el algebra de boole y la ecuacin de este tipo
de multiplexores. Por lo general este mtodo es ms complicado. La otra es utilizar un mtodo
basado en la tabla de verdad.

5.6.1. Mtodo basado en el Algebra de Boole


La ecuacin de un multiplexor de 2 entradas de control y 4 entradas es la siguiente:

La ecuacin de la funcin que queremos implementar la podemos expresar de la siguiente


forma:

Que es muy parecida a Z!!. Si igualamos trminos, obtenemos que por las entradas del
multiplexor hay que introducir:


La funcin se implementa as:

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

132

I0
I1
I2
I3

0
1

S1 S0
XY


X

Y Z

0
0
0

0
0
1

0
1
0

1
0
0

0
1
1

1
0
0

1
0
1

1
1
1

1
1

1
1

0
1

0
0

1. Construimos la tabla de verdad de la funcin F a implementar.

Vamos a realizar este ejemplo con la funcin anterior. Seguimos los siguientes pasos:

ejercicios algunas funciones se pueden implementar de manera ms fcil si utilizamos la entrada


de validacin).

Este mtodo se basa en lo mismo, pero se usan las tablas de verdad en vez de utilizar las
ecuaciones del multiplexor, por ello es ms sencillo e intuitivo. Adems tiene otra ventaja: es un
mtodo mecnico, siempre se hace igual sea cual sea la funcin (Aunque como se ver en los

5.6.2. Mtodo basado en la tabla de verdad

Vamos a comprobarlo. Para ello sustituimos en la ecuacin del multiplexor los valores que
estamos introduciendo por las entradas:

5.6. IMPLEMENTACIN DE FUNCIONES CON MXS

133

2. Dividimos la tabla en tantos grupos como canales de entrada halla. En este caso hay 4
entradas, por lo que hacemos 4 grupos. Las variables de mayor peso se introducen directamente por las entradas de seleccin
y :

0
1

1
0

0
0

1
1

0
1

0
1

1
1

0
0

0
1

1
1

1
1

1
1

0
1

0
0

Las variables X e Y son las que se han introducido por las entradas de seleccin (

0
0

0
0

Y Z

). Vemos que hay 4 grupos de las. El primer grupo se corresponde con la entrada
, el siguiente por la , el siguiente por la y el ltimo por la .

lo obtenemos mirando las columnas de




,e




3. El valor a introducir por las entradas ,


la derecha (la columna de Z y de O).


En el primer grupo, cuando Z=0, O=1 y cuando Z=1, O=0, por tanto
. Esa ser
la salida cuando se seleccione el canal 0, por tanto por su entrada habr que introducir lo
.
. En este caso, cuando Z=0,
.




Ahora nos jamos en el siguiente grupo, correspondiente a


O=0 y cuando Z=1, O=1, por lo que deducimos que

mismo:

Vamos a por el tercer grupo. Si Z=0, O=0 y si Z=0, tambin O=0. Independientemente del
valor de Z, la salida vale 0:
.


Y para el ltimo grupo ocurre que si Z=0, O=1, y si Z=1, O=1. Deducimos que

Si ahora hacemos la conexiones obtenemos el mismo circuito que en el caso anterior.

Ejemplo:

Implementar la funcin
multiplexor, sin entrada de validacin.

utilizando un

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

134

Utilizaremos el mtodo basado en las tablas de verdad. Lo que queremos implementar es


un circuito que tiene 3 entradas y una salida. Como tienen 3 variables de entrada, en general
necesitaremos un multiplexor de 2 entradas de control:
Queremos:
A
B
C

Tenemos:

I0
I1
I2
I3

S1 S0

Ahora vamos siguiente los pasos del mtodo. Primero construimos la tabla de verdad a partir
de F:
C

1
1

1
1

0
1

1
1

Las entradas A y B las conectamos directamente a


y
las columnas de C y F, deducimos las siguientes conexiones:

El circuito nal es el siguiente:

respectivamente. Fijndonos en

5.6. IMPLEMENTACIN DE FUNCIONES CON MXS

135

I0
I1
I2
I3

S1 S0

A B

5.6.3. Implementacin de funciones con multiplexores con entrada de validacin


Para implementar funciones tambin se puede usar la entrada de validacin. En este caso
no todas las funciones se pueden implementar con este tipo de multiplexores. La entrada de
validacin la usamos como si fuese una entrada ms.

Ejemplo
Implementar la siguiente funcin utilizando un multiplexor

0

Primero utilizaremos un multiplexor sin entrada de validacin, utilizando el metodo de las


tablas de verdad. Como la funcin tiene 3 variables, necesitamos un multiplexor de 2 entradas de
control.
La tabla de verdad de esta funcin es:

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES


B

0
0

0
0

0
1

0
0

0
0

1
1

0
1

0
0

136

Las entradas A y B se conectan directamente a las entradas


y . Los valores que se
introducen por las entradas son:
,
. El circuito es el siguiente:

I0
I1
I2
I3

0
0

S1 S0

A B

Se podra implementar esta funcin con un multiplexor con entrada de validacin?. Si nos
jamos en la funcin F vemos que podemos sacar factor comn en A:

"

0

0

Y esa es la ecuacin de un multiplexor de una entrada de control y una entrada de validacin!!. Si A=0, entonces F=0, y si A=1, se comporta como un multiplexo. Por tanto introducimos
A directamente por la entrada de validacin y para el resto necesitamos un multiplexor de 1 entrada de seleccin. Y como la ecuacin es tan sencilla, no hace falta ni siquiera hacer el mtodo
de las tablas de verdad, jndonos en su ecuacin es suciente.
La ecuacin de un multiplexor con una entrada de seleccin es:

y C por

por

Si introducimos B por S,

ya lo tenemos:

5.7. RESUMEN

137
I0
C
A

I1
E

S
B

5.7. Resumen
En este captulo hemos visto los multiplexores y los demultiplexores, constituidos internamente por puertas lgicas. Los multiplexores nos permiten seleccionar entre uno de varios
canales de entrada (tuberas) para sacarlo por la salida. Por ello disponen de unas entradas de
datos (por donde entra el agua), unas entradas de seleccin (Llaves de paso) y un canal de
salida. Estos canales de datos pueden ser de varios bits, sin embargo, en este captulo nos hemos centrado en los multiplexores que tienen canales de datos de 1 bits, puesto que a partir de
ellos podemos construir multiplexores con canales de datos de mayor cantidad de bit, as como
multiplexores que tienen mayor cantidad de canales de entrada.
Tambin hemos visto los demultiplexores, que realizan la funcin inversa. Un canal de entrada (tubera) se puede conectar a una de las diferentes salidas, segn el valor introducido por
las entradas de seleccin (llaves de paso).
Los multiplexores pueden tener opcionalmente una entrada de validacin, que puede ser
activa a nivel alto o a nivel bajo y acta como una especie de interruptor que permite que el
multiplexor funcione o no. Si est activada, el multiplexor funciona normalmente. Si la entrada
de validacin est desactivada, por la salida del multiplexor siempre hay un 0.
Por ltimo hemos visto que con un multiplexor tambin se pueden implementar funciones
lgicas, y es otra alternativa que tenemos adems de las puertas lgicas. Metiante el mtodo de
las tablas de verdad, podemos saber facilmente qu variables hay que conectar a las entradas
del multiplexor.

5.8. Ejercicios

138

CAPTULO 5. CIRCUITOS MSI (1): MULTIPLEXORES Y DEMULTIPLEXORES

Captulo 6
Codicadores, decodicadores y
comparadores
6.1. Introduccin
En este captulo veremos otros circuitos MSI: codicadores, decodicares y comparadores.

6.2. Codicadores
6.2.1. Conceptos
Los codicadores nos permiten compactar la informacin, generando un cdigo de salida a partir de la informacin de entrada. Y como siempre, lo mejor es verlo con un ejemplo.
Imaginemos que estamos diseando un circuito digital que se encuentra en el interior de una
cadena de msica. Este circuito controlar la cadena, haciendo que funcione correctamente.
Una de las cosas que har este circuito de control ser activar la radio, el CD, la cinta o
el Disco segn el botn que haya pulsado el usuario. Imaginemos que tenemos 4 botones en
la cadena, de manera que cuando no estn pulsados, generan un 0 y cuando se pulsan un 1
(Botones digitales). Los podramos conectar directamente a nuestro circuito de control la cadena
de msica, como se muestra en la gura 6.1.
Sin embargo, a la hora de disear el circuito de control, nos resultara ms sencillo que cada
botn tuviese asociado un nmero. Como en total hay 4 botones, necesitaramos 2 bits para
identicarlos. Para conseguir esta asociacin utilizamos un codicador, que a partir del botn
que se haya pulsado nos devolver su nmero asociado:
139

140

CAPTULO 6. CODIFICADORES, DECODIFICADORES Y COMPARADORES


Botones
CD
Circuito de control
de la cadena de
musica

TAPE
RADIO
DISCO

Figura 6.1: Circuito de control de una cadena de msica, y 4 botones de seleccin de lo que se
quiere escuchar
Botones

Codificador

CD
E0
E1
E2
E3

TAPE
RADIO

C0
C1

DISCO

Fijmonos en las entradas del codicador, que estn conectadas a los botones. En cada momento, slo habr un botn apretado, puesto que slo podemos escuchar una de las cuatro
cosas. Bien estaremos escuchando el CD, bien la cinta, bien la radio o bien un disco, pero no
puede haber ms de un botn pulsado1 . Tal y como hemos hecho las conexiones al codicador,
el CD tiene asociado el nmero 0, la cinta el 1, la radio el 2 y el disco el 3 (Este nmero depende de la entrada del codicador a la que lo hayamos conectado). A la salida del codicador
obtendremos el nmero del botn apretado. La tabla de verdad ser as:

Botn

0
0

0
0

0
1

1
0

0
0

0
1

CD
TAPE

0
1

1
0

0
0

0
0

1
1

0
1

RADIO
DISCO

El circuito de control de la cadena ahora slo tendr 2 bits de entrada para determinar el
1

De hecho, en la cadena de msica que tengo en casa, que es un poco antigua, cuando aprietas uno de los botones
el otro salta, y deja de estar apretado.

6.2. CODIFICADORES

141

botn que se ha pulsado. Antes necesitbamos 4 entradas. El codicador que hemos usado tiene
4 entradas y 2 salidas, por lo que se llama codicador de 4 a 2. Existen codicadores de mayor
nmero de entradas, como el que vamos a ver en el siguiente ejemplo.
Imaginemos que ahora queremos hacer un circuito para monitorizar la situacin de un tren en
una va. En una zona determinada, la va est dividida en 8 tramos. En cada uno de ellos existe
un sensor que indica si el tren se encuentra en ese tramo (el sensor devuelve 1) o fuera de l
(valor 0). Se ve claramente que cuando uno de los sensores est activado, porque que el tren se
encuentre en ese tramo, el resto de sensores devolvern un 0 (No detectan al tren).
Si conectamos todas las entradas de los sensores a un codicador de 8 a 3, lo que tendremos
es que a la salida del codicador saldr un nmero que indica el tramo en el que se encuentra el
tren. El circuito de control que conectemos a las salidas de este codicador slo necesita 3 bits
de entrada para conocer el tramo en el que est el tren, y no es necesario 8 bits. Su diseo ser
ms simple!!. La tabla de verdad es:

Tramo

0
0

0
0

0
0

0
0

0
0

0
1

1
0

0
0

0
0

0
1

1
0

1
2

0
0
0

0
0
0

0
0
1

0
1
0

1
0
0

0
0
0

0
0
0

0
0
0

0
1
1

1
0
0

1
0
1

3
4
5

0
1

1
0

0
0

0
0

0
0

0
0

0
0

0
0

1
1

1
1

0
1

6
7

6.2.2. Ecuaciones
A continuacin deduciremos las ecuaciones de un codicador de 4 a 2, y luego utilizaremos
un mtodo rpido para obtener las ecuaciones de un codicador de 8 a 3.
El codicador de 4 a 2 que emplearemos es el siguiente:
E0
E1
E2
E3

C0
C1

Las ecuaciones las obtenemos siguiendo el mismo mtodo de siempre: primero obtendremos

CAPTULO 6. CODIFICADORES, DECODIFICADORES Y COMPARADORES

142

la tabla de verdad completa y aplicaremos el mtodo de Karnaugh. Con ello obtendremos las

y


ecuaciones ms simplicadas para las salidas

Al hacer la tabla de verdad, hay que tener en cuenta que muchas de las entradas NO SE
PUEDEN PRODUCIR. En las entradas de un decodicador, una y slo una de las entradas estar
activa en cada momento. Utilizaremos esto para simplicar las ecuaciones. Se ha utilizado una
X para indicar que esa salida nunca se producir:

0
0

0
0

0
0

0
1

x
0

x
0

0
0

0
0

1
1

0
1

0
x

1
x

0
0

1
1

0
0

0
1

1
x

0
x

0
0

1
1

1
1

0
1

x
x

x
x

1
1

0
0

0
0

0
1

1
x

1
x

1
1

0
0

1
1

0
1

x
x

x
x

1
1

1
1

0
0

0
1

x
x

x
x

1
1

1
1

1
1

0
1

x
x

x
x

siempre valen x excepto para 4 las. Los mapas de Karnaugh que obtenemos son:
C0

E1E0
E3E2
00
01

00 01 11 10
x 0 x 0

C1

E1E0
E3E2

00
01

11

10

00 01 11 10
x 0 x 1
0

11

10

Las casillas que tienen el valor x podemos asignarles el valor que ms nos convenga, de
forma que obtengamos la expresin ms simplicada. Las ecuaciones de un decodicador de 4
a 2 son:

6.3. DECODIFICADORES

143

La manera rpida de obtenerlas es mirando la tabla simplicada, como la que se muestra


en el ejemplo de la cadena de msica. Slo hay que jarse en los 1 de las funciones de salida
(como si estuvisemos desarrollando por la primera forma cannica) y escribir la variable de
entrada que vale 1. Habr tantos sumandos como 1 en la funcin de salida.
Las ecuaciones para un codicador de 8 a 3, utilizando el mtodo rpido, son:


6.3. Decodicadores
6.3.1. Conceptos
Un decodicador es un circuito integrado por el que se introduce un nmero y se activa una
y slo una de las salidas, permaneciendo el resto desactivadas. Y como siempre, lo mejor es
verlo con un ejemplo sencillo. Imaginemos que queremos realizar un circuito de control para un
semforo. El semforo puede estar verde, amarillo, rojo o averiado. En el caso de estar averiado,
se activar una luz interna azul, para que el tcnico sepa que lo tiene que reparar. A cada una
de estas luces les vamos a asociar un nmero. As el rojo ser el 0, el amarillo el 1, el verde el 2
y el azul (averiado) el 3 (Ver gura 6.2).
Para controlar este semforo podemos hacer un circuito que tenga 4 salidas, una para una de
las luces. Cuando una de estas salidas est a 1, la luz correspondiente estar encendida. Sin
embargo, ocurre que NO PUEDE HABER DOS O MAS LUCES ENCENDIDAS A LA VEZ.
Por ejemplo, no puede estar la luz roja y la verde encendidas a la vez!!!!.

CAPTULO 6. CODIFICADORES, DECODIFICADORES Y COMPARADORES

144

Luz Roja: 0
Luz Amarilla: 1
Luz verde: 2
Luz azul (averia): 3

Figura 6.2: El semforo que se quiere controlar


Decodificador
de 2 a 4

Semaforo

O0
E0
E1

O1

Luz Amarilla: 1

O2

Luz verde: 2

O3

Circuito
de
control

Luz Roja: 0

Luz azul (averia): 3

Figura 6.3: Circuito de control del semforo, usando un decodicador de 2 a 4


Si utilizamos un decodicador de 2 a 4, conseguiremos controlar el semforo asegurndonos
que slo estar activa una luz en cada momento. Adems, el circuito de control que diseemos
slo tienen que tener 2 salidas. El nuevo esquema se muestra en la gura 6.3.


El funcionamiento es muy sencillo. Si el circuito de control enva el nmero 2 (


,
), se encender la luz verde (que tiene asociado el nmero 2) y slo la luz verde!!!. Un
decodicador activa slo una de las salidas, la salida que tiene un nmero igual al que se ha

introducido por la entrada. En el ejemplo del semforo, si el circuito de control enva el nmero
3, se activa la salida
y se encender la luz azul (y slo esa!!).

A la hora de disear el circuito de control, slo hay que tener en cuenta que cada luz del
semforo est conectada a una salida del decodicador y que por tanto tiene asociado un nmero
diferente.

6.3.2. Tablas de verdad y Ecuaciones


Decodicador de 2 a 4
Comenzaremos por el decodicador ms sencillo, uno que tiene 2 entradas y 4 salidas, como
se muestra en la gura 6.4.

6.3. DECODIFICADORES

145
Decodificador
de 2 a 4
O0
O1

E0
E1

O2
O3

Figura 6.4: Un decodicador de 2 a 4

La tabla de verdad es la siguiente:

0
0
1

0
1
0

0
0
0

0
0
1

0
1
0

1
0
0

Y las ecuaciones las podemos obtener desarrollando por la primera forma cannica. Puesto que por cada funcin de salida slo hay un 1, no se podr simplicar (No hace falta que
hagamos Karnaugh):

La tabla de verdad la podemos expresar de forma abreviada de la siguiente manera, indicando


la salida que se activa y sabiendo que las dems permanecern desactivadas.

146

CAPTULO 6. CODIFICADORES, DECODIFICADORES Y COMPARADORES


Decodificador
de 3 a 8
O0
O1
O2
O3
O4
O5
O6
O7

E0
E1
E2

Figura 6.5: Un decodicador de 3 a 8

Salida Activa

0
1

1
0

Decodicicador de 3 a 8
Tiene 3 entradas y 8 salidas, como se muestra en la gura 6.5.
La tabla de verdad abreviada es la siguiente:

Salida Activa


0
0

0
1

1
0

1
1
1

0
1
1

1
0
1

, ... ,

Y las ecuaciones son:

6.3. DECODIFICADORES

147
O0
O1

E0
E1

O2
O3

ENA

Figura 6.6: Un decodicador de 2 a 4, con entrada de validacin activa a nivel bajo

6.3.3. Entradas de validacin


Lo mismo que ocurra con los multiplexores y demultiplexores, existe una entrada de validacin opcional. Si esta entrada est activada, el decodicador funciona normalmente, pero si
est desactivada, sus salidas siempre estarn a 0. Existen dos tipos de entrada de validacin, las
activas a nivel alto y las activas a nivel bajo.
En la gura 6.6 se muestra un decodicador de 2 a 4 con entrada de validacin activa a nivel
bajo, por lo el decodicador funcionar siempre que esta entrada est a 0 y todas sus salidas
permanecern desactivadas cuando la entrada de validacin est a 1.
, siendo ENA la entrada de




Las ecuaciones de este decodicador irn multiplicadas por


validacin:

Cuando por la entrada se introduce un 1 (


, todas las salidas irn multiplicadas
por
, que vale 0 y todas ellas valdrn 0. Si se introduce un 1, las ecuaciones sern las
de un decodicador de 2 a 4.

148

CAPTULO 6. CODIFICADORES, DECODIFICADORES Y COMPARADORES


O0
O1

E0
E1

O2
O3

Figura 6.7: Un decodicador de 2 a 4 con salidas activas a nivel bajo

6.3.4. Tipos de decodicadores segn sus salidas


Las salidas de los decodicadores pueden ser activas a nivel alto o a nivel bajo. As, tendremos dos tipos: los decodicadores con salidas activas a nivel alto y los decodicadores con
salidas activas a nivel bajo. Todos los que hemos visto hasta ahora son decodicadores activos
a nivel alto, lo que quiere decir que si una salida est activa por ella sale un 1, y si est desactivada un 0. Sin embargo, en los decodicadores con salidas activas a nivel bajo ocurre justo lo
contrario.
En la gura 6.7 se muestra un decodicador de 2 a 4 con salidas a activas a nivel bajo.
La tabla de verdad completa es la siguiente:

0
0
1

0
1
0

1
1
1

1
1
0

1
0
1

0
1
1

6.4. Aplicaciones de los decodicadores


Adems del uso normal de los decodicadores, como parte de nuestros diseos, existen otras
aplicaciones que veremos a continuacin.

6.4.1. Como Demultiplexor


Si examinamos las tablas de verdad, observamos que realmnte un decodicador con una entrada de validacin se comporta como un demultiplexor. De hecho no existen circuitos integrados
con demultiplexores, sino que se usan decodicadores. Imaginemos que necesitamos utilizar un
demultiplexor de dos entradas de seleccin, como el mostrado en la gura XX.

6.5. RESUMEN DE IMPLEMENTACIN DE FUNCIONES

6.4.2. Implementacin de funciones

6.5. Resumen de implementacin de funciones


6.6. Comparadores
6.6.1. Conceptos
6.6.2. Comparador de dos bits
6.6.3. Comparador de nmeros de 4 bits
6.6.4. Extensin de comparadores

6.7. Resumen
6.8. Ejercicios

149

150

CAPTULO 6. CODIFICADORES, DECODIFICADORES Y COMPARADORES

151

152

CAPTULO 7. CIRCUITOS ARITMETICOS

Captulo 7
CIRCUITOS ARITMETICOS
7.1. Introduccin
7.2. Circuitos sumadores
7.2.1. Sumadores de nmeros de 1 bit
Semisumador
Sumador total

7.2.2. Sumadores de nmeros de ms de 1 bit


Conexin de sumadores totales
Cuadruple sumador total

7.3. Circuitos restadores


7.3.1. Restador en ca1
7.3.2. Restador en ca2

7.4. Sumador/restador
7.4.1. En ca1
7.4.2. En ca2

7.5. Aplicacin de los sumadores: transcodicadores


7.6. Resumen

Captulo 8
BIESTABLES

153

154

CAPTULO 8. BIESTABLES

Captulo 9
REGISTROS

155

156

CAPTULO 9. REGISTROS

Captulo 10
CONTADORES

157

158

CAPTULO 10. CONTADORES

Captulo 11
AUTOMATAS FINITOS

159

160

CAPTULO 11. AUTOMATAS FINITOS

Captulo 12
Solucin a los ejercicios propuestos
12.1. Sistemas de representacin
1. Pasar los siguientes nmeros a decimal




231

+ 18 + 1 = 73

+ 240 + 2 = 2802









4   4

d)

c)

b)

a)

+ 4 + 2 + 1 = 23

2. Pasar de binario a hexadecimal


a) 0101101011111011 = 0101-1010-1111-1011 = 5-A-F-B = 5AFB
b) 10010001110000101 = 1-0010-0011-1000-0101 = 1-2-3-8-5 = 12385
c) 1111000011110000 = 1111-0000-1111-0000 = F-0-F-0 = F0F0
d) 0101010110101010 = 0101-0101-1010-1010 = 5-5-A-A = 55AA
3. Pasar de hexadecimal a binario
a) FFFF = F-F-F-F = 1111-1111-1111-1111 = 1111111111111111
b) 01AC = 0-1-A-C = 0000-0001-1010-1100 = 0000000110101100
c) 55AA = 5-5-A-A = 0101-0101-1010-1010 = 0101010110101010
d) 3210 = 3-2-1-0 = 0011-0010-0001-0000 = 0011001000010000
161

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS

162

12.2. Algebra de Boole


Ejercicio 1:
En algunos ejercicios se explica entre llaves ({}) los pasos que se han seguido.
Realizar las siguientes operaciones:
1. 1 + 0 = 1 (Por la denicin del operador booleano +)
2. 1 + 1 = 1 (Por la denicin del operador booleano +)
3. 1.0 = 0 (Por la denicin del operador booleano .)
4. 1 1 = 1 (Por la denicin del operador booleano .)

5. A+0 =A (0 es el elemento neutro de la operacin booleana +)


6. A+1= 1 (Por la denicin del operador booleano +)
7. A 1= A (1 es el elemento neutro de la operacin booleana .)

8. A 0= 0 (Por la denicin del operador booleano .)

9. A+A= A (Propiedad de Idempotencia de la operacin booleana +)


10. A A= A (Propiedad de Idempotencia de la operacin booleana .)

11. A+ = 1 (Elemento inverso)

12. A

= 0 (Elemento inverso)

13. A+AB = {Sacando factor comn A} = A(1+B) = {B+1=1} = A (Tambin se conoce como
ley de absorcin).
14. A(A+B) = {Propiedad distributica} = AA + AB = {AA=A} = A + AB = { Por el resultado
anterior } = A. (Tambin se conoce como ley de absorcin).
15. A+AB+B = {Sacando factor comn en A} = A(1+B) + B = {1+B=1} = A + B. Tambin
se podra haber aplicado a la expresin inicial la ley de absorcin: A+AB = A.

12.2. ALGEBRA DE BOOLE

163

Ejercicio 2:
Aplicar las leyes de Morgan en los siguientes casos:

)(

=(

"

)+

"

Ejercicio 3:
Obtener el valor de las siguientes funciones booleanas, en todos los casos.

1.

Como hay 4 variables, tenemos 4 casos posibles:

#


#


"

"

"

"

2.

d) A=1, B=1

c) A=1, B=0

b) A=0, B=1

a) A=0, B=0

Tambin hay 4 casos posibles:

"

"

#


"

"

Tenemos todos los siguientes casos:

3. F=

d) A=1, B=1

c) A=1, B=0

b) A=0, B=1

a) A=0, B=0

= {Apli-

} = AB+CD+ (tambin se
, pero hay que dar ms pasos para

llegar al nal).
3.

=
={
puede aplicar Morgan primero al termino

2.

= {Aplicando Morgan a ambos trminos del producto} =


cando Morgan al segundo sumando} =

1.

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS




"

"

"

"

"

"

"

#


"

h) A=1, B=1, C=1

g) A=1, B=1, C=0

f ) A=1, B=0, C=1

e) A=1, B=0, C=0

d) A=0, B=1, C=1

c) A=0, B=1, C=0

b) A=0, B=0, C=1

a) A=0,B=0, C=0

164

Ejercicio 4:
Dadas las siguientes funciones booleanas, obtener su correspondiente tabla de verdad.
Para resolver este tipo de ejercicios resulta cmo colocar nuevas columnas con resultados
intermedios.

1.

Funcin de 2 variables. La tabla tiene 4 las.

A B

0
0

1
0

1
0

1
1

0
1

1
0

1
1

2.

0
1

Funcin de 2 variables. La tabla tiene 4 las.

A B

0
0

0
0

1
1

0
1

0
1

1
1

0
1

0
1

0
0

0
0

0
1

3.

0
1

Funcin de 3 variables. La tabla tiene 8 las

12.2. ALGEBRA DE BOOLE

165

1
1

1
1

1
0

0
0

0
1

0
1

0
1

1
1

0
0

1
0

0
0

0
0

0
0

0
0

0
1

0
0

1
1

1
0

0
0

0
0

0
0

1
1

0
1

0
0

0
0

1
0

1
0

0
0

1
0

0
1

1
1

1
1
1
1

0
0

0
0

0
0

4.

Funcin de 4 variables. La tabla tiene 16 las


S

0
0

0
0

0
0

0
1

1
1

0
0

0
0

0
0

0
0

0
0

1
1

0
1

1
1

0
0

0
0

0
0

0
0

1
1

0
0

0
1

0
0

0
0

0
0

0
0

0
0

1
1

1
1

0
1

0
0

0
0

0
0

0
0

1
1

0
0

0
0

0
1

1
1

0
0

1
1

1
1

1
1

0
0

1
1

0
1

1
1

0
0

1
1

1
1

1
1

1
1

0
0

0
1

0
0

0
0

0
0

0
0

1
1

1
1

1
1

0
1

0
0

0
1

0
0

0
0

Ejercicio 5:
Desarrollar las siguientes tablas de verdad por la primera forma cannica:
1. Tabla 1:

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS

166

A B

0
0

0
1

0
1

1
1

0
1

0
1

Como la funcin tiene dos unos, ser la suma de dos trminos:

2. Tabla 2:
A

C F

0
0

0
1

1
0

1
0

0
1
1

1
0
0

1
0
1

0
1
0

1
1

1
1

0
1

0
0

La funcin tiene tres unos, ser la suma de tres trminos:

Ejercicio 6:

Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma cannica, y si es as, obtener la tabla de verdad

1.

S se encuentra en la primera forma cannica, puesto que es una suma de productos, y en


cada sumando se encuentran todas las variables. En la tabla de verdad F valdr 1 cuando
A=0, B=1 y A=1, B=1:

12.2. ALGEBRA DE BOOLE

167
A B
0
0

0
1

0
1

1
1

0
1

0
1

2.

Tambin est en la primera forma cannica. En este caso la funcin es de tres variables:
A

C F

0
0
0

0
0
1

0
1
0

0
0
0

0
1

1
0

1
0

0
1

1
1
1

0
1
1

1
0
1

0
0
1

3.

Esta funcin NO est en la primera forma cannica. En el ltimo sumando no aparecen


todas las variables.

Esta s lo est:


4.

0
0

0
0

0
1

0
1

0
0
1

1
1
0

0
1
0

0
1
0

1
1
1

0
1
1

1
0
1

0
0
1

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS

168

Ejercicio 7:
Desarrollar las siguientes tablas de verdad por la segunda forma cannica:
1. Tabla 1:
A B

0
0
1

0
1
0

0
1
0

Nos jamos en las las en las que F=0 y obtenemos el producto de sumas, con el criterio
de que si una variable est a 1 usaremos su negada y que si est a 0 usaremos esa misma
variable:

" #
C F

0
0

0
0

0
1

1
1

0
0

1
1

0
1

0
1

1
1
1

0
0
1

0
1
0

0
1
0

"


2. Tabla 2:

En este caso la funcin es de tres variables y hay cuatro las en las que F=0, por tanto tendr
cuatro trminos que van multiplicados:

" #

" #

" #

"


Ejercicio 8:

Dadas las siguientes funciones, indicar si se encuentra expresadas en la primera forma cannica o en la segunda. En caso de que as sea, obtener la tabla de verdad.

12.2. ALGEBRA DE BOOLE

" #

"

1.

169

Est en la segunda forma cannica, puesto que es un producto de sumas, y en todos los
trminos se encuentran las dos variables. Para construir la tabla de verdad tenemos que
tener en cuenta que en las las en las que A=0, B=0 y A=1,B=1 la funcin vale 0, y para
el resto de las vale 1:
A B
0

0
1

1
0

1
1

2.

Se encuentra en la primera forma cannica puesto que es una suma de productos y en cada
una de las sumas se encuentran las dos variables. En la tabla de verdad, en las las en las
que A=0,B=1 y A=1,B=0 la funcin vale 1, y en el resto de las valdr 0
A B
0
0

0
1

0
1

1
1

0
1

1
0

# " # " # "

Se encuentra en la segunda forma cannica. La tabla de verdad es:




3.

0
0
0

0
0
1

0
1
0

0
1
1

0
1

1
0

1
0

1
1

1
1
1

0
1
1

1
0
1

0
0
1

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS

4.

170

Est en la primera forma cannica. La tabla de verdad es:

F


0
0

0
1

0
1

0
0
1

1
1
0

0
1
0

0
0
0

1
1
1

0
1
1

1
0
1

1
0
1

" #

"


5.

0
0

NO est en ninguna forma cannica.

Ejercicio 9:
Obtener las expresiones ms simplicadas a partir de las tablas de verdad:

1. Tabla 1:

12.2. ALGEBRA DE BOOLE

171
A B

D F

0
0

0
0

0
0

0
1

1
0

0
0

0
0

1
1

0
1

1
0

0
0

1
1

0
0

0
1

0
0

0
0

1
1

1
1

0
1

0
0

1
1
1

0
0
0

0
0
1

0
1
0

1
1
1

1
1
1

1
1
1

0
0
1

0
1
0

0
0
0

El diagrama de Karnaugh es:


CD
00
AB

01

11

10

00

01

11

10

2. Tabla 2:

y la funcin es:

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS


F

172

0
0

0
0

0
0

0
1

1
0

0
0

0
0

1
1

0
1

0
0

0
0

1
1

0
0

0
1

1
0

0
0

1
1

1
1

0
1

1
1

1
1
1

0
0
0

0
0
1

0
1
0

0
0
0

1
1
1

1
1
1

0
0
1

0
1
0

0
1
0

El diagrama de Karnaugh es:


E1E0
00
E3E2

01

11

10

00

01

11

10

y la expresin de F:

12.2. ALGEBRA DE BOOLE

173

Ejercicio 10:
Operar con las siguientes expresiones obteniendo la mayor cantidad posible de operaciones

={Aplicando la denicin de la operacin A B}

#
"

.C = {Aplicando nuevamente la denicin de la operacin

}=A

"

= {Denicin de la operacion XOR negada} =

"

}=

}=
={Aplicando

={Por la denicin de

}=

}=

{Como

{Aplicando la propiedad
}=
={Aplicando que

4.

= (A B).
B C

3.

}=

2.

= {Denicin de la opereracin

1.

Ejercicio 11:
Dejar las siguientes expresiones en forma de sumas de productos:




    
" # "

} = yx + +

    

  

  

= {Ley absorcin:

}=

  

 


# " 

# " # "

# " # 

= {Prop. distributiva} =

= x.

= yx +

=(


# "   

{Aplicando Morgan en trminos

= {Prop. distributiva} = x.

={

{Aplicando Morgan al primer trmino} =

  









3.

= {Sacando factor comn en z} = y

= x.

#  " 
   

2.

= {Algo + 1 = 1} = y

=y

1. (x + y + z)( +z) = {Aplicando propiedad distributiva} = x

174

CAPTULO 12. SOLUCIN A LOS EJERCICIOS PROPUESTOS

Bibliografa
[1] Licencia GFDL. http://www.gnu.org/copyleft/fdl.es.html
[2] Web de la UPSAM. http://www.upsam.com/

175

También podría gustarte