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

GUIAS NICAS DE LABORATORIO

LGICA DE CONTROL

AUTOR: ALBERTO CUERVO

SANTIAGO DE CALI
UNIVERSIDAD SANTIAGO DE CALI
DEPARTAMENTO DE LABORATORIOS

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
LOGICA DE CONTROL

Introduccin
El proceso de diseo lgico es una tarea compleja. La mayor creatividad en el diseo de
sistemas digitales lo constituye el proceso de formulacin del algoritmo adecuado
expresado mediante un flujograma para describir la operacin del sistema digital.
En el presente artculo se describe un sistema digital que multiplica dos nmeros
binarios por el mtodo de sumas sucesivas, el cual puede ser fcilmente implementado
en el laboratorio de la Universidad Santiago de Cali.

Se utiliza el mtodo de un flip-flop por estado para implementar el circuito secuencial


de la unidad de control del sistema. El diseo se efecta tanto con flip-flops tipo D como
JK.

Generalidades
La informacin binaria encontrada en un sistema digital puede estar constituda por
datos o informacin de control y estado. Los datos son elementos discretos de
informacin que se manipulan por microoperaciones elementales como sumar,
incrementar, etc., en el procesador de datos del sistema bajo el mando y supervisin de
la unidad de control. La informacin de control suministra las seales de mando
adecuadas para especificar la secuencia en que se deben ir ejecutando las
microoperaciones en el procesador de acuerdo con el algoritmo establecido.

La informacin de estado son seales generadas por el procesador de datos hacia la


unidad de control para indicarle a esta ltima el estado en que se encuentra el
procesador de datos del sistema. La unidad de control chequea estas seales de estado y
de acuerdo al valor que tengan las mismas toma la decisin de cul es la siguiente
microoperacin que debe ordenar ejecutar.

En la figura 1 se observa el diagrama funcional general de un sistema digital para el


procesamiento de informacin. En el mismo se puede observar que a la unidad de
control llegan tanto las seales de estado como tambin seales externas al sistema que
igualmente condicionan la siguiente microoperacin que debe ser ejecutada.

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
Datos de
entrada

Seales de control
Seales de entrada
externas UNIDAD
PROCESADOR
DE
DE
CONTROL DATOS

Seales de estado

Datos de
salida

Figura 1. Sistema digital formado por la unidad de control y el procesador de datos

De acuerdo con lo anterior, las preguntas en el flujograma del sistema digital se


identifican con una seal de entrada externa o una seal de estado. Estas seales
determinan por tanto el estado siguiente que tendr la unidad de control en su diagrama
de estados y por consiguiente las microoperaciones que sern ejecutadas.

Planteamiento del problema


Se desea multiplicar dos nmeros binarios sin signos de cuatro bits empleando el mtodo
de sumas sucesivas. Estos nmeros son obtenidos mediante teclados en el sistema. La
unidad de control debe implementarse tanto con flip-flops tipo D como con flip-flops JK.
El producto, que se supondr no tiene ms de cuatro bits, deber quedar almacenado en
un registro de 4 bits denominado A.

Deber existir una seal que se denominar "multiplicar" que ser obtenida de un
pulsador la cual ser utilizada para dar la orden que comience la operacin de
multiplicacin. Esto es, cuando multiplicar=1, el sistema deber comenzar el proceso de
multiplicacin. Una vez concluya dicho proceso, el sistema deber iluminar un LED para
indicar que el resultado de la multiplicacin se encuentra disponible en la salida del
procesador de datos.

Se debe utilizar el mtodo de un flip-flop/estado en la implementacin del circuito de la


unidad de control del sistema. Se debe utilizar una frecuencia relativamente lenta de 1
Hz para los pulsos de reloj para poder ir visualizando las distintas microoperaciones que

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
va realizando secuencialmente el sistema, as como las transiciones que ocurren entre
los estados del mismo.

Flujograma

ALTO
Iluminar LED

No
Multiplicar=1?

S
INICIO
A 0
C multiplicador

S
C=0?
Cz=1
No Cz=0

SUMA
A A+B
C C-1

Figura 2. Flujograma del sistema digital

En la figura 2 se muestra el flujograma del sistema para realizar la multiplicacin por


sumas sucesivas de acuerdo a lo planteado anteriormente.

