ARCHIVO ORIGINAL PERTENECE A: Juan González Gómez Versión 0.3.

7 Departamento de Electronica y Comunicaciones Octubre-2002 Universidad Pontifica de Salamanca en Madrid

Licencia
Se concede permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU (GNU Free Documentation License)

4.2. Puertas lógicas
En todas las ingenierías se utilizan planos que describen los diseños. En ellos aparecen dibujos, letras y símbolos. Mediante estos planos o esquemas, el Ingeniero representa el diseño que tiene en la cabeza y que quiere construir. En electrónica analógica se utilizan distintos símbolos para representar los diferentes componentes: Resistencias, condensadores, diodos, transistores... Algunos de estos símbolos se pueden ver en la figura 4.4. En electrónica digital se utilizan otros símbolos, los de las puertas lógicas, para representar las manipulaciones con los bits.

4.2.1. Puertas básicas
Puerta AND
A B A.B

Puede tener también mas de dos entradas. sin embargo puede tener más. La que se muestra en esta   figura tiene dos entradas. Puerta OR A B A+B Implementa la operación + del Algebra de Boole. Sólo con estos tres tipos de puertas se pueden implementar cualquier función booleana. Ejemplo: Analizar el siguiente circuito y obtener la expresión booleana de la salida: A B C F El circuito está constituido por dos puertas. Lo mismo ocurre con el resto de puertas lógicas que veremos a continuación. que es: £     £ ¢       ¢     y al Ejemplo: Obtener la expresión booleana de salida del siguiente circuito: . Puerta NOT (Inversor) A A Tiene sólo una entrada y realiza la operación de negación lógica. Esta puerta se conoce normalmente con el nombre de inversor.CAPÍTULO 4. A la salida de la puerta AND se tiene el producto de las tres variables de entrada atravesar el inversor se obtiene la expresión final de F. CIRCUITOS COMBINACIONALES Esta puerta implementa la operación del Algebra de Boole. una AND de tres entradas y un inversor.

4. Puerta NAND A B A.2. Otras puertas Con las puertas básicas podemos implementar cualquier función booleana. Las puertas NAND tienen una característica muy importante y es que sólo con ellas se puede implementar cualquier función booleana.B El nombre viene de la abreviación de NOT-AND. Sólo hay que aplicar las propiedades del Algebra de Boole a cualquier expresión booleana para dejarla de forma que sólo existan este tipo de operaciones.2. y la operación que realiza es la negación de un producto. como veremos en el apartado 4.2. dos inversores y una puerta OR. La expresión de F es:     ¢ £ £   §   4. PUERTAS LÓGICAS A B C F El circuito está constituido por dos puertas AND.3. Sin embargo existen otras puertas que se utilizan mucho en electrónica digital. Aplicando las leyes de DeMorgan vemos que la expresión a su salida es:   ¢ £ £ ¢   § Esta puerta también puede tener más de dos entradas.3 Puerta NOR A B A+B .

Aplicando las leyes de DeMorgan:   ¢ £ £ ¢ §   Lo mismo que con las puertas NAND. que se introduce en una de las entradas de la puerta NOR. definida en el apartado 3.CAPÍTULO 4. y por la otra B.3. Con independencia de lo que se introduzca por las entradas. CIRCUITOS COMBINACIONALES Es una puerta OR negada (NOT-OR). El resultado es:   ¢ £ ¢   § y aplicando las leyes de DeMorgan nos queda:   £ ¢ ¢ £ ¢ ¢ £           ¢ ¢ Es decir. Ejercicios Hacer el ejercicio 1.8 Ejemplo: Analizar el siguiente circuito y obtener la expresión booleana de la salida: A B F A la salida de la puerta NAND tenemos la expresión: £ ¢   . que es un circuito nulo. a su salida siempre se obtendrá ’0’. . con las puertas NOR se puede implementar cualquier función booleana (ver apartado 4.4) Puerta XOR A B A + B Es la puerta que implementa la operación ¡ .

