Está en la página 1de 5

Universidad de Costa Rica

Sede del Pacífico Arnoldo Ferreto Segura


IF4000 Arquitectura de computadoras

Lógica combinacional

Los circuitos lógicos para sistemas digitales pueden ser combinacionales o secuenciales. Un circuito
combinacional consiste en compuertas lógicas cuyas salidas se determinan directamente en cualquier
momento de la combinación presente de entradas sin tener en cuenta las entradas anteriores. Un
circuito combinacional realiza una operación de procesamiento de información específica
completamente lógica por medio de un conjunto de funciones de Boole.

Los circuitos secuenciales usan elementos de memoria (celdas binarias), además de compuertas lógicas.
Sus salidas son una función de las entradas y del estado de los elementos de la memoria. El estado de
los elementos de la memoria, a su vez es una función de las entradas pasadas, y el comportamiento del
circuito debe especificarse por una secuencia de tiempos de las entradas y estados internos.

Circuitos combinacionales

Un circuito combinacional consiste en variables de entrada, compuertas lógicas y variables de salida.


Las compuertas lógicas aceptan señales en las entradas y generan señales en las salidas. Este proceso
transforma información binaria de datos de entrada dados a datos de salida requeridos.

n variables de . Circuito lógico . m variables de


entrada . combinacional . salida

Para n variables de entrada, hay 2n combinaciones posibles de valores de entrada binaria. Para cada
combinación de entrada posible hay una y sólo una combinación de salida posible. Un circuito
combinacional puede describirse por m funciones de Boole, una para cada variable de salida. Cada
función de salida se expresa en términos de n variables de entrada.

Procedimiento de diseño

1- Se enuncia el problema.
2- Se determina el número requerido de variables de entrada y el número requerido de variables de
salida.
3- Se le asignan letras a las variables de entrada y salida.
4- Se deduce la tabla de verdad que define las relaciones entre las entradas y las salidas.
5- Se obtiene la función de Boole simplificada para cada salida.
6- Se dibuja el diagrama lógico.

Una tabla de verdad para circuitos combinacionales consiste en columnas de entrada y columnas de
salida. Los unos y ceros en las columnas de entrada se obtienen de las 2n combinaciones binarias
disponibles para n variables de entrada. Los valores binarios para las salidas se determinan después de
un examen del problema enunciado. Una salida puede ser igual a 0 ó 1 para cada combinación válida
de entrada. Sin embargo, las especificaciones podrían indicar que algunas combinaciones de entrada no
ocurrirán. Esta combinaciones se convertirán en condiciones de no importa.

Sumadores

Circuito combinacional que realiza la operación aritmética de suma de dos dígitos binarios. Esta simple
adición consiste en cuatro operaciones elementales posibles: 0+0=0, 0+1=1, 1+0=1 y 1+1=10. Las
primeras tres operaciones producen una suma cuya longitud es de un dígito, pero, en el caso en que
ambos sumandos sean iguales a 1 la suma binaria consiste en dos dígitos. El bit más significativo de
este resultado se llama bit de arrastre (acarreo).

Cuando los números de los sumandos contienen más dígitos significativos, el bit de arrastre que se
obtiene de la suma de dos bits se agrega al siguiente par de bits significativos de mayor orden. Un
circuito que realiza la suma de dos bits se llama sumador medio. Aquel que realiza la suma de tres bits
(dos bits significativos más el bit de arrastre) es un sumados completo.

Sumador medio

Requiere dos entradas binarias y dos salidas binarias. Las variables de entrada designan los bits de los
sumandos, las variables de salida producen la suma y el bit de arrastre.

xy CS S=x'y+xy'
00 00
01 01 C=xy
10 01
11 10

Sumador completo

Un sumador completo es un circuito combinacional que forma la suma aritmética de tres bits de
entrada. Consiste en tres entrada y dos salidas. Dos de las entradas denotadas por x y y representan los
dos bits significativos que se suman. La tercera entrada z representa el bit de arrastre de la posición
previa menos significativa. Se necesitan dos salidas porque la suma aritmética de tres dígitos binarios
varía en valor de 0 a 3 y los binarios 2 ó 3 necesitan dos dígitos. Designamos la variable de salida S
para la suma y C para el bit de arrastre.