El sistema se encuentra detenido iluminando al LED mientras la seal de multiplicar no


tenga el valor 1. Tan pronto se presione el pulsador, el sistema inicialmente ejecutar
las microoperaciones de almacenar el multiplicador colocado en un teclado en el
registro C y borrar el registro de 4 bits A que ser utilizado para dejar almacenado el
producto.

A continuacin se pregunta si el contenido del registro C, el multiplicador, es igual a


cero. Si la respuesta es afirmativa se termina la operacin, pus el producto es cero. En

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
caso contrario se suma el multiplicando (B) tantas veces como sea el valor almacenado
inicialmente en el registro C, dejando almacenadas las sucesivas sumas en el registro A.
Cuando el contenido del registro C se haga 0 al irse decrementando sucesivamente, el
sistema vuelve a iluminar al LED indicando que termin de efectuar la operacin de
multiplicacin y el resultado se encuentra almacenado en el registro A.

De acuerdo con este flujograma, se realizan dos preguntas que correspondern a seales
que entrarn a la unidad de control: la seal de entrada externa "multiplicar"
proveniente del pulsador para ordenar comenzar el proceso de multiplicacin y una
seal de estado Cz proveniente del procesador de datos que le indicar a la unidad de
control que el contenido de su registro C = 0. Esto es, si Cz = 1 entonces el contenido
del registro C es 0 (0000). Por el contrario, Cz = 0 indica que el contenido del registro C
es diferente a 0.

De acuerdo con lo anterior, el diagrama funcional del sistema tendr la apariencia que
se muestra en la figura 3.

Diagrama de estados.
Cada rectngulo del flujograma se puede asociar con un estado del sistema en el cual se
efectan una o ms microoperaciones, pudindose construir as a partir de este
flujograma el diagrama de estados que se muestra en la figura 4. Los estados del sistema
se han denominado respectivamente ALTO, INICIO y SUMA.

datos de entrada

teclado teclado

multiplicando B
multiplicador

seales
de Reg C
pulsador control

multiplicar UNIDAD
DE PROCESADOR
CONTROL DE
DATOS

seal de
estado Cz
Reg A

Datos de salida
(producto)

Figura 3. Diagrama funcional del sistema de multiplicacin


DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
Cz=1

ALTO INICIO SUMA


multiplicar=1 Cz=0

multiplicar=0 Cz=0

Cz=1

Figura 4. Diagrama de estados

En este diagama de estados se puede observar lo siguiente:


1. Del estado de ALTO se produce una transicin con el pulso de reloj que ocurra en
este estado condicionada por la seal "multiplicar". Si multiplicar = 1 se pasa al
estado de Inicio, y si multiplicar = 0 el sistema permanece en el estado de ALTO.
2. En el estado de Inicio similarmente el cambio de estado estar condicionado por la
seal de estado Cz. Si Cz = 1 se pasa al estado de ALTO y si Cz = 0 se pasa al estado
de SUMA.
3. Finalmente del estado de SUMA se pasa al estado de ALTO si Cz = 1 y permanece en
el estado de SUMA si Cz = 0.

Las microoperaciones que se deben ejecutar en cada uno de los estados del sistema
sern las siguientes:

ALTO : iluminar el LED (light emitting diode)


INICIO : A 0, C multiplicador
SUMA : A A + B, C C 1

Mtodo de un flip-flop por estado.


En el mtodo de un flip-flop/estado se utiliza un flip-flop en la unidad de control para
representar un estado del sistema digital.
De esta forma, como el diagrama de estados tiene tres estados, la unidad de control
estar compuesta por tres flip-flops que se nombrarn igualmente ALTO, INICIO y SUMA
respectivamente.
Uno slo de estos tres flip-flops se encontrar en el estado 1 de acuerdo al estado en
que se encuentre el sistema digital. As por ejemplo si el sistema se encuentra en el
estado de INICIO, cada uno de los flip-flops tendrn los estados siguientes:

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
Flip-flop..............Estado
ALTO.......................0
INICIO.....................1
SUMA......................0

Diseo de la Unidad de Control