La puerta lógica que representa la suma es la OR.3. En este apartado veremos el punto 4. Esto se denomina implementar una función. es decir. utilizando cualquier tipo de puertas lógicas:   0£ § ¢     § £     ¢   Se trata de implementar un circuito que tiene tres bits de entrada: A. que es A (es directamente una de las entradas). esta función se puede simplificar más. veremos cómo a partir de una función (que ya está simplificada) podemos obtener el circuito correspondiente. DISEÑO DE CIRCUITOS COMBINACIONALES físicamente el diseño.4. Hay que obtener esos tres términos independientemente. y lo podemos obtener con una puerta AND así:   ¢     . lo mejor es ver un ejemplo. y con cualquier número de entradas. Es decir.y . por lo que podemos dos: . 4. Y como siempre. Vemos que en la función hay tres términos que van suma. en el enunciado nos permiten utilizar cualquier tipo de puerta lógica. es el producto Uno ya lo tenemos. utilizando tecnología TTL. El término de B y . B y C y como salida se quiere obtener la función F indicada. Ejemplo 1: Implementar la siguiente función. ¿como?. Sólo hay que tomar la función que queremos implementar e ir sustituyendo las operaciones del Algebra de Boole por sus correspondientes puertas lógicas. o cómo la podemos modificar para utilizar un tipo determinado de puertas lógicas. pero vamos a ir poco a poco. Esto se estudia en el laboratorio de esta asignatura. Tampoco vamos a simplificar la función. Primero nos fijamos que no tenemos ninguna restricción. aunque ya hemos visto que siempre hay que simplificar!!! (y de hecho. Implementación de funciones con cualquier tipo de puertas El proceso es muy sencillo.3. porque lo que queremos es ver cómo implementarla. Se puede realizar de muchas formas.2. escribir:     ¢ ¢       £ £ A BC ABC F Ahora el problema es más sencillo. se deja como ejercicio).

por lo que usaremos una puerta AND de tres entradas:   ¢ £     A B C ABC y finalmente para obtener £ y ¢ usamos un par de inversores: A A B B y ahora unimos todas las pierzas para obtener el circuito final: C BA F .CAPÍTULO 4. que es el último que nos falta. nos fijamos que es un producto de tres elementos. CIRCUITOS COMBINACIONALES B C BC El término   lo obtenemos directamente a partir de un inversor: C C Para obtener el término .

.. por lo que no hay que hacer. ¡¡¡Pero es una pregunta que siempre nos tendremos que hacer!! ¿Está simplificada al máximo?. etc. Lo primero que se nos puede ocurrir es utilizar el método del ejemplo anterior. ¿Podemos implementar este circuito con menos puertas?. Teniendo en cuenta que existen otras puertas. XOR. Echemos un vistazo la función F. El circuito que obtenemos es el siguiente: A B C D F Hemos utilizo las siguientes puertas lógicas: 4 inversores 2 puertas AND de dos entradas 1 puerta OR de cuatro entradas La única restricción que nos han impuesto es utilizar el menor número posible de puertas lógicas.4.3. DISEÑO DE CIRCUITOS COMBINACIONALES 81 Ejemplo 2: Implementar la siguiente función.. vamos a realizar las siguientes operaciones: £ § ¢      £   ¢ ¤ §     ¤    ¡ ¤ . sustituyendo las operaciones del Algebra de Boole por puertas lógicas..    £ § ¢ §     ¤ §     ¤ En este caso nos dicen que la función está simplificada al máximo. como las NAND. También nos introducen una restricción: usar el menor número posible de puertas lógicas. utilizando el menor número posible de puertas lógicas de cualquier tipo. La función está simplificada al máximo.

B = A+B Implementación de una puerta NOT Si introducimos la misma variable booleana por las dos entradas de una NAND obtendremos lo siguiente: £ £    £ .3. AND. OR y XOR usando sólo puertas NAND. Ejercicios: Hacer el ejercicio 2 4. Una puerta NAND.3. Para refrescar ideas. implementaremos las puertas NOT. una XOR y una OR. CIRCUITOS COMBINACIONALES La expresión de F que nos queda es la siguiente:    £   ¢ §   ¡ ¤ y si ahora implementamos el circuito: A B C D F ¡¡Sólo hemos utilizado 3 puertas!!. Para ver cómo podemos hacer eso. a continuación se muestra una puerta NAND de dos entradas y las formas de expresar el resultado: A B A.82 CAPÍTULO 4. Implementación de funciones con puertas NAND Sólo con las puertas NAND es posible implementar cualquier función boolena. Para ello habrá que hacer transformaciones en la función original para obtener otra función equivalente pero que se pueda obtener sólo con puertas NAND. todas de dos entradas.

