Você está na página 1de 9

LOGICA COMBINACIONAL

Se denomina sistema combinacional o lógica combinacional a todo sistema


digital en el que sus salidas son función exclusiva del valor de sus entradas en un
momento dado, sin que intervengan en ningún caso estados anteriores de las
entradas o de las salidas. Las funciones (OR, AND, NAND, XOR) son booleanas
donde cada función se puede representar en una tabla de la verdad. Por tanto,
carecen de memoria y de realimentación.
En electrónica digital la lógica combinacional está formada por ecuaciones
simples a partir de las operaciones básicas del álgebra de Boole. Entre los
circuitos combinacionales clásicos tenemos:

Lógicos:
Generador/Detector de paridad
Multiplexor y Demultiplexor
Codificador y Decodificador
Conversor de código
Comparador

Aritméticos:
Sumador
Aritméticos y lógicos
Unidad aritmético lógica

Éstos circuitos están compuestos únicamente por puertas lógicas


interconectadas entre sí.

FUNCIONES COMBINACIONALES

Todos los circuitos combinacionales pueden representarse empleando álgebra de


Boole a partir de su función lógica, generando de forma matemática el
funcionamiento del sistema combinacional. De este modo, cada señal de entrada
es una variable de la ecuación lógica de salida. Por ejemplo, un sistema
combinacional compuesto exclusivamente por una puerta AND tendría dos
entradas A y B. Su función combinacional seria , para una puerta
OR sería . Estas operaciones se pueden combinar formando
funciones más complejas. Así, el siguiente esquema se define por la función
indicada debajo del mismo.
LOGICA COMBINACIONAL

Definición
Un circuito combinacional consiste en:
- variables de entrada,
- compurtas lógicas y
- variables de salida

circuito
entrada lógico salida
combinacio

PROCEDIMIENTO DE DISEÑO

1. ENUNCIADO DEL PROBLEMA

2. DETERMINAR NUMERO DE VARIABLES DE E/S

3. ASIGNAR LETRAS A LAS VARIABLES

4. TABLA DE VERDAD
5. FUNCION DE BOOLE
6. DIAGRAMA LOGICO

SUMADOR MEDIO

1. PROBLEMA: circuito que elabore suma entre dos bits.

2. VARIABLES DE ENTRADA 2
VARIABLES DE SALIDA 2

3. VARIABLES DE ENTRADA: x, y
VARIABLES DE SALIDA : C, S
4. TABLA DE VERDAD

x y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

5. FUNCIONES DE BOOLE
a. S = xy' + x'y C = xy
b. S = (x+y)(x'+y') C = xy
c. S = (C + x'y')' C = (x'+y')'
d. S = x⊕y C = xy

6. DIAGRAMAS LOGICOS

X
Y

S
X
Y

X
Y C
SUMADOR COMPLETO

1. PROBLEMA: SUMAR TRES BITS (ACARREO)

2. VARABLES DE ENTRADA 3
VARIABLES DE SALIDA 2

3. VARIABLES DE ENTRADA: x, y, z
VARIABLES DE SALIDA : C, S

4. TABLA DE VERDAD

x y z C S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 1
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

5. FUNCIONES DE BOOLE

6. DIAGRAMAS LOGICOS
SUSTRACTOR MEDIO

1. PROBLEMA: circuito que elabore una resta entre dos bits.

2. VARIABLES DE ENTRADA 2
VARIABLES DE SALIDA 2

3. VARIABLES DE ENTRADA: x, y
VARIABLES DE SALIDA : C, D

4. TABLA DE VERDAD

x y C D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0

5. a. D = xy' + x'y C = x'y

6. DIAGRAMAS LOGICOS
SUSTRACTOR COMPLETO

1. PROBLEMA: RESTAR TRES BITS (ACARREO)

2. VARABLES DE ENTRADA 3
VARIABLES DE SALIDA 2

3. VARIABLES DE ENTRADA: x, y, z
VARIABLES DE SALIDA : C, S

4. TABLA DE VERDAD

x y z C S
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

5. FUNCIONES DE BOOLE.

S = x'y'z + x'yz' + xy'z' + xyz C=?

6. DIAGRAMAS LOGICOS.
CIRCUITOS COMBINACIONALES

Un circuito combinacional es un sistema que contiene operaciones booleanas básicas


(AND, OR, NOT), algunas entradas y un juego de salidas, como cada salida
corresponde a una función lógica individual, un circuito combinacional a menudo
implementa varias funciones booleanas diferentes, es muy importante recordar éste
hecho, cada salida representa una función booleana diferente.
Un ejemplo común de un circuito combinacional es el decodificador de siete
segmentos, se trata de un circuito que acepta cuatro entradas y determina cuál de los
siete segmentos se deben iluminar para representar la respectiva entrada, de acuerdo
con lo dicho en el párrafo anterior, se deben implementar siete funciones de salida
diferentes, una para cada segmento. Las cuatro entradas para cada una de éstas
funciones booleanas son los cuatro bits de un número binario en el rango de 0 a 9.
Sea D el bit de alto orden de éste número y A el bit de bajo orden, cada función lógica
debe producir un uno (para el segmento encendido) para una entrada dada si tal
segmento en particular debe ser iluminado, por ejemplo, el segmento e debe
iluminarse para los valores 0000, 0010, 0110 y 1000. En la siguiente tabla se puede
ver qué segmentos deben iluminarse de acuerdo al valor de entrada, tenga en cuenta
que sólo se están representando valores en el rango de 0 a 9, los decodificadores para
las pantallas de siete segmentos comerciales tienen capacidad para desplegar valores
adicionales que corresponden a las letras A a la F para representaciones
hexadecimales, sin embargo la mecánica para iluminar los respectivos segmentos es
similar a la aquí representada para los valores numéricos.

