Вы находитесь на странице: 1из 87

Noviembre 23 de 2006

MODULO SISTEMAS DIGITALES BASICOS

MIGUEL PINTO APARICIO

miguelpintoaparicio@gmail.com

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

BUCARAMANGA

2006

INTRODUCCION

El curso de Circuitos Digitales Básicos es del Campo de Formación

Profesional específica para el programa de Ingeniería Electrónica, con dos créditos académicos, es Metodológico y a distancia. Busca darle la capacidad de describir al estudiante de manera suficiente las nociones, los conceptos y los procedimientos necesarios para el análisis y diseño de Circuitos Digitales.

Este curso es un abre bocas al maravilloso mundo digital, y pretende dar una formación básica a los futuros diseñadores digitales, que con dispositivos como PLDs, FPGAs, DSPs, etc. podrán llevar a la vida real aquellas ideas que le permitan interactuar al hombre con la máquina.

La Electrónica Digital ha experimentado un rápido crecimiento tecnológico; Los circuitos digitales son comúnmente usados en productos de consumo, equipos industriales y de control, equipos de oficina, equipos médicos, militares y de comunicaciones. Este uso extensivo de los circuitos digitales ha sido gracias a los avances tecnológicos que han reducido los costos en los circuitos integrados y la capacidad de los mismos, así como la aplicación de displays, memorias y tecnología computarizadas.

El curso consiste de dos Unidades, la primera detalla todos los conceptos básicos, procedimientos y métodos de reducción de circuitos digitales; la segunda unidad es una fundamentación en el uso del Lenguaje VHDL, el cual es empleado para el diseño asistido por Computador de los Circuitos Digitales.

El enfoque para el aprendizaje autónomo de este curso es del tipo teórico- práctico, en donde la teoría es fácilmente llevada a la práctica por medio de talleres diseñados para tal fin. De tal manera, que el estudiante pueda depurar su conocimiento y dominio del tema por medio de su aplicación inmediata. Inicialmente el estudiante entenderá como desde una ecuación Booleana se puede construir físicamente un circuito digital y cómo estos cumplen con las operaciones básicas del Algebra de Boole.

Este enfoque será gracias al estudio independiente que se desarrolla a través del trabajo personal y del trabajo en pequeños grupos colaborativos de aprendizaje, y de acompañamiento tutorial desarrollado a través de la tutoría individual, en pequeños grupos colaborativos y de tutoría en grupo de curso.

Así mismo busca fomentar la cultura investigativa y de lectura en el estudiante

a través del uso de tecnologías que faciliten el acceso a la información y la obtención de fuentes bibliográficas, de manera que fortalezca su aprendizaje autónomo.

En cuanto al sistema de evaluación del curso, este se basa en lo contemplado

y definido en el Reglamente General Estudiantil, de forma que permita

comprobar el nivel de avance del auto-aprendizaje alcanzado a lo largo del

curso.

complementarias:

Por lo tanto, se emplearán tres tipos de evaluación alternativas y

Autoevaluación: evaluación que realiza el estudiante para valorar su propio proceso de aprendizaje. Coevaluación: se realiza a través de los grupos colaborativos, y pretende la socialización de los resultados del trabajo personal. Heteroevaluación: Es la valoración que realiza el tutor.

Para el desarrollo del curso es importante el papel que juegan los siguientes recursos tecnológicos como medio activo, buscando la relación tutor- estudiante:

Módulos y guías escritos para estudio temático y orientación pedagógica.

El Computador como herramienta informática para estudio con CD ROM, conexión a Internet y editores de texto.

Sistemas y plataformas tecnológicas institucionales para favorecer la comunicación sincrónica, tales como; videoconferencia, Chat. Estas permiten encuentros presénciales directos o mediados, favoreciendo una interacción inmediata.

Y las comunicaciones asincrónicas tales como: Grupos de interés, páginas WEB, Correo electrónico, grupos de noticias, servidores FTP. Estas permiten la comunicación en forma diferida favoreciendo la disposición del tiempo del estudiante para su proceso de aprendizaje.

Para facilitar el auto-aprendizaje es necesario consultar la bibliografía recomendada, utilizar la biblioteca virtual y el acceso a Internet, con esto se está también potenciando en los estudiantes la capacidad de investigación y de auto gestión para adquirir conocimiento según sean sus necesidades y/ó debilidades encontradas durante cada uno de los pasos del proceso a seguir, es decir el modelo pedagógico a desarrollar son las habilidades de pensamiento.

El acceso a documentos adquiere una dimensión de suma importancia en tanto la información sobre el tema exige conocimientos y planteamientos preliminares, por tal razón es imprescindible el recurrir a diversas fuentes documentales y el acceso a diversos medios como son: bibliotecas electrónicas, hemerotecas digitales e impresas, sitios Web especializados.

En la medida que el estudiante adquiera su rol, se interiorice y aplique los puntos abordados anteriormente, podrá obtener los logros propuestos en este curso. Es importante ser consciente de las fortalezas y debilidades, prestando atención a pulir las primeras y mejorar en las segundas, y lo mejor para llevarlo a cabo con Disciplina.

PRIMERA UNIDAD DIDÁCTICA

SISTEMAS DIGITALES BASICOS

CAPÍTULO 1.

OPERACIONES BINARIAS

Desde la antigüedad el hombre ha tenido la necesidad de contar, y para hacerlo ha desarrollado diferentes sistemas de numeración, como el Decimal, binario, Octal, etc; Estos sistemas de numeración se diferencian entre sí por la base que empleen, es decir, por el número de dígitos que empleen para

contar. De tal forma que el sistema decimal tiene los dígitos 0,1,2,3,4,5,6,7,8,9;

el sistema Octal tiene los dígitos 0,1,2,3,4,5,6,7; el sistema binario tiene los

dígitos 0,1; de donde podemos concluir que la base del sistema decimal es 10,

del sistema Octal es 8 y el sistema binario es 2.

Cualquier sistema de numeración que se emplee puede ser representado de la siguiente manera:

a a

n

n

1

a a a

2

1

0

=

0

=

i

n

a b

i

i

=

a b

n

n

+

a

n

1

b

n 1

+

+

a b

1

1

+

a b

0

0

(Ecuación No. 1)

representa la distribución de los dígitos en el número

representado por el sistema numérico, es decir, si hablamos del sistema

a representaría el dígito

de las decenas,

sucesivamente. En la sumatoria expresada en la Ecuación No. 1, la i representa la posición relativa del dígito en el número representado, y esta numeración de la posición se inicia desde 0 y en el sentido derecha a izquierda.

Y el término

elevado a la i.

a representaría el dígito de las centenas, y así

decimal,

Donde

a a

n

n 1

a

0

a a a

2

1

0

representaría el dígito de las unidades,

2

1

i

b , representa la base del sistema de numeración empleado

El lado derecho de la Ecuación No. 1 enfatiza la manera como los dígitos y la

relación de su posición en el número representado puede llevarse a su valor numérico, es decir, sabemos que para el sistema decimal las unidades tienen un valor de 1, las decenas tienen un valor de 10, las centenas tienen un valor de 100, etc.; que es lo mismo que decir, que como las unidades están en la posición 0 del número es tener a la base (b=10) elevada a la posición 0

(

las centenas están en la posición 2 entonces es tener

b

0

= 10

0

= 1), las decenas están en la posición 1 entonces es tener

b

2

= 10

2

b

1

= 10

1

= 10 ,

= 100 , etc

Ahora, si tenemos el valor de la posición que le corresponde a cada dígito, entonces el dígito y su valor de posición son multiplicados, y el producto de todos los dígitos y su valor son sumados para obtener el valor numérico del número representado. Esto lo podemos comprender en el siguiente ejemplo

2197 = 2*10 +1*10 + 9*10 + 7*10

3

2

1

0

Explicación Tenemos el número 2197, el cual tiene el dígito 2 en la posición tres, el dígito 1 en la posición dos, el dígito 9 en la posición uno y el dígito 7 en la posición cero; tenemos en cuenta que este número está representado en base 10, por lo tanto, para expresarlo de forma numérica hacemos la sumatoria de cada dígito multiplicado por la base elevada a la posición representativa del dígito en el número. De esta manera tenemos que

2197 = 2*1000 +1*100 + 9*10 + 7*1 = 2000 +100 + 90 + 7 .

Podemos Observar otro ejemplo con la siguiente gráfica:

2*1000 + 1*100 + 9*10 + 7*1 = 2000 + 100 + 90 + 7 .

La principal diferencia entre los diferentes sistemas numéricos existentes, es la cantidad de dígitos que disponen para el proceso de contar, en la siguiente tabla se comparan los sistemas decimal, binario, octal, hexadecimal:

DECIMAL

BINARIO

OCTAL