es decir. Aplicando proLa función que queremos implementar con puertas NAND es: piedades del Algebra de Boole. £ Implementación de una puerta AND Tenemos que diseñar un circuito con puertas NAND que implemente la función   £   ¢ .3. Lo que haremos será aplicar propiedades del Algebra de Boole a esta función hasta dejarla de forma que la podamos implementar directamente con puertas NAND.B A. es una puerta NAND aplicada a y : £ . DISEÑO DE CIRCUITOS COMBINACIONALES Gráficamente: A A. obtenemos a la salida su complementario .4. Como ya sabemos como negar utilizando una puerta NAND. Podemos hacer lo siguiente:   0£   ¢ La expresión se implementa con una puerta NAND y la expresión será por tanto la negación de la NAND.A = A Tenemos un circuito por el que si introducimos una variable A. el circuito ¢ ¢     £ £ ¢ £ resultante es: A B A. esta expresión la convertimos en la siguiente: ¢   £ §   ¢ £ § ¢ £ § ¢ £   ¢ que es el negado de un producto de dos términos.B Implementación de una puerta OR . se comporta exactamente igual que un inversor. es decir.

Fijémonos en que la £ &§ £ . CIRCUITOS COMBINACIONALES A A A.B F A.B = A+B B B Implementación de una puerta XOR La función a implementar con puertas NAND es: modificarla de la siguiente manera:   £ ¡ ¢ £   ¢ § £   ¢ . A B A B A. ¡¡Y expresión es la suma de dos términos negados.B F A. que tiene la forma de: §  © §  © esto es una puerta NAND!!. Podemos   £   ¢ § £   ¢ £   ¢ § £   ¢   £ ¢¡ §   £ £¡ ¢ ¢     No nos dejemos asustar por aparente complejidad de esta expresión. que lo podemos poner de la siguienet manera: A. El circuito nos queda así: Y lo mismo le ocurre al término ¢   ¢   £ £ §  ©   £ §  © . es decir.B Y finalmente hay que obtener £ y ¢ utilizando inversores con puertas NAND: . puesto que es del tipo £ .B El término tiene también la forma de una puerta NAND.CAPÍTULO 4.

B Ya tenemos implementada la función XOR sólo con puertasn NAND. Como el enunciado no nos pone ninguna restricción. La función está simplificada al máximo:    £   ¢     § £   ¢     Tendremos que aplicar la propiedades del Algebra de Boole para dejar esta expresión de forma que la podamos implementar con puertas NAND.B 85 A A. podremos usar puertas NAND con el número de entradas que queramos.4. DISEÑO DE CIRCUITOS COMBINACIONALES A B F A B B A.3. Una puerta NAND de tres entradas puede realizar las siguientes operaciones: £ § © £ § © £ § ©      £ § © § £ § © § £ § © Si aplicamos una doble negación a F y luego aplicamos sucesivamente las leyes de DeMorgan (o el teorema de Shannon):    £   ¢     § £   ¢      "£ § ¢ §   # "£ § ¢   §   # Esta función es inmediata implementarla con puertas NAND: . Ejemplo 1: Implementar la siguiente función utilizando únicamente puertas NAND.

obtenemos: # #     ¢ £ £ £ ¢   ¢ £   ¢       §     " § §   " § § que tiene la forma das: £ £ §  ©   §  © y que se implementa fácilmente con una NAND de dos entra- A+B+C A+B+C F El problema ahora es cómo implementar los términos £   ¢ § § y £   ¢ § § . sin embargo. ahora tenemos la restricción de que sólo podemos usar puertas NAND de dos entradas. Se puede escribir también de la siguiente forma (aplicando el “truco” de la doble negación): #     ¢ £ £ ¢ § §   "   que se implementa de la siguiente forma: . CIRCUITOS COMBINACIONALES A B F C Ejemplo 2: Implementar la siguiente función utilizando sólo puertas NAND de 2 entradas:     ¢ £   ¢ £     §     Es la misma función que la del apartado anterior. Si hacemos la misma transformación que antes. Vamos con el primero de ellos.CAPÍTULO 4.

con las puertas NOR se puede implementar cualquier función booleana. Recordemos que las expresiones a las salidas de las puertas NOR son: A B A+B = A. DISEÑO DE CIRCUITOS COMBINACIONALES A BC 87 A+B+C El otro término lo podemos implementar de forma similar: AB C A+B+C y ahora juntando todas las piezas e implementando lo que falta: A B F C Ejercicios: Hacer el ejercicio x 4.4. Implementación de funciones con puertas NOR Lo mismo que con las puertas NAND.3. Vamos a ver cómo se pueden implementar el resto de puertas lógicas.B .3.4.