0 a b c d e f
1 b c
2 a b d e g
3 a b c d g
4 b c f g
5 a c d f g
6 c d e f g
7 a b c
8 a b c d e f g
9 a b c f g

Los circuitos combinacionales son la base de muchos componentes en un sistema de


cómputo básico, se puede construir circuitos para sumar, restar, comparar, multiplicar,
dividir y muchas otras aplicaciones más.

CIRCUITOS SECUENCIALES

Un problema con la lógica secuencial es su falta de "memoria". En teoría, todas las


funciones de salida en un circuito combinacional dependen del estado actual de los
valores de entrada, cualquier cambio en los valores de entrada se refleja (después de
un intervalo de tiempo llamado retardo de propagación) en las salidas.
Desafortunadamente las computadoras requieren de la habilidad para "recordar" el
resultado de cálculos pasados. Éste es el dominio de la lógica secuencial. Una celda
de memoria es un circuito electrónico que recuerda un valor de entrada después que
dicho valor ha desaparecido. La unidad de memoria más básica es el flip-flop
Set/Reset. Aunque recordar un bit sencillo es importante, la mayoría de los sistemas
de cómputo requieren recordar un grupo de bits, ésto se logra combinando varios flip-
flop en paralelo, una conexión de éste tipo recibe el nombre de registro. A partir de
aquí es posible implementar diferentes circuitos como registros de corrimiento y
contadores, éstos últimos también los conocemos como circuitos de reloj. Con los
elementos mencionados es posible construir un microprocesador completo.

RELACIÓN ENTRE LA LÓGICA COMBINACIONAL Y SECUENCIAL CON LA


PROGRAMACIÓN

En ésta lección hemos dado una repasada muy básica a los elementos que forman la
base de los modernos sistemas de cómputo, en la sección dedicada al diseño
electrónico estudiaremos a profundidad los conceptos aquí presentados, pero para
aquellos que están más interesados en el aspecto programático podemos decir que
con los elementos vistos en ésta lección es posible implementar máquinas de estado,
sin embargo la moraleja de ésta lección es muy importante: cualquier algoritmo que
podamos implementar en software, lo podemos a su vez implementar directamente en
hardware. Ésto sugiere que la lógica booleana es la base computacional en los
modernos sistemas de cómputo actuales. Cualquier programa que Usted escriba,
independientemente del lenguaje que utilice, sea éste de alto ó bajo nivel, se puede
especificar como una secuencia de ecuaciones booleanas.
Un hecho igualmente interesante es el punto de vista opuesto, es posible implementar
cualquier función de hardware directamente en software, en la actualidad ésta es la
función principal del lenguaje ensamblador y otros con capacidad de trabajar
directamente en hardware, como el C y el C++. Las consecuencias de éste fenómeno
apenas se están explotando, se infiere la existencia de un futuro muy prometedor para
el profesional de la programación, especialmente aquellos dedicados a los sistemas
incrustados (embedded systems), los microcontroladores y los profesionales
dedicados a la Programación Orientada a Objetos. Para tener éxito en éstos campos
de la investigación es fundamental comprender las funciones booleanas y la manera
de implementarlas en software. Aún y cuando Usted no desee trabajar en hardware,
es importante conocer las funciones booleanas ya que muchos lenguajes de alto nivel
procesan expresiones booleanas, como es el caso de los enunciados if-then ó los
bucles while.

UNIVERSALIDAD DE LAS COMPUERTAS NAND Y NOR

Esta compuertas se dicen que son "universales" puesto que con cada una de las dos
familias podemos realizar todas las funciones lógicas.
En la tabla a continuación se muestran los operadores lógicos en función de solo
compuertas NOR y solo compuertas NAND.
NAND NOR

SUMADORES BASICOS

Sumadores. Estas operaciones se realizan mediante un circuito lógico (compuesto de


puertas lógicas) denominado semisumador
Permite sumar dos bits sin tener en cuenta los acarreos provenientes de la adición de
bits anteriores.
Un semisumador admite dos dígitos binarios en sus entradas y genera dos dígitos
binarios en sus salidas: un bit de suma y un bit de acarreo, visto anteriormente.

SUMADOR COMPLETO

Un sumador completo es la suma de 2 bits de entrada y el bit de acarreo de entrada.


A partir del semisumador, sabemos que la suma de los 2 bits de entrada A y B
consiste en la operación OR-exclusiva (XOR) entre esas dos variables A ⊕ B. Para la
suma del acarreo de entrada (Cin) a los bits de entrada, hay que volver a aplicar la
operación OR-EXCLUSIVA (XOR), obteniendose la siguiente ecuación de salida:
Suma = (A⊕B) ⊕Cin
El acarreo de salida es 1 cuando las 2 entradas de la primera puerta XOR son 1, o
cuneado las dos entradas de la segunda puerta XOR son 1, por lo tanto:
Cout= A B + (A⊕B) Cin
Nota: esta function, una vez implementada, se combina con la de suma logica para
constituir un circuito sumador completo.

VER REFERENCIA

Você também pode gostar