HEXADECIMAL

1

1

1

1

2

10

2

2

3

11

3

3

4

100

4

4

5

101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

16

10000

20

10

17

10001

21

11

18

10010

22

12

19

10011

23

13

20

10100

24

14

Sistema Octal El sistema octal tiene 8 dígitos para su numeración (0, 1, 2, 3, 4, 5, 6 y 7) por lo cual se considera que su base es 8. Un procedimiento sencillo para pasar del sistema decimal al octal es el siguiente:

Tomemos como ejemplo la conversión del número decimal 1977 al sistema octal, para ello se realizarán divisiones sucesivas por 8 así:

para ello se realizarán divisiones sucesivas por 8 así: Se toma en orden inverso a su

Se toma en orden inverso a su aparición el resultado final y los residuos

correspondientes, de tal manera, que el correspondiente número en octal es

3671

Sistema Binario Nosotros empleamos el sistema de numeración decimal, es decir, empleamos la base 10

Sistema Binario

Nosotros empleamos el sistema de numeración decimal, es decir, empleamos la base 10 para contar, pero en el caso de los sistemas digitales, ellos sólo tienen dos estados posibles, dos posibles dígitos, el 0 y el 1, por lo tanto, emplean el sistema binario. Así que para poder expresar nuestro mundo en el mundo digital necesitamos representarlo en los requerimientos de este.

Teniendo en cuenta la ecuación No. 1 y conociendo que la base de los sistemas digitales es 2, se puede definir el valor numérico en decimal de un número binario de la siguiente manera:

a a

n

n

1

a a a

2

1

0

=

a

n

*2

n

+

a

n

1

*2

n 1

+

+

a

2

*2

2

+

a

1

*2

1

+

a

0

*2

0

(Ecuación No. 2)

representa el valor de cada dígito

según su posición relativa, pero con una característica especial, cada dígito sólo puede tomar el valor 1 o el valor 0, lo que nos puede dar a entender que cada posición de un dígito representado en un número binario tiene un valor fijo si este es uno, es decir, la posición cero vale 1, la posición uno vale 2, la posición dos vale 4, la posición cuatro vale 8, y así sucesivamente si vamos resolviendo las potencias que se muestran en la Ecuación No. 2.

En donde, se mantiene que

a a a

a a

n

n 1

2

1

0

Nota Importante:

Antes de continuar, tenemos que definir para este módulo (como es acostumbrado en casi todos los textos) que cuando tengamos un número

representado, este debe ir acompañado de un subíndice que nos indique el sistema numérico en el cual se está representando, es decir:

si el subíndice es 2, es porque es sistema Binario, ejemplo:

11101

2

si el subíndice es 8, es porque es sistema Octal, ejemplo:

5603

si el subíndice es 10, es porque es sistema Decimal, ejemplo:

9856

8

10

Como podemos observar de la Ecuación 2, las posiciones de los dígitos tienen un peso numérico relacionado con una potencia de 2, es decir, ha medida que la posición del dígito incrementa, su valor numérico se incrementa en potencias de dos:

1

10

,

2

10

,

4

10

,

8

10

,

16

10

,

32

10

,

64

10

,

128

10

,

256

10

,

512

10

,

Para convertir un número Decimal en un número Binario se puede implementar el método explicado en el siguiente ejemplo:

Convertir el número

Para poder realizar la conversión de este número se busca la potencia de

dos que sea igual o menor al número dado, en este caso es

se asume que la posición nueve del número Binario será un uno. Ahora sólo tenemos en cuenta las unidades restantes entre el número original y la

potencia encontrada, las cuales son

por lo

cual la octava posición del número Binario será un uno, y las unidades

restantes en este caso son

Para las

la sexta posición del número Binario será un uno, y las unidades restantes

en este caso son

por lo cual

la quinta posición del número Binario será un uno, y las unidades restantes

en este caso son

por lo cual la

tercera posición del número Binario será un uno, y las unidades restantes

en este caso son

por lo cual la

primera posición del número Binario será un uno, y la unidad restante en

10 lo cual nos indica que la posición cero será un uno. Por lo

tanto la respuesta es

por lo cual

875

10 al sistema Binario

512

10

363

10 .

Para las

363

10

107

10

unidades restantes, la potencia encontrada es

107

10 .

unidades restantes, la potencia encontrada es

64

10

43

10

11

10

3

10

43

10 .

unidades restantes, la potencia encontrada es

11

10 .

unidades restantes, la potencia encontrada es

3

10 .

unidades restantes, la potencia encontrada es

1

8

2

32

10

10

10

256

10

por lo cual

Para las

Para las

Para las

este caso es

875

10

1101101011

2

En muchos casos tendremos que convertir un número binario en decimal, para

lo cual tendremos en cuenta que cada posición del dígito en el número binario

está representado por un valor equivalente a una potencia de dos, por ejemplo

para el número a:

2 sabemos que cada posición de los dígitos equivale

110101011

1.1 Suma y Resta

En cualquier sistema numérico, las técnicas empleadas en las operaciones de suma y resta son iguales, se siguen los mismos criterios de adición y sustracción; cuando sobrepasamos el máximo número de dígitos disponibles

generamos un acarreo al dígito siguiente más significativo, de similar manera si estamos restando a un dígito que es menor al valor que se le resta se procede

a solicitar un préstamos al dígito siguiente más significativo. Se mantiene la norma de comenzar a sumar o restar desde el dígito menos significativo o dígito de la posición cero.

1.1.1 Definición La suma binaria la definiremos de la siguiente manera:

Si adicionamos dos dígitos cuyos valores son cero, el resultado es cero. Si adicionamos un dígito cuyo valor es uno con un dígito cuyo valor es cero, su resultado es uno Si adicionamos dos dígitos cuyos valores son unos, el resultado es cero, pero generamos un dígito adicional que lo llamaremos acarreo y cuyo valor es uno; el dígito de acarreo será un componente a adicionar a los dígitos inmediatamente más significativos.

La resta binaria la definiremos de la siguiente manera:

El orden de la resta se define del primer dígito dado menos el segundo dígito dado, por lo tanto, en la mayoría de los casos el primer número binario dado para la resta debe ser mayor al número binario sustraendo. Si esto no se cumple, en la mayoría de los casos se implementa una representación binaria conocida como representación en Complemento a dos, la cual nos permite diferenciar números binarios positivos de números binarios negativos. Si el primer dígito es cero y se le resta un segundo dígito que es cero, el resultado es cero. Si el primer dígito es uno y se le resta un segundo dígito que es cero, el resultado es uno. Si el primer dígito es uno y se le resta un segundo dígito que es uno, el resultado es cero. Si el primer dígito es cero y se le resta un segundo dígito que es uno, estaríamos solicitándole al dígito inmediatamente más significativo un préstamos de una unidad permitiendo un resultado de uno; este

préstamo se convierte en una resta adicional a la que se efectuara en el siguiente dígito más significativo.

1.1.2 Ejercicios Prácticos

Realicemos la suma del número

11010

2

con el número 1011 :

2

Procedimiento:

Primero que todo agrupamos los dos números binarios uno encima del otro de tal manera que los dígitos de la misma posición se encuentre en la misma columna o uno sobre el otro:

11010

01011 2

2

+

Noten que agregamos un cero a la izquierda en el segundo número binario sólo para igualar el número de dígitos en ambos (es algo que con la experiencia no necesitaremos). Los dígitos de la posición cero son 0 y 1 respectivamente, por lo tanto su resultado es 1. Los dígitos de la posición uno son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero generan un dígito de acarreo con valor 1 para ser sumado con el resultado de la suma de los dígitos de la posición dos. Los dígitos de la posición dos son 0 y 0 respectivamente, por lo tanto su resultado es 0, pero tenemos un dígito de acarreo que proviene de la suma anterior, este dígito lo adicionamos al presente resultado lo que nos da 1. Los dígitos de la posición tres son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero generan un dígito de acarreo con valor uno para ser sumado con el resultado de la suma de los dígitos de la cuarta posición. Los dígitos de la cuarta posición son 1 y 0 respectivamente, por lo tanto su resultado es 1, pero tenemos un dígito de acarreo que proviene de la suma anterior, este dígito lo adicionamos al presente resultado lo que nos da 0, y generamos un dígito más de acarreo para la siguiente suma. Resulta que no tenemos más dígitos para sumar, pero tenemos un acarreo de un 1, por lo tanto consideramos que los dígitos de la quinta posición son ceros y su suma es 0, adicionándole el dígito de acarreo tendremos un resultado de 1. Por lo tanto el resultado es el siguiente:

011010

001011

2

2

+

100101

2

Realicemos ahora la resta del número

11010

2

con el número 1011 :

2

Procedimiento:

Primero que todo agrupamos los dos números binarios uno encima del otro de tal manera que los dígitos de la misma posición se encuentre en la misma columna o uno sobre el otro:

11010

01011 2

2

Agregamos de nuevo un cero a la izquierda en el segundo número binario sólo para igualar el número de dígitos en ambos. Los dígitos de la posición cero son 0 y 1 respectivamente, por lo tanto solicitamos un préstamo al dígito siguiente más significativo del primer número binario, el resultado es 1, y una resta adicional de un 1 para la operación de los dígitos siguientes. Los dígitos de la posición uno son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero como tenemos generado un préstamo de la operación anterior, tenemos un resta de un 1 pendiente para esta posición; como a un 0 le vamos a quitar un 1 debemos solicitar un préstamo al siguiente dígito generando un nuevo dígito de préstamo; el resultado es 1. Los dígitos de la posición dos son 0 y 0 respectivamente, por lo tanto su resultado es 0, pero tenemos un dígito de préstamo que proviene de la resta anterior, este dígito lo restaremos al presente resultado lo que nos da 1, y generamos un dígito de préstamos más. Los dígitos de la posición tres son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero tenemos un préstamo que debemos restar en esta operación, por lo tanto, el resultado es 1 y un nuevo dígito de préstamo. Los dígitos de la cuarta posición son 1 y 0 respectivamente, por lo tanto su resultado es 1, pero tenemos un dígito de préstamo pendiente así que el resultado es 0. Por lo tanto el resultado es el siguiente:

011010

001011 2

2

001111 2

1.2 Multiplicación y división De similar manera a la suma y resta de números binarios, la multiplicación y división de números binarios mantiene los mismos procedimientos que en el sistema decimal.

1.2.1. Definición La multiplicación binaria la definiremos de la siguiente manera:

Si multiplicamos un dígito cuyo valor es 0 con un dígito cuyo valor es 1, su resultado es 0.

Si multiplicamos un número de varios dígitos con otro de varios dígitos el proceso es similar al que realizamos con números decimales (ver

Si multiplicamos dos dígitos cuyos valores son 0 su resultado es 0.

Si multiplicamos dos dígitos cuyos valores son 1 su resultado es 1.

sección 1.2.2.)

La división binaria la definiremos de la siguiente manera:

Si dividimos un dígito cuyo valor es 1 entre otro cuyo valor es 1 su resultado es 1. Si dividimos un dígito 0 entre un dígito 1 su resultado es 0 En los sistemas binarios también se considera como un valor indeterminado la división entre 1 y 0, y entre 0 y 0. Cuando se dividen dos números binarios de varios dígitos se implementa la misma metodología que cuando se divide en el sistema digital

1.2.2 Ejercicios Prácticos Realicemos ahora la multiplicación del número

11010

2

con el número 1011 :

2

Procedimiento:

Primero que todo agrupamos los dos números binarios uno encima del otro de tal manera que los dígitos de la misma posición se encuentre en la misma columna o uno sobre el otro:

se encuentre en la misma columna o uno sobre el otro: Ahora de la misma manera

Ahora de la misma manera que en el sistema digital, el dígito de la posición cero del segundo número binario se multiplica por todo el primer número binario:

digital, el dígito de la posición cero del segundo número binario se multiplica por todo el

De igual manera el dígito de la posición uno del segundo número binario se multiplica por todo el primer número, pero su resultado se coloca a partir de la columna correspondiente a la posición uno:

a partir de la columna correspondiente a la posición uno: Ahora el dígito de la posición

Ahora el dígito de la posición dos del segundo número binario se multiplica por todo el primer número, pero su resultado se coloca a partir de la columna correspondiente a la posición dos; se procede de similar manera con la posición tres y cuatro, lo que nos da

similar manera con la posición tres y cuatro, lo que nos da De igual manera que

De igual manera que en el sistema decimal, procedemos a sumar columna por columna, por lo tanto el resultado es:

a sumar columna por columna, por lo tanto el resultado es: Realicemos ahora la división del

Realicemos ahora la división del número

11001010

2

con el número 1011 :

2

Procedimiento:

Primero que todo agrupamos los dos números binarios de la misma manera que cuando realizamos una división en el sistema decimal:

que cuando realizamos una división en el sistema decimal: El divisor tiene cuatro dígitos, por lo

El divisor tiene cuatro dígitos, por lo tanto, procedemos a tomar de izquierda a derecha cuatro dígitos del dividendo; el número que forman estos cuatro dígitos debe ser mayor al número divisor, si no es así se

tomaría un dígito más en el dividendo. Cuando este número es mayor que el divisor, se coloca un 1 en la zona del resultado de la división y se procede a restar como sigue:

resultado de la división y se procede a restar como sigue: Al resultado de la resta

Al resultado de la resta se le agrega a su derecha el siguiente dígito que sigue a los cuatro inicialmente tomados en el dividendo; se examina si el nuevo número que se forma es mayor al divisor, si no es el caso se agrega el dígito siguiente, y en la zona del resultado se coloca un cero (en este caso debemos recurrir una vez más a este procedimiento):

caso debemos recurrir una vez más a este procedimiento): Ahora que el número generado es mayor

Ahora que el número generado es mayor que el divisor, colocamos un 1 en la zona del resultado y restamos de nuevo el divisor a este número obteniendo.

y restamos de nuevo el divisor a este número obteniendo. Aún nos falta por bajar un

Aún nos falta por bajar un dígito del dividendo, pero el número que se forma no es mayor que el divisor, así que agregamos un cero al número de la zona de resultado:

que agregamos un cero al número de la zona de resultado: De donde el resultado de

De donde el resultado de la división es el número

esta división es el número

100

2

EJERCICIOS:

1. Realice las siguientes sumas binarias:

10010

2 y el residuo de

número esta división es el número 100 2 EJERCICIOS: 1. Realice las siguientes sumas binarias: 10010
número esta división es el número 100 2 EJERCICIOS: 1. Realice las siguientes sumas binarias: 10010
2. realice las siguientes restas binarias: 3. Realice las siguientes multiplicaciones binarias: 4. Realice las

2. realice las siguientes restas binarias:

2. realice las siguientes restas binarias: 3. Realice las siguientes multiplicaciones binarias: 4. Realice las siguientes
2. realice las siguientes restas binarias: 3. Realice las siguientes multiplicaciones binarias: 4. Realice las siguientes
2. realice las siguientes restas binarias: 3. Realice las siguientes multiplicaciones binarias: 4. Realice las siguientes

3. Realice las siguientes multiplicaciones binarias:

restas binarias: 3. Realice las siguientes multiplicaciones binarias: 4. Realice las siguientes divisiones binarias:

4. Realice las siguientes divisiones binarias:

restas binarias: 3. Realice las siguientes multiplicaciones binarias: 4. Realice las siguientes divisiones binarias:

2. CIRCUITOS DIGITALES

Los circuitos digitales son un conjunto de componentes electrónicos que permiten manejar el voltaje que se les suministra para representar y manipular número binarios; este proceso de representación del número binario está relacionado con el nivel de voltaje que se encuentra ya sea a la entrada del circuito o a la salida del mismo, de donde se precisa un nivel “alto” o “bajo” con muy clara diferencia entre los mismos; esto es fácilmente aclarado en el tema 2.2 y 2.3

El poder diferenciar claramente los niveles de voltaje en la salida o la entrada del circuito nos permite nombrar estos niveles como “1” y “0”, respectivamente. Esta asignación nos acerca más al término de sistema binario, y nos permite comprender de alguna manera el porqué los circuitos digitales sólo trabajan con números binarios.

Cada entrada o salida del circuito digital representa un dígito binario, por lo tanto, estos se conocen como bit, del término inglés BInary DigiT. Por lo cual, se acostumbra a hablar de un circuito digital de n bits de entrada o n bits de salida. En la figura No. 1 tenemos el ejemplo de la representación de un circuito digital de 3 bits de entrada y 5 bits de salida:

Figura No. 1 Circuito Digital de 3 bits de entrada y 5 bits de salida

1 Circuito Digital de 3 bits de entrada y 5 bits de salida 2.1 Compuertas Lógicas

2.1 Compuertas Lógicas Un circuito digital es muy similar a un sistema, con sus entradas, sus salidas y un proceso interno que establece la relación entre las entradas al mismo y sus salidas. Este llamado proceso interno se puede representar por medio de ecuaciones matemáticas, cuyas variables y números son NO REALES, por lo tanto, no aplicamos las mismas operaciones y propiedades que conocemos, sino que recurrimos a las definidas en el Algebra de Boole.