Lo que nos queda es: A B A+B A+B Implementación de una puerta AND La función a implementar es:   £ ¢   . que ya sabemos cómo implementarlo con puertas NOR. que podemos utilizar una puerta NOR y luego un inversor. Si introducimos la misma variable por las dos entradas. Podemos realizar las siguientes modificaciones para que pueda ser implementada con puertas NOR:   £ ¢ ¢ £   £ ¡ ¢   ¡       Y el circuito quedaría así: A A A. obtenemos la variable negada: A A+A = A Implementación de una puerta OR La función a implementar es: manera:   £ ¢ § .CAPÍTULO 4. CIRCUITOS COMBINACIONALES Implementación de una puerta NOT Se hace de la misma manera que con las puertas NAND. Esta expresión la podemos poner de la siguente   £ ¢ ¢   £ ¡ § § es decir.B B B .

DISEÑO DE CIRCUITOS COMBINACIONALES Implementación de una puerta XOR La función a implementar es:   ¢ £ £ ¢   §   .3. teniendo en cuanta que los podemos reescribir de esta forma: # ¢ £ £        £¡ ¢ ¢ £     ¡ £   # ¢  Gráficamente: A B A B A.B F A continuación implementamos £ ¢   y £ ¢   . y que está negada: £ ¢ £   ¢   y A.B Uniendo “todas las piezas”.4. el circuito final que nos queda es: . Primero vemos que hay una puerta NOR cuyas entradas son .B+A. Haciendo las siguientes modificaciones:     ¢ £ ¢ ¢ £ £ ¢ £   §     §     £ ¢   ¡ §   £ ¢   ¡¢¡ y de la misma manera que hemos hecho con las puertas NAND.B A.B A. vamos a ir implementando esta función poco a poco.B A.

Sin embargo los alumnos inquietos pueden utilizarlo de base para introducirse en el mundo de la robótica y de la electrónica digital práctica. Nosotros diseñaremos nuestro propio cerebro digital.B F A.4. El lector no interesado puede saltar directamente al apartado 4. Este robot se comercializa bajo el nombre de Tritt.B B A A. El objetivo es que el alumno vea cómo todo lo aprendido hasta ahora se puede aplicar. junto a un disquete. CIRCUITOS COMBINACIONALES A. En la figura 4. Obviamente no construiremos el robot entero. .8 se muestra el microbot Tritt.1. Este apartado es opcional.B Hemos implementado la puerta XOR sólo con puertas NOR.B+A. Aplicación: Diseño de un controlador para un robot seguidor de línea 4.90 A B CAPÍTULO 4. que tiene una estructura mecánica hecha con piezas de Lego. Sin embargo utiliza un microcontrolador 6811 para implementar el “cerebro”. Partiremos de un robot ya existente. para que el robot siga una línea negra. para hacerse una idea de las dimensiones que tiene.6. dos motores. esto nos llevaría más tiempo :-).4. y obtener también algo de intuición sobre el tipo de circuitos digitales que se pueden diseñar. Introducción En este apartado diseñaremos un circuito digital que gobierne el comportamiento de un robot seguidor de línea. dos sensores para detectar el color negro sobre un fondo plano y la electrónica necesaria para controlar los motores y leer los sensores. para ver cómo se puede hacer un proyecto real. Ejercicios: Hacer el ejercicio x 4.

4. Ejercicios Ejercicio 1: Obtener las expresiones booleanas de las salidas de los siguientes circuitos (no hay que simplificar ni operar estas expresiones): Circuito 1: A B C F D Circuito 2: A B C D E F Circuito 3: A B C D E F Ejercicio 2: Implementar las siguientes función. 1.   £ ¢   § ¢     Ejercicio 2a: Implementar sólo con puertas NAND Ejercicio 2b: Implementar sólo con puertas NOR Ejercicio x: Dada la función   0£   ¢ § £     : 1.7. Implementar con cualquier tipo de puertas lógicas . utilizando cualquier tipo de puertas lógicas. sabiendo que todas las funciones están simplificadas al máximo.

Sign up to vote on this title
UsefulNot useful