El siguiente paso en el proceso de diseo del sistema digital planteado ser encontrar el
circuito de la unidad de control del mismo.
Para esto se encuentran las funciones de excitacin de los flip-flops a partir del
diagrama de estados.
Flip-flop tipo D. Teniendo en cuenta que en un flip-flop tipo D, ste toma el estado que
tenga su entrada de excitacin D con la ocurrencia de un pulso de reloj, se podrn
plantear las siguientes funciones para cada uno de los flip-flops observando el diagrama
de estados.
Dalto = multiplicar . ALTO + Cz . INICIO + Cz . SUMA
Dinicio = multiplicar . ALTO
Dsuma = Cz . INICIO + Cz . SUMA

As por ejemplo, en el diagrama de estados se observa que cuando ocurra un pulso de


reloj el sistema debe pasar al estado de SUMA cuando se cumplan dos condiciones: que
se encuentre en el estado de INICIO y Cz = 0 o que se encuentre en el estado de SUMA y
Cz = 0, de ah que la funcin de excitacin de este flip-flop sea la planteada
anteriormente, etc.

Flip-flop JK. Un flip-flop JK tiene dos entradas de excitacin: J y K. Para encontrar las
funciones de excitacin de estos flip-flops se deben tener en cuenta los siguientes
aspectos:

1. Cuando el estado presente del flip-flop sea 0, no importa el valor que tenga su
entrada K. Si se desea que el flip-flop permanezca en el estado 0, la J debe tener el
estado 0. De lo contrario si se desea que el flip-flop experimente una transicin de 0
a 1 con un pulso de reloj la J debe tener un 1 aplicado.
2. Cuando el estado presente del flip-flop sea 1 no importa el valor que tenga su
entrada J. Si se desea que permanezca en el estado 1 la K debe ser 0. De lo contrario
si se desea que experimente una transicin de 1 a 0 la K debe tener aplicado un 1.
Lo anterior se resume en la tabla de excitacin siguiente para un flip-flop JK, donde Qn
y Qn+1 representan el estado antes y despus de la ocurrencia de un pulso de reloj.
Qn Qn+1 J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
De acuerdo a lo anterior, se pueden plantear las siguientes funciones de excitacin para
los flip-flops JK de acuerdo al diagrama de estados elaborado.
Jalto = Cz . INICIO + Cz . SUMA Kalto = multiplicar
Jinicio = multiplicar . ALTO Kinicio = INICIO
Jsuma = Cz . INICIO Ksuma = Cz

Por ejemplo, si se analiza el estado de ALTO se observa que este flip-flop debe
experimentar una transicin de 0 a 1 cuando INICIO = 1 y Cz = 1 o cuando SUMA = 1 y Cz
= 1. Por consiguiente la J de este flip-flop, Jalto, debe ser igual a 1 cuando se den estas
condiciones.
Similarmente el flip-flop de ALTO debe experimentar una transicin de 1 a 0 cuando el
sistema salga de este estado, esto es cuando se de la condicin de que la seal de
multiplicar sea igual a 1, etc.

Circuito de la unidad de control

De acuerdo con las funciones de excitacin de los flip-flops anteriormente obtenidas, se


puede elaborar el circuito de la unidad de control.

La figura 5 muestra el circuito de la unidad de control elaborado con flip-flops tipo D y


la figura 6 lo muestra con flip-flops JK.

En estas figuras se observa que existen dos entradas : la seal del pulsador "multiplicar"
y la seal de estado Cz proveniente del procesador de datos.

De forma similar existiran tres seales de control que irn al procesador de datos las
cuales se relacionan a continuacin:

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
D ALTO D INICIO D SUMA

ALTO INICIO SUMA


pulsos
Preset Clear Clear
de
reloj

multiplicar

Cz
+5v
R 4.7
Kohmios
C
10 microfaradios

seales de control al procesador de datos

Figura 5. Unidad de control con flip-flops tipo D

1. La seal encargada de iluminar al LED. Como el LED se debe iluminar cuando el


circuito se encuentre en el estado de ALTO, esta seal de control ser la salida del
correspondiente flip-flop.
2. Mientras el circuito se encuentre en el estado de INICIO se debe borrar el registro A y
cargar al multiplicador en el registro C. Por tanto la segunda seal de control que
sale de esta unidad ser INICIO, pus como se ver posteriormente el registro A se
borra y el registro C almacena un dato presente en su entrada con un 0 aplicado a la
entrada respectiva.
3. Mientras el circuito se encuentre en el estado de SUMA, se debe decrementar en 1 el
registro C y almacenar la informacin de la suma de A y B en el registro A. Por tanto
la tercera seal de control ser la salida del correspondiente flip-flop para permitir
que se efecten estas microoperaciones en el procesador de datos.

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
+5v