2.1.1 Definición Una compuerta lógica es aquel circuito digital que tiene la capacidad de aplicar un proceso interno a sus n bits de entrada, que cumple con alguna de las operaciones definidas en el Álgebra de Boole, y que cuyos resultados son manifiestos en sus bits de salida. En la figura No. 2 podemos observar las operaciones del Algebra de Boole, sus tablas de verdad y representación gráfica.

Figura No. 2 Propiedades del Algebra de Boole:

Tablas y representación gráfica

Figura No. 2 Propiedades del Algebra de Boole: Tablas y representación gráfica

2.1.2 Aplicaciones de las Compuertas Las compuertas lógicas digitales son implementadas para representar las funciones booleanas que representan los sistemas digitales, y que permiten realizar algún tipo de aplicación como control de un proceso industrial, operaciones aritméticas (sumas, restas, multiplicaciones y divisiones de números binarios), etc.

Un ejemplo de esto se representa en la figura No. 3, en donde está la función boolena de un sistema digital y la representación del mismo empleando compuertas lógicas (Este tema será ampliado en la sección 3.1).

Figura No. 3

Función boleana y su representación por medio de Compuertas lógicas

y su representación por medio de Compuertas lógicas 2.2. Familia TTL Como se comentó en la

2.2. Familia TTL Como se comentó en la sección 2.1, los circuitos digitales trabajan con “1” y “0”, los cuales representan un rango de voltaje en el bit de entrada o salida del mismo; la característica especial de estos rangos es que el voltaje de los bits sólo deben estar dentro de los rangos de voltaje determinados para cada estado, de tal manera que existe una zona de voltaje entre los rangos asignados al “1” y “0” que nunca estará presente en el comportamiento eléctrico de los mismos. Si recordamos el componente Electrónico llamado Transistor NPN (ver figura No. 4), este tiene tres Zonas de trabajo: La zona activa, la de corte y la de saturación.

La zona activa funciona como un amplificador lineal de corriente y/o voltaje dependiendo de la configuración del circuito en el cual se emplee el transistor; las otras dos zonas funcionan de igual manera que un interruptor eléctrico, en la zona de corte funciona como circuito abierto y en la zona de saturación funciona como un corto circuito; esto permite configurar un circuito en el cual el transistor puede acercarse a un voltaje cercano a cero o cercano al voltaje de alimentación, lo que asumimos como un “0” y “1” respectivamente. Ahora, con una adecuada configuración de varios circuitos que contengan transistores se pueden generar comportamientos entre las entradas y salidas del circuito que cumplan con el comportamiento de las operaciones booleanas.

Figura No. 4

Transistor NPN

Figura No. 4 Transistor NPN 2.2.1 Definición Los circuitos digitales implementados con la lógica Transistor–Transistor

2.2.1 Definición

Los circuitos digitales implementados con la lógica Transistor–Transistor son conocidos como circuitos integrados TTL (sigla del término en inglés, Transistor-Transistor Logic), y todo circuito integrado que contenga cualquier

tipo de compuerta lógica que se genere con este tipo de circuito lógico se relaciona con la Familia TTL.

2.2.2 Características

Los circuitos integrados de la Familia TTL se alimentan con 5V con una variación aceptable de ± 0.25V y funcionan adecuadamente en temperaturas ambientales entre los 0°a 70°C. La Familia TTL configura la zona de voltaje para definir el “0” entre 0V y 0.8V, y para definir el “1” entre 2.4V y 5.0V. La velocidad de cambio de estado lógico del bit de salida a razón del cambio lógico de los bits de entrada alcanza en algunas versiones de la familia hasta 250 Mhz, claro está que esto incrementa el consumo de potencia del circuito integrado Cuando una de las entradas del circuito lógico no se conecta sino que se deja al aire, el sistema lo toma como un “1”; pero es recomendable conectar la entrada por medio de una resistencia de 1ka 5V para

garantizar el estado del mismo. La Familia TTL tiene un limitante en cuanto al número de compuertas que se pueden interconectar entre sí (fan out), esta característica está impuesta por la capacidad de corriente que puede suministrar o recibir.

2.2.3 Tipos de Circuitos Integrados

La familia TTL es una de las familias de Circuitos Integrados (CI) más utilizados, son reconocidos por la serie estándar 74 e incluyen una amplia variedad de compuertas, flip-flops, multivibradores monoestales, registros de corrimiento, contadores, decodificadores, memorias y circuitos aritméticos.

Dependiendo de la combinación entre velocidad de respuesta y consumo de potencia la serie se clasifica como:

Serie 74L, ofrece bajo consumo de potencia. Serie 74H, ofrece alta velocidad. Serie 74S, configuración Schottky. Serie 74LS, configuración Schottky de bajo consumo de potencia. Serie 74AS, configuración Schottky avanzada. Serie 74ALS, configuración Schottky avanzada con bajo consumo de potencia.

La familia TTL también se clasifica dependiendo del tipo de salida con que cuenta:

Salida TTL con colector abierto. Salida TTL de tres estados.

2.3. Familia CMOS Otro tipo de transistores aplicados en los CI son los transistores MOS (MOS, de la sigla en inglés Metal-Oxide Semiconductor) los cuales consumen y disipan menos energía por compuerta; este dispositivo puede modelarse como una resistencia controlada por voltaje con tres terminales, de tal forma que opera con una resistencia muy alta (“1”) o muy baja(“0”) (Ver figura No. 5). Este transistor tiene dos configuraciones que son complementarias conocidas como NMOS y PMOS, los cuales al ser implementados en un circuito forman la lógica MOS Complementaria (CMOS), con la cual también se pueden implementar los comportamiento de las diferentes operaciones boolenas, como por ejemplo una compuerta inversora (Ver figura No. 6).

Figura No. 5

Transistor MOS

diferentes operaciones boolenas, como por ejemplo una compuerta inversora (Ver figura No. 6). Figura No. 5

Figura No. 6

Circuito Inversor CMOS

Figura No. 6 Circuito Inversor CMOS 2.3.1 Definición Se denominan circuitos integrados de la Familia CMOS

2.3.1 Definición

Se denominan circuitos integrados de la Familia CMOS a aquellos en los cuales se ha implementado la lógica booleana por medio de circuitos lógicos

CMOS.

2.3.2 Características

Los circuitos integrados de la Familia CMOS se alimentan con valores entre 3V y 18V (claro que las series más nuevas definen su rango de alimentación entre 2V y 6V), y los estados lógicos “1” y “0” se definen en los rangos Vcc-0.7Vcc y 0.3Vcc-0V, respectivamente. Estos integrados son especialmente susceptibles a daños por carga electrostática, aunque las últimas generaciones de CI CMOS vienen protegidos contra estas descargas.

2.3.3 Tipos de Circuitos Integrados

La familia CMOS en sus comienzos fue conocida como la serie 4000; aunque tenía un bajo consumo de potencia, era bastante lenta y de muy difícil conexión con la familia TTL. Este aspecto fue mejorado por la serie 74HC (CMOS de alta velocidad) y la 74HCT (CMOS de alta velocidad, compatible con TTL). Después se introdujo la serie 74AC (CMOS avanzada) y la 74ACT (CMOS avanzada, compatible con TTL).

2.4 CIRCUITOS INTEGRADOS El Circuito Integrado (CI) es un chip de Silicio en el cual se han fabricado una o más compuertas lógicas (Ver figura No. 7), se caracterizan por venir en un paquete de cerámica o plástico con contactos metálicos en su periferia que permiten establecer conexión eléctrica para el suministro de energía y de las señales de entrada y salida; lo que interesa conocer de un CI es su comportamiento eléctrico y funcional. Normalmente un CI se conecta en una tarjeta de Circuito Impreso (PCB, del término inglés Printed-Circuit Board) para poder establecer su interconexión con otros circuitos integrados según la

funcionalidad que tenga en el sistema implementado. Nosotros lo interconectaremos principalmente en Protoboards.

Figura No. 7 Imagen de un Circuito Integrado

en Protoboards. Figura No. 7 Imagen de un Circuito Integrado INVESTIGACION: 1). En qué consiste la

INVESTIGACION:

1). En qué consiste la lógica de diodos? implementen.

Dé ejemplo de circuitos que la

2). Cómo se configura un inversor lógico por medio de un transistor NPN?.

3). Qué otros tipos de lógicas circuitales se han implementado para poder implementar las operaciones booleanas?

4). Investigue cuáles son los circuitos integrados más comúnmente usados y qué características poseen.

3. PRINCIPIOS DE DISEÑO DE LOGICA COMBINACIONAL

Un circuito lógico combinacional es aquel en el cual sus bits de salida dependen solamente del estado actual de los bits de entrada. El comportamiento de estos circuitos se analiza inicialmente por medio de un diagrama lógico de dónde se obtiene la descripción formal de la función ya sea por medio de una tabla de verdad o una expresión lógica.