xyz CS S=x'y'z+x'yz'+xy'z'+xyz=z'(x'y+xy')+z(x'y'+xy)=
000 00 =z'(x'y+xy')+z(x'y+xy')'=
001 01 =z + (x + y)
010 01
011 10 C=xy+xz+yz = x'yz+xy'z+xy = z(x'y+xy')+xy = z(x + y) + xy
100 01
101 10
110 10 1 1 1
111 11
1 1 1 1 1
Sustractor medio

Resta dos bits y produce su diferencia. Tiene una salida que especifica si se ha prestado un 1. Se
designa el bit del minuendo con x y el bit del sustraendo con y. Para realizar x – y tenemos:
Si x>=y, has tres posibilidades: 0 – 0 = 0, 1 – 0 = 1, 1 – 1 = 0. El resultado es el bit de diferencia.
Si x < y, se tiene: 0 – 1 se hace necesario presta un 1 del siguiente estado mayor. El 1 prestado agrega 2
al bit del minuendo, y la diferencia se convierte en 2 – 1 = 1. El sustractor medio requiere dos salidas.
Una salida genera la diferencia y se designa como D. La segunda salida B genera la información de que
se ha prestado un 1.

xy BD D = x'y + xy'
00 00
01 11 B = x'y
10 01
11 00

Sustractor completo
Circuito que realiza una resta entre dos bits, considerando que se ha pedido
prestado un 1 de un estado menos significativo.
xyz BD x, y minuendo y sustraendo, z es el préstamo
000 00 Los unos y ceros para las variables de salida se determinan por la resta x – y – z.
001 11 Las combinaciones con z = 0, se reduce a las condiciones del sustractor medio.
010 11 Para
011 10 x=0, y=0, z=1: se presta 1 haciendo B=1, x=2, 2 – 0 – 1 = 1, D=1
100 01 x=0, y=1, z=1: se presta 1 haciendo B=1, x=2, 2 – 1 – 1 = 0, D= 0
101 00 x=1, y=0, z=1: x – y – z = 0, B=0, D=0
110 00 x=1, y=1, z=1: se presta 1 haciendo B=1, x=3, 3 – 1 – 1 = 1, D=1.
111 11

D=x'y'z+x'yz'+xy'z'+xyz 1 1 1 1 1
B=x'y+x'z++yz
1 1 1
Conversión entre códigos

Circuito que convierte un código binario A al código binario B. Permite hacer compatibles dos sistemas
que funcionan con códigos diferentes.

Ejemplo: diseñar un convertidor de código BDC a Código exceso 3.

Entrada Salida
BDC código exceso 3 Se requiere 4 variables para representar un
ABCD wxyz dígito decimal (dígitos de 0 a 9). Las
0000 0011 combinaciones binaria más allá del nueve
0001 0100 nunca ocurrirán por lo que son condiciones
0010 0101 de no importa.
0011 0110 Las funciones de salida son w, x, y, z. Para
0100 0111 cada una de esta funciones se simplifica
0101 1000 con un mapa de Karnaug de 4 variables.
0110 1001
0111 1010
1000 1011
1001 1100

CD CD
AB 00 01 11 10 AB 00 01 11 10
00 1 1 00 1 1

01 1 1 01 1 1

11 x x x x 11 X x x x

10 1 x x 10 1 x x

z= D' y=CD+C'D'

CD CD
AB 00 01 11 10 AB 00 01 11 10
00 1 1 1 00

01 1 01 1 1 1

11 X x x x 11 X x x x

10 1 x x 10 1 1 x x

x=B'C+B'D+BC'D' w=A+BC+BD
z=D'
y=CD+C'D'
x=B'C+B'D+BC'D' = B' (C+D) + BC'D'
w=A+BC+BD = A + B(C+D)

También podría gustarte