J ALTO J INICIO J SUMA


R

C INICIO
K Preset K Clear K Clear

pulsos de reloj

Cz

multiplicar

seales de control
Figura 6. Unidad de control con flip-flops JK

Procesador de Datos.
Analizando el flujograma se puede observar que en el registro C se deben efectuar dos
microoperaciones diferentes: decremento y almacenamiento o carga de un dato
presente en su entrada. De acuerdo con esto se puede utilizar el circuito integrado
CTRDIV16 como se muestra en la figura 7, el cual consiste de un contador binario de 4
bits con carga en paralelo, cuyas caractersticas principales se describen a continuacin.
CTRDIV16 : contador binario de 4 bits para conteo creciente y decreciente.
CT=0 : entrada asincrnica, la cual al aplicrsele un 1 el contador es llevado a 0.
2+/G1 : entrada de pulsos para conteo creciente sensible al flanco positivo.
1-/G2 : entrada de pulsos para conteo decreciente sensible al flanco positivo.
C3 : entrada asincrnica de carga la cual se activa con 0
1CT=15 : al alcanzarse el nmero 15 (1111) esta salida cambia a 0 cuando la entrada
de pulsos para conteo creciente sea 0
2CT=0 : al alcanzarse el nmero 0 (0000), el contador lo indica colocando un 0 en
esta salida cuando la entrada de pulsos para conteo decreciente se haga 0.

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
CT=0 S0
2+ 1CT=15 S1
G1 C4
1- 2CT=0
1 /2
G2
C3 R

3D 1,4D
3,4D
3,4D
salidas
3,4D
bit de
mayor 3,4D
orden 2,4D
Contador binario CTRDIV16 Registro de desplazamiento SRG4

Figura 7. Elementos utilizados para los registros C y A

Similarmente, para el registro A que finalmente debe tener almacenado el producto al


final de la operacin se seleccion el registro de desplazamiento de 4 bits con carga en
paralelo SRG4 que se muestra igualmente en la figura 7. Las principales caractersticas
de este registro son las siguientes:

SRG4 : Registro de desplazamiento bidireccional de 4 bits con modo paralelo y


posibilidad de desplazamiento derecha/izquierda. Sensible al flanco positivo de los
pulsos.
R: : entrada asincrnica de borrado, se activa con 0
C4/1/2 : entrada de pulsos de reloj para desplazamiento derecha/izquierda y cargar
datos en paralelo segn el modo operativo
1,4D : entrada para desplazamiento a la derecha
2,4D : entrada para desplazamiento a la izquierda.
3,4D : entrada de datos en paralelo

MODO S1 S0 Funcin
0 0 0 Sin funcin, no opera
1 0 1 Desplazamiento a la derecha
2 1 0 Desplazamiento a la izquierda
3 1 1 Carga de datos en paralelo

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
El circuito del procesador de datos del sistema se muestra en la figura 8 donde se
pueden

bit ms
significativo dato de
seales entrada seal de
de control multiplicando B estado Cz

ALTO

INICIO
LED
SUMA

SRG4 CTRDIV16
0
1 S0
S1 1
C4 S
1 /2 2 0 1-
R U G2
3 1 C3
M
3,4D 0 A 2
3D
3,4D 1 D 3
O
3,4D 2
R
3,4D 3
CI CO

pulsos bit ms
de reloj multiplicador
bit ms significativo
significativo dato de dato de
salida entrada

Figura 8 Circuito del procesador de datos

destacar los siguientes aspectos:


1. Como la suma A+B se debe almacenar en el registro A se utiliza un sumador de 4 bits
que tiene aplicado en sus entradas la salida del registro A y el multiplicando B de uno
de los teclados. La salida del sumador que tiene la suma se aplica a la entrada en
paralelo del registro A
2. Como la salida del sumador se debe almacenar en el estado de SUMA, se coloca al
registro A (SRG4) en el modo de carga en paralelo y se aplican pulsos de reloj a la
entrada C4/1/2 solamente cuando SUMA =1.
3. El registro A debe ser borrado en el estado de INICIO. Como la entrada asincrnica R
que borra a este registro se activa con 0, entonces se aplica la seal de INICIO a la
entrada del registro SRG4.

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
4. El multiplicador se debe almacenar en C (contador CTRDIV16) en el estado de INICIO.
Por tanto la salida del teclado que genera al multiplicador se aplica a la entrada en
paralelo de este contador y la seal INICIO se aplica a la entrada C3 la cual se
activa con 0.
5. El contador SRG4 debe ser decrementado en el estado de SUMA, por lo que se
aplican pulsos de reloj a la entrada 1-/G2 solamente cuando SUMA =1.
6. El LED debe iluminarse solamente cuando el sistema se encuentre en el estado de
ALTO, por lo que la salida de este flip-flop se lleva a iluminar al mismo.
7. De acuerdo con el anlisis anterior, al procesador de datos entrarn tres seales de
control provenientes de la unidad de control: INICIO, SUMA y ALTO.
8. La seal de estado Cz que va del procesador de datos hacia la unidad de control es
obtenida de la salida de una compuerta NOR la cual tiene como entrada los cuatro
bits del registro C (CTRDIV16). De esta forma Cz = 1 solamente cuando C = 0 (0000).
9.
Finalmente se debe observar que al conectarse la energa debe imponerse al sistema un
estado inicial en el cual un solo flip-flop de la unidad de control quede en el estado 1.
Esto se puede efectuar con una red RC (resistencia.condensador) como se muestra en las
figuras 5 y 6 de la unidad de control. Con esta red RC se coloca al sistema inicialmente
en el estado de ALTO al conectarse la fuente de alimentacin de +5 voltios. Como el
mdulo DIGI BOARD2 no permite fcilmente efectuar lo anterior, el estado de ALTO debe
ser impuesto inicialmente de forma manual utilizando las entradas asincrnicas de los
flip-flops clear y preset de puesta a 0 y 1 respectivamente.

Anlisis en el tiempo.
Para un mejor entendimiento de la operacin del sistema, en la figura 9 se han dibujado
los pulsos de reloj al sistema, las seales de control INICIO, SUMA y ALTO, la seal
externa de entrada de multiplicar, los valores que van tomando secuencialmente en el
tiempo los registros A y C y la seal aplicada a las entradas C4/1/2 y 1-/G2 de los
registros A (SRG4) y C (CTRDIV16) respectivamente.
En la elaboracin de esta figura se supuso que el multiplicando B es igual al nmero 3 y
el multiplicador es el nmero 2.

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
Como se puede observar, el sistema termina quedndose en el estado de ALTO con el
nmero 6 almacenado en el registro A (SRG4).

Conclusiones

pulsos
de reloj

seal de seal del


multiplicar pulsador

ALTO

INICIO

SUMA

C4/1 /2 de SRG4 y
1-/G2 de CTRDIV16

dato en el
A=0 A=3 A=6
registro A

dato en el
registro C C=2 C=1 C=0

Figura 9. Principales seales en el tiempo y contenidos de A y C

El sistema digital descrito en el presente artculo utiliza un algoritmo de sumas sucesivas


para obtener el producto de dos nmeros binarios.

Este algoritmo es relativamente lento, aunque es utilizable en aquellas aplicaciones


donde la velocidad no sea un factor prioritario.

Se deja al lector buscar algoritmos de multiplicacin ms rpidos y disear los sistemas


digitales apropiados utilizando los mismos.

Bibliografa
1. Vctor P. Nelson, H. Troy Nagle, Bill D. Carroll y J. David Irwin, "Anlisis y Diseo de
Circuitos Lgicos Digitales", Prentice-Hall Hispanoamericana, S.A., 1996
2. System Technik, "MODULO DIGI BOARD2 Descripcin Tcnica"
3. M. Morris Mano, "Lgica Digital y Diseo de Computadores", Editorial Dossat S.A.,
1982

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL
4. J.F. Wakerly, "Digital Design Principles and Practices", 2 ed., Englewood Cliffs, NJ:
Prentice-Hall, 1984

DDEEPPAARRTTAAMMEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS


GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE LLOOGGIICCAA DDEE CCOONNTTRROOLL

Вам также может понравиться