3.1 ALGEBRA DE CONMUTACION Basados en el trabajo del matemático George Boole y las observaciones del investigador Claude E. Shannon se han fundamentado las técnicas formales para el análisis de los circuitos digitales.

3.1.1 Definición Señal lógica: Es el estado que se registra en los bits de entrada o salida de un circuito combinacional; se han definido el estado “1” o ALTO y el estado “0”

o BAJO.

quien represente la señal lógica en un bit de entrada.

En el álgebra de Boole una variable simbólica (por ejemplo X) será

Operaciones Binarias básicas

NOT: una de los axiomas principales del álgebra de Boole es que si X = 0 ,

entonces X 0 ; y por analogía si X = 1 , entonces X 0 . Ahora si definimos

la acción de negar una variable como la manera en la cual si su estado es “0”,

al negarla su estado sería “1”, o viceversa; y si definimos el universo de los circuitos lógicos en los cuáles sólo son posibles dos estados (1 y 0),

X = 0 ,

entonces

inversor (ver figura No. 2).

Esto es lo que se conoce como la operación NOT o

entenderíamos que si X = 1 , su complemento sería

X

'

= X

=

0

, y si

X

'

= X

=

1

.

AND: Para una multiplicación lógica tenemos que si las entradas son X y Y, su representación algebraica sería F = X Y , en donde el punto de multiplicación () indica una operación AND o multiplicación lógica (Ver figura No. 2) y cuyo resultado sólo es “1” cuando todas las entradas son “1”.

OR: una suma lógica u operación OR, la cual se representa por medio de un signo más ( F = X + Y ), tiene como salida “0” si y solamente si todas las entradas son “0” (Ver figura No. 2).

Basados en estas tres operaciones básicas tenemos los siguientes teoremas para una variable:

“0” (Ver figura No. 2). Basados en estas tres operaciones básicas tenemos los siguientes teoremas para

El álgebra de Boole cumple los siguientes postulados:

1. las operaciones OR y AND son conmutativas:

X + Y = Y + X

X Y = Y X

(ecuación No. 3)

2. Cada operación (AND y OR) es distributiva para la otra, es decir:

X

+ (Y Z ) = (X + Y ) (X + Z )

(ecuación

No. 4)

X

(Y + Z ) = (X Y ) + (X Z )

(ecuación No. 5)

3. las operaciones OR y AND son asociativas:

(X

+ Y ) + Z = X + (Y + Z ) = X + Y + Z

(ecuación

No. 6)

(X Y ) Z = X (Y Z ) = X Y Z

(ecuación

No. 7)

4. Para cada par de elementos se cumple que (Propiedad de absorción o cobertura):

(ecuación No. 8) (ecuación No. 9)

X

+ X Y = X

X ( X + Y ) = X

5. La propiedad de combinación consiste en:

X Y + X Y

= X

(X + Y) (X + Y ) = X

(ecuación No. 10)

(ecuación No. 11)

6. El Teorema de Morgan consiste en:

(X + Y + Z ) = X Y Z

X Y Z

= X + Y + Z

(ecuación No. 12)

ecuación No. 13)

7. El teorema de Shannon define el complementario de una función como aquel en el cual cada variable se reemplaza por su complementaria y, al mismo tiempo, se intercambian las operaciones AND y OR, es decir:

(ecuación No. 14)

f

(

X

,

Y

,

Z

,

,

, )

+ ⋅

= f

(

X

,

Y

,

Z

,

,

⋅ +

,

)

8. El teorema de Expansión consiste en:

f

(

X

,

Y

,

Z

,

)

=

[

X

+

f

(0,

Y

,

Z

,

)]

X

+

f

(1,

Y

,

Z

,

)

=

X f(1, Y, Z,

)

+

X

f

(0,

Y

,

Z

(ecuación No. 15)

,

)

En donde el desarrollo o la expansión puede realizarse en función de cualquiera de las variables presentes.

3.1.2 Ejercicios Ahora aplicaremos los teoremas del álgebra de Boole para resolver ecuaciones lógicas:

Probemos que (X + Y ) Y = X Y

Procedimiento:

1. Tomaremos el término de la izquierda del igual, y por medio de la

propiedad distributiva (Ec. No. 5) eliminaremos el paréntesis:

X Y + Y Y = X Y

2. Si observamos el segundo término del lado izquierdo del igual ( Y Y ),

notaremos que están cumpliendo la propiedad del complemento para la multiplicación lógica, por lo tanto el resultado de este término es “0”:

X Y + 0 = X Y

3. Ahora el lado

identidad para la suma lógica, por lo tanto

izquierdo del igual se asemeja a la propiedad de la

X Y = X Y

De donde queda demostrada la igualdad

Aplique el Teorema de Morgan en

A(B + C)

Procedimiento:

1. El Teorema de Morgan dice que toda variable es reemplazada por su

complemento, las operaciones AND y OR son reemplazadas por su inverso (OR y AND) (Ver ecuaciones No. 12 y 13). Inicialmente colocaremos los complementos de A y del término que va entre paréntesis, y la operación inversa de la multiplicación lógica, lo cual nos da:

A(B + C) = A+ (B + C)=

2. Ahora, el término entre paréntesis está negado, cuando aplicamos la

negación los términos B y C son reemplazados por sus complementos y la operación de la suma lógica se reemplaza por la multiplicación lógica:

A(B + C) = A+ (B + C) = A+ BC

Por lo tanto

A(B + C) = A+ BC

3.2 ANALISIS Y SINTESIS DE CIRCUITOS COMBINACIONALES

Para el análisis de Circuitos Combinacionales nosotros manejamos funciones booleanas que nos representan el comportamiento de los mismos en función del estado de sus entradas. Una función booleana sencilla es la siguiente:

f (X ) = X

Esta función indica que para cada valor de X la respuesta de la misma es el complemento, como X sólo puede tomar dos valores (0 y 1), las respuestas serán sus complementos (1 y 0).

Como en el álgebra, las funciones pueden tener varias variables,

f (X ,Y) = (X + Y )Y

Para esta función en particular podemos notar que cuando

f

(0,0)

=

(0

+

0)

0

=

(0

+

1)

0

=

1

0

=

0

f

(0,1)

=

(0

+

1)

 

1

=

(0

+

0)

1

=

0

1

=

0

f

(1,0)

=

(1

+

0)

 

0

=

(1

+

1)

0

=

1

0

=

0

f

(1,1)

=

(1

+

1)

1

=

(1

+

0)

1

=

1

1

=

1

Y como habíamos probado en la sección 3.1.2, esta función es lo mismo que tener la multiplicación lógica de X y Y, de donde la salida sólo es “1” cuando las dos entradas son “1”, y la salida es “0” en los demás casos.

La representación básica de una función lógica es la tabla de verdad, la cual, para la función anterior la podemos ver en la figura No. 8; como se observa, el número de columnas de la tabla de verdad está dado por el número de variables de la función seguido de su resultado. El número de filas de la tabla de verdad está dado por el número máximo de diferentes posibles

2 , n= número de variables),

combinaciones de los estados de las entradas (

por ejemplo, si tenemos 3 variables en una función serán 8 filas en la tabla de

verdad y cuatro columnas.

n

Figura No. 8

Tabla de Verdad de la función

f (X ,Y) = (X + Y )Y

la tabla de verdad y cuatro columnas. n Figura No. 8 Tabla de Verdad de la

Como se pudo observar, por medio de la función booleana se definió el comportamiento de la tabla de verdad; de similar manera, nosotros podemos partir de una tabla de verdad para poder deducir la función booleana, el problema es que se pueden obtener una multitud de funciones booleanas que tendrán el mismo comportamiento, así que nuestra misión será encontrar la función que este lo más simplificada posible.

3.2.1 Descripción de Diseño y circuitos A partir de una tabla de verdad se pueden obtener varias funciones booleanas que expresan el comportamiento descrito en la tabla; todas estas funciones serán equivalentes, y unas se podrán deducir de otras por medio de las propiedades del álgebra de Boole.

Lo generalmente más empleado para la deducción de las expresiones resultantes de una tabla de verdad, son las formas canónicas. Estas se caracterizan porque en todos los términos de estas expresiones aparecen todas las variables.

Para entender una forma canónica debemos comprender lo siguiente:

Término producto: Es la multiplicación lógica de dos o más variables,

ejemplos: XYZ , X Y Z ,

AB C

 

Expresión de suma de productos: Es la suma lógica de términos

productos, ejemplo:

X + X Y + XY Z

 

Término suma: Es la suma lógica de dos o más variables; ejemplos:

X

+ Y + Z ,

X + Y + Z + A

 

Expresión de producto de sumas: Es el producto lógico de términos

suma, ejemplo:

X

(

X + Y

)

(

X + Y + Z

)

(

X + Y + Z +

A

)

Término normal: Es un producto o término suma en el que ninguna

variable aparece más de una vez. Ejemplos: XYZ ,

X + Y ,

A + B + C + D

Mintérmino:

Es

un

término

de

producto

normal

 

con

n

variables.

Ejemplos:

X Y Z ,

X Y Z ,

X Y Z

 

Maxtérmino: Es un término suma normal con n variables. Ejemplos:

X

+ Y + Z + W ,

X + Y + Z + W ,

X + Y + Z + W

Existe una relación entre la tabla de verdad y los mintérminos y maxtérminos de una función:

Un mintérmino puede definirse como un término producto que es “1” en una de las filas de la tabla de verdad; como es un producto, la única manera que logramos que sus entradas nos den como resultado un “1” es haciendo que todas sean “1”, por lo tanto, el mintérmino tendrá las variables que sean “0” complementadas (Ver figura No. 9)

Un maxtérmino puede definirse como un término suma que es exactamente “0” en una de las filas de la tabla de verdad; de similar manera al mintérmino, el resultado del máxtermino debe ser un “0”, así que todas las variables que sean “1” serán complementadas (ver figura No. 9)

Figura No. 9 Ejemplo de Mintérminos y Maxtérminos para dos variables

9 Ejemplo de Mintérminos y Maxtérminos para dos variables Ahora si estamos capacitados para entender cómo

Ahora si estamos capacitados para entender cómo las formas canónicas son empleadas para deducir expresiones lógicas que describen un circuito lógico a partir de la tabla de verdad correspondiente. La primera forma canónica es la Suma Canónica de la función lógica, la cual es la suma de los mintérminos correspondientes a las filas de la tabla de verdad en las cuales los resultados sean un “1”, como ejemplo, la suma canónica de la tabla de verdad de la figura No. 8 es

F = XY

La suma canónica se compone de un solo término porque solamente una fila tiene como resultado un “1”, ahora si aplicamos toda la tabla de verdad en esta expresión notaremos que la cumple (esto se propone como ejercicio al estudiante)

La segunda forma canónica es el Producto Canónico de la función lógica, y consiste en el producto de los maxtérminos correspondientes a las combinaciones de las entradas para las cuales la salida es un “0”. Por ejemplo, el producto canónico de la tabla en la figura No. 8 es

F

=

(

X + Y

)(

X + Y

)(

X + Y

)

De similar manera, se propone al estudiante representar toda la tabla de verdad en la expresión resultante para confirmar que cumple con las condiciones de la tabla.

Ahora el punto que debe preocuparnos es si las dos expresiones resultantes son realmente equivalentes? Para confirmarlo deduciremos de la expresión de productos de maxtérminos la expresión de suma de mintérminos, así que nuestra expresión inicial es la siguiente:

F

=

(

X + Y

)(

X + Y

)(

X + Y

)

Procedimiento:

1. Hemos dicho que las operaciones OR y AND son asociativas (Ver Ecuación.

No. 7), por lo tanto, agruparemos los dos primeros maxtérminos como sigue:

F =

[(

X + Y

)(

X + Y

)](

X + Y

)

2. La ecuación No. 5 nos dice que la operación OR es distributiva, así que

asumiremos que el primer maxtérmino es una sola variable y el producto del

mismo por el segundo maxtérmino será distribuido de la siguiente manera

F

=

[(

X + Y

)

X +

(

X + Y

)

Y

)](

X + Y

)

3. Con la expresión resultante redistribuiremos el producto de cada variable por

el maxtérmino que lo multiplica:

F

=

[

XX + YX + X Y + Y Y

](

X + Y

)

4. Ahora aplicando el teorema de Idempotencia y complemento obtenemos

X + YX + X Y +

F

=

F

[

=

0](

X + Y

)

[

X + YX + X Y

](

X + Y

)

5. Simplificando el primer término de la multiplicación tendremos:

F

=

[

X

(1

+ Y + Y

)](

X + Y

)

6. Ahora, una variable que es sumada con un “1” y con su complemento nos

da la misma variable, por lo cual

F

=

[

XY

](

X

+ Y

)

F

= XY

(

X + Y

)

7. Aplicando la ley distributiva tenemos

F = XY X + XYY

8.

Aplicando la ley conmutativa

F = YX X + XYY

9. y por el teorema del complemento para la multiplicación

F = Y 0 + XYY = 0 + XYY = XYY

10.y por el teorema de Idempotencia aplicado a la variable Y

F = XY

Por lo cual obtenemos la misma expresión resultante para la suma canónica de la tabla en la figura No. 8

Ya tenemos unas herramientas básicas para generar expresiones lógicas de una tabla de verdad, pero de dónde se genera la tabla de verdad? Por regla general, la tabla de verdad se deduce de una descripción verbal de un problema descrito por alguien o por nosotros mismos. Esta descripción puede ser un listado de combinaciones de varias entradas para las cuales debe estar activo o desactivo un bit en especial (salida del sistema).

3.2.2 minimización de Circuitos Combinacionales

Cuando obtenemos una expresión lógica que describe una situación especial o un comportamiento requerido en un circuito, el paso siguiente sería el implementarlo en un circuito electrónico, pero en la mayoría de los casos, la implementación directa de una suma o multiplicación canónica no es la más fiable económicamente hablando pues el número de mintérminos y maxtérminos crece exponencialmente con el número de variables.

Esta es una de las causas por las cuáles la minimización es una de las mejores herramientas para optimizar el circuito lógico diseñado, de tal manera, que la expresión final sea la de menor número y tamaño de compuertas electrónicas necesarias para construirla. Los medios que tenemos para optimizar una expresión booleana son:

3.2.3

Utilizando Propiedades y Teoremas del álgebra de Boole. Utilizando el método de los mapas de Karnaugh

Utilizando Propiedades y Teoremas del álgebra de Boole. Utilizando el método de los mapas de Karnaugh

Teorema de Morgan

Normalmente las formas canónicas no son las expresiones más simplificadas, pero el procedimiento para hacer la simplificación no tiene un método analítico, hay que basarse en la experiencia y el conocimiento de las propiedades del álgebra de Boole. Un ejemplo de simplificación de expresiones lógicas fue realizado en la sección 3.2.1. A continuación veremos otro ejemplo:

Ejercicio resuelto:

Minimizar la siguiente expresión:

=

F

X Z

+

XY

+

X Y

Z

Procedimiento:

1). Podemos aplicar la ley asociativa de la suma lógica para los dos últimos términos así

F = X Z +

(

XY + X Y

Z

)

2) Aplicando el procedimiento inverso para la ley distributiva de la multiplicación lógica con respecto a la suma tendremos

F = X Z + X

(

Y + Y

Z

)

aplicamos la ley distributiva según la Ecuación

No. 4, de tal forma que obtenemos (

complementos se cumple que es igual a “1” tendríamos (1) (Y + Z ) = (Y + Z ) , así que reemplazando en la expresión:

, y como para la suma de

3). Para el término (

Y

+ Y

Z )

Y + Y

)

(

Y + Z

)

F = X Z + X

(

Y + Z

)

4). Aplicando la ley distributiva y conmutativa tendremos:

F = X Z + X

(

Y + Z

)

= X Z + XY + XZ = X Z + XZ + XY

5). Agrupando los dos primeros términos tendremos

F = X Z + XZ + XY = ( X + X )Z + XY

6). De donde por la propiedad de la suma de complementos

F = ( X + X )Z + XY = (1)Z + XY = Z + XY F = Z + XY

De donde podemos observar que de requerir inicialmente una compuerta OR de tres entradas, dos compuertas AND de dos entradas, una compuerta AND de tres entradas y dos compuertas inversoras; al realizar la minimización llegamos a necesitar solamente una OR de dos entradas y una AND de dos entradas. Por lo tanto en la mayoría de casos el proceso de minimización reduce notablemente la cantidad de componentes electrónicos requeridos en el montaje de un Circuito Digital (Ver figura No. 10). Queda como tarea para el estudiante el construir las tablas de verdad de las dos expresiones y comprobar que se comportan igual.

Figura No. 10 Acción de Minimización:

Circuito de una expresión lógica original y Minimizada

Circuito de una expresión lógica original y Minimizada 3.2.4 Mapas de Karnaugh Un mapa de Karnaugh

3.2.4 Mapas de Karnaugh Un mapa de Karnaugh es una representación gráfica de la tabla de verdad de

una expresión lógica. Básicamente es una tabla de cuadros de

2 filas por

2 columnas, en donde i + j = n , siendo n el número de variables, además se

i

j

= 2 * 2 , es decir, la tabla tendrá tantos cuadros como posibles

cumple que

combinaciones de las variables de entrada (Ver figura No. 11). Como el mapa de Karnaugh es otra forma de representar la tabla de verdad, debemos asignar un número i de variables para designar las filas y un número de j variables para designar las columnas, se acostumbra colocar las primeras i variables de la tabla de verdad a las filas y las j variables restantes a las columnas (ver figura No. 12).

2

n

i

j

Figura No. 11

Ejemplo de un mapa de Karnaugh

para una expresión de 4 variables

de un mapa de Karnaugh para una expresión de 4 variables Las expresiones pueden realizar con

Las expresiones

pueden realizar con las i y las j variables respectivamente, es por eso que las filas y las columnas son el mismo número de combinaciones posibles de cada grupo de variables asignadas a cada lado del mapa de Karnaugh; pero el truco es no colocar las posibles combinaciones en el mismo orden en que se

j indican el número de posibles combinaciones que se

2

i

y

2

generarían como si estuviésemos contando en binario (00, 01, 10, 11); las posibles combinaciones de las variables asignadas en las filas y columnas, deben de una a la siguiente combinación variar uno sólo de sus dígitos es decir:

00,

01, 11, 10

Podemos ver la aplicación de este concepto en la figura No. 13. Tenga en cuenta que el primer dígito de cada término (sea en la fila o la columna) corresponde a la primera variable asignada para la fila o la columna; de manera similar se hace con los demás dígitos, es decir, el segundo dígito va con la segunda variable, el tercer dígito con la tercera variable, etc.

Figura No. 12 Ubicación de las variables en un mapa de Karnaugh para una expresión de 4 variables

en un mapa de Karnaugh para una expresión de 4 variables Lo que nos falta es

Lo que nos falta es relacionar cada línea de la tabla de verdad con cada cuadro del Mapa de Karnaugh. Para hacerlo, lo que hacemos es analizar cada una de las intersecciones entre las filas y las columnas, por ejemplo, la fila dos y la columna tres en la Figura No. 13 es la intersección entre el término 01 y el término 11, lo que nos indica que debe ser el término de la expresión correspondiente a F(X,Y,Z,W) = F(0,1,1,1); de similar manera, la intersección entre la fila tres y la columna cuatro es el término de la expresión correspondiente a F(X,Y,Z,W) = F(1,1,1,0). En otras palabras cada cuadro del mapa de Karnaugh tiene un mintérmino correspondiente en la tabla de verdad; y en cada cuadro se colocará el resultado esperado para cada uno de ellos. Es importante tener en cuenta que existen columnas y filas adyacentes en el mapa de Karnaugh en las cuales una de las variables es “1” y no varía, esto lo podemos observar en la figura No. 14.

Figura No. 13 Mapa de Karnaugh para una expresión de 4 variables

No. 13 Mapa de Karnaugh para una expresión de 4 variables Figura No. 14 Mapa de

Figura No. 14 Mapa de Karnaugh para:

a) Dos variables b). Tres variables

c). Cuatro variables

a) Dos variables b). Tres variables c). Cuatro variables Ahora llevemos a la práctica lo hasta

Ahora llevemos a la práctica lo hasta el momento aprendido. Realicemos el mapa de Karnaugh de la siguiente tabla de verdad y halle la expresión mínima:

Procedimiento:

aprendido. Realicemos el mapa de Karnaugh de la siguiente tabla de verdad y halle la expresión

1.

Identificamos que es una tabla de verdad con tres variables, por lo tanto, necesitaremos un mapa con dos filas y cuatro columnas como la observada en el Item b) de la figura No. 14.

2. Cada uno de los mintérminos de la tabla de verdad será relacionada con cada uno de los cuadros del mapa de Karnaugh, por lo cual, en cada cuadro relacionado colocaremos los resultados esperados según la tabla de verdad:

los resultados esperados según la tabla de verdad: 3. Ya tenemos el mapa de Karnaugh, pero

3. Ya tenemos el mapa de Karnaugh, pero requeremos minimizar la expresión que se representa de la tabla de verdad, por lo tanto, la minimizaremos por medio de la suma de productos (mintérminos):

A B C +

F

(

A B C

,

,

)

=

A B C +

A BC + A B C + ABC

De donde, aplicando la ley conmutativa

para la suma y la operación

contraria a la idempotencia para la suma en el término A BC

tendremos

F

(

A B C

,

,

)

=

A B C +

A BC +

A B C +

A BC + A B C + ABC

Ahora la ley asociativa

F

(

A B C

,

,

)

=

(

A

B C +

A BC

)

+

(

A B C +

A BC

)

+

(

A B C + ABC

)

Y

por la ley distributiva podemos hacer lo siguiente

 
 

F

(

A

,

B

,

C

)

=

A

(

B C + BC

)

+

A B

(

C + C

)

+

A

(

B C + BC

)

Y

luego

 

F

(

A B C

,

,

)

=

A C

(

B + B

)

+

A B

(

C + C

)

+ AC

(

B + B

)

De donde por el teorema de complemento obtenemos

)

F

(

A B C

,

,

=

A C

(1)

+

A B

(1)

+ AC

(1)

Y con el teorema de Identidad

A B C

F

(

,

,

)

=

Por la ley conmutativa

A C +

A B + AC

F

(

A B C

,

,

) =

A C

+

AC

+

A B

Y aplicando de nuevo la ley asociativa y distributiva

F

(

F

A B C

,

,

(

A B C

,

,

) = (

) =

A C

C

AC

(

+

A

+

A

) +

) +

A B

A B

Y por el teorema del complemento y la identidad

F

(

F

A B C

(

,

A B C

,

,

,

) =

C

) =

C

(1) +

+

A B

A B

De donde obtenemos la mínima expresión lógica para la tabla de verdad dada

4. Ahora podemos confrontar el resultado anterior con el resultado que obtengamos con el mapa de Karnaugh, para ello tendremos en cuenta las siguientes normas:

a. Sólo tendremos en cuenta los unos que identificamos en los cuadros del mapa de Karnaugh

unos que identificamos en los cuadros del mapa de Karnaugh b. Realizaremos grupos de estos unos

b. Realizaremos grupos de estos unos de tal manera que formemos grupos con número de elementos potencias de dos y que sean líneas horizontales, ó líneas verticales, ó que formen rectángulos, ejemplos

c. Seleccionamos el grupo o los grupos que mejor relacionen los unos del mapa de

c. Seleccionamos el grupo o los grupos que mejor relacionen los unos del mapa de Karnaugh, ejemplo

mejor relacionen los unos del mapa de Karnaugh, ejemplo d. Para cada uno de los grupos

d. Para cada uno de los grupos seleccionados determinamos qué variables sólo participan con uno sólo de sus estados (1 ó 0) y los seleccionamos con la misma representación como lo hacemos para los mintérminos, ejemplo

como lo hacemos para los mintérminos, ejemplo e. Ahora, como la representación inicial de las variables

e. Ahora, como la representación inicial de las variables en el mapa de Karnaugh era con mintérminos, y como los mintérminos son

empleados para la minimización por la forma canónima de suma de productos, estos dos resultados serán nuestra respuesta, la cual es la misma que nos dió en el punto 3

EJERCICIOS:

F

(

A B C

,

,

) =

C

+

A B

1). Investigue en qué consiste la convención de lógica positiva y lógica negativa?

2) Realice las siguientes operaciones

1+ 0 =

1+1 =

 

10 =

 

11 =

X

+ 0 =

Y +1 =

X

0 =

X

+ X =

Z

Z =

X

+

X

=

X

X

=

X

+ X Y = 0

Y (Y + X ) =

X

+ XY + Y =

 

3). Aplique el Teorema de Morgan:

a).

XY

+

CD Z

 

=

b).

(XY

+

ZW ) V

=

4). Obtenga las tablas de verdad de las siguientes expresiones:

F

=

X Y +

X Y Z

F = X Y + X Y

 

F

= X Y + X Y

F

=

XY Z

+

X Y Z

+

X YZ

5) Obtenga las suma y el producto canónico, el mapa de Karnaugh y la minimización de las expresiones de las siguientes tablas:

6) realice la minimización de las siguientes expresiones lógicas empleando los dos métodos de minimización

6) realice la minimización de las siguientes expresiones lógicas empleando los dos métodos de minimización y el mapa de Karnaugh:

F

a. =

A

C D + B CD +

A C D + BCD

 

b. = WX Z + W X YZ + XZ

F

 

F

c. =

(

X + Y

)

(

W + X + Y

)

(

W + X + Z

)

d. AB C D + A B C + ABD + ACD + BC D

7). Investigue cómo se trabajan los mapas de Karnaugh para cinco o más

variables.

8). Determine la expresión mínima de los siguientes mapas de Karnaugh

los mapas de Karnaugh para cinco o más variables. 8). Determine la expresión mínima de los

4. PRINCIPALES CIRCUITOS INTEGRADOS

Una de las principales aplicaciones de las compuertas lógicas en los circuitos digitales es como convertidores de códigos. Los códigos más usados son los binarios, BCD (8421), Octal, hexadecimal y el decimal. Como sabemos hasta ahora los circuitos digitales trabajan con “1” y “0”, pero las personas en la mayoría de los casos, no son capaces de manipular largas cadenas de “1” y “0”, por lo cual es necesario convertir la numeración binaria a la decimal o viceversa.

4.1 Decodificadores BCD a Decimal y BCD a Siete Segmentos El código BCD (de las siglas en inglés Binary Coded Decimal) se conoce como Decimal Codificado Binario, el cual codifica los dígitos 0 a 9 por sus

1001 . Los términos

del

representaciones binarias sin signo de 4 bits, del

0000

2

al

2

1010

2

al

1111

2 no son empleados.

El Código Siete Segmentos hace relación a los Display de Siete Segmentos, los cuales son segmentos formados por diodos emisores de luz, que son empleados para representar visualmente los números decimales y hexadecimales (Ver figura No. 15); cada uno de los segmentos que forman parte de un display tiene un carácter asociado (ver figura No. 16), de tal manera que cuando por ejemplo deseamos representar el número 2, debemos iluminar los segmentos a, b, g, c y d.

Figura No. 15 Display Siete Segmentos

, b , g , c y d . Figura No. 15 Display Siete Segmentos Figura

Figura No. 16 Asignación de letras a cada Segmento de un Display

, g , c y d . Figura No. 15 Display Siete Segmentos Figura No. 16

4.1.1

Definición

Codificador BCD a Decimal: Es aquel circuito lógico combinacional con cuatro entradas (las cuales se restringen a los códigos BCD) y diez salidas, las cuales representan cada uno de los diez dígitos decimales (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9).

Codificador BCD a Siete Segmentos: Es aquel circuito lógico combinacional con cuatro entradas (las cuales se restringen a los códigos BCD) y siete salidas, las cuales serán conectadas a un display siete segmentos para representar los correspondientes dígitos del código BCD de la entrada.

4.1.2 Circuito Básico de Funcionamiento

Codificador BCD a Decimal: La tabla de verdad relacionada con el comportamiento del codificador BCD a Decimal es la siguiente:

del codificador BCD a Decimal es la siguiente: En la tabla se puede apreciar que el

En la tabla se puede apreciar que el código BCD es el valor correspondiente a cada dígito en decimal con su valor en binario, por lo cual, cada posición binaria de la entrada ha sido asignada con las letras A, B, C y D, siendo esta asignación en orden ascendente a su correspondiente valor numérico. Ahora, se entiende que el sistema tiene diez salidas, las cuales corresponden a cada uno de los dígitos decimales según el correspondiente código binario en la entrada, y cada una de ellas se activará (estado en “1”) solamente cuando su respectivo código binario esté en la entrada del sistema. Por lo tanto, para analizar el esquema lógico a emplear, se puede pensar en la tabla como el resultado de condensar diez tablas con las mismas entradas, pero con cada una de las salidas correspondientes a cada uno de los dígitos decimales.

Podemos analizar cada una de las tablas por medio de mintérminos, de dónde sólo analizaremos los correspondientes a las salidas en “1”, de tal forma que tendremos las siguientes diez expresiones lógicas:

F

(D,C, B, A) = D

C

B

A

(Para el dígito cero)

F

(

,

D C

,

B

,

A

) =

D C

B A

(Para el dígito uno)

F

(D,C, B, A) = D

C B A

(Para el dígito dos)

F

(

,

D C

,

B

,

A

) =

D

C B A

(Para el dígito tres)

F

(D,C, B, A) = D

C B

A

(Para el dígito cuatro)

F

(

,

D C

,

B

,

A

) =

D C B A

(Para el dígito cinco)

F

(D,C, B, A) = D

C B A

(Para

el dígito seis)

F

(

,

D C

,

B

,

A

) =

D C B A

(Para el dígito siete)

F

(D,C, B, A) =

D C

B

A

(Para el dígito ocho)

F

(

,

D C

,

B

,

A

) =

D C

B A

(Para el dígito nueve)

De donde podemos obtener el diagrama lógico de la Figura No. 17.

Codificador BCD a Siete Segmentos: La tabla de verdad relacionada con un codificador BCD a Siete Segmentos es la siguiente, teniendo en cuenta que el segmento se iluminará cuando el estado de salida correspondiente sea “1”:

la siguiente, teniendo en cuenta que el segmento se iluminará cuando el estado de salida correspondiente

Figura No. 17 Circuito lógico para el conversor BCD a Decimal

No. 17 Circuito lógico para el conversor BCD a Decimal En la tabla anterior, usted podrá

En la tabla anterior, usted podrá notar que para los valores binarios del

2 el sistema tiene unas salidas activadas (segmentos), esas salidas a qué

información en conjunto corresponde?. Como ejercicio práctico, encuentre la mínima expresión lógica para cada una de las salidas (segmentos) y realice el circuito lógico correspondiente al conversor BCD – Siete Segmentos.

1010 al

2

1111

En la figura No. 18 podemos observar el circuito lógico empleado en el CI MC14511B, conversor BCD – Siete Segmentos, junto a la tabla de verdad y a la distribución de pines (cortesía de On semiconductor, www.onsemi.com)

Figura No. 18 Circuito lógico y Tabla de Verdad del CI MC14511B Conversor BCD – Siete Segmentos

Figura No. 18 Circuito lógico y Tabla de Verdad del CI MC14511B Conversor BCD – Siete

4.2 codificadores Los códigos son cadenas de n bits en las cuales la manera como se combinen sus estados pueden llegar a representar números o adquirir otros significados, ya tenemos el caso del código BCD, en el cual, por medio de 4 bits se representan los dígitos decimales.

4.2.1 Definición

Un codificador es aquel circuito lógico que hace la conversión de un código a

otro código; algunos de estos códigos son el GRAY; el código de Caracteres; los códigos para acciones, condiciones y estados (empleado en la comunicación del teclado con el PC); los códigos para detectar y corregir errores; códigos Bidimensionales; códigos para la transmisión y el almacenamiento de Datos en Serie (NRZI, BPRZ, AMI; etc.)

4.2.2 Circuito Básico de Funcionamiento

Otra forma de expresar dígitos decimales en binario es por medio del código 2421, el cual tiene la siguiente tabla de relación que a la vez puede ser la tabla de verdad:

de relación que a la vez puede ser la tabla de verdad: De donde podemos deducir

De donde podemos deducir las siguientes expresiones lógicas (los números presentes en las expresiones son las variables de las entradas):

2

F(0,1,2,3,4,5,6,7,8,9) = 5 + 6 + 7 + 8 + 9

4

F(0,1,2,3,4,5,6,7,8,9) = 4 + 6 + 7 + 8 + 9

2

F(0,1,2,3,4,5,6,7,8,9) = 2 + 3 + 5 + 8 + 9

1

F(0,1,2,3,4,5,6,7,8,9) = 1+ 3 + 5 + 7 + 9

Y cuyo circuito lógico es el indicado en la Figura No. 19.

Figura No. 19 circuito Lógico del conversor Decimal – 2421

Figura No. 19 circuito Lógico del conversor Decimal – 2421 4.3 Multiplexores En muchas situaciones de

4.3 Multiplexores En muchas situaciones de la vida nos hemos visto obligados a hacer fila y esperar nuestro turno, en algunos de esos casos, son varias las filas que esperan a que un solo funcionario sea el que les atienda, y en esos casos, el funcionario decide a cual de las filas empieza a atender. Una situación similar se presenta en los dispositivos electrónicos, por ejemplo un bus de transmisión de Datos, al que muchos dispositivos desean acceder pero deben esperar su turno para hacerlo.

4.3.1 Definición

Un multiplexor es un conmutador digital; es el encargado de encauzar datos de

una fuente entre n fuentes posibles, a una sola salida.

4.3.2 Circuito Básico de Funcionamiento

Realicemos un multiplexor de 4 entradas y una salida, en donde además se requiere indicarle al circuito cuál de las entradas se desea obtener en la salida, por lo tanto se requiere dos entradas adicionales para direccionar los datos deseados; a continuación podemos observar la tabla de verdad de este circuito. Por primera vez incorporamos en la tabla una “X” dentro de los estados lógicos, esta “X” indica que el estado de la variable que la tenga no interesa para el análisis en la respectiva salida:

En la tabla anterior, hemos empleado la designación de las entradas como D0 , D1

En la tabla anterior, hemos empleado la designación de las entradas como D0, D1, D2 y D3 haciendo referencia al término Datos; Las direcciones se han designado como A1 y A0 haciendo alu