Está en la página 1de 24

INFORME PRCTICA II: TANQUES Y MULTIPLICADOR

GINA MARCELA CRUZ


RICARDO ANDRES VEJARANO

PRESENTADO A:
ING. FERNANDO A. URBANO M.

CIRCUITOS DIGITALES I
INGENIERA ELECTRNICA Y TELECOMUNICACIONES
FIET
UNIVERSIDAD DEL CAUCA
2014

2. RESUMEN
El presente informe presenta en anlisis, diseo y construccin de cada circuito (control de
tanques y multiplicador), cada uno teniendo en cuenta sus respectivos requerimientos y
usando los temas aprendidos en la segunda parte del curso Digitales I, como los Mdulos
Combinacionales y los Circuitos Secuenciales, con el fin de facilitar los procesos.
3. TABLA DE CONTENIDO
2. RESUMEN..........................................................................................................................
3 TABLA DE CONTENIDO.................................................................................................
4. INTRODUCCIN..............................................................................................................
5. Marco terico...........................................................................................................
5.1 Mdulos combinacionales........................................................................................
5.1.1 Multiplexor......................................................................................................
5.1.2 Decodificador.................................................................................................
5.1.3 Codificador..................................................................................................
5.2 Sumador Completo - FA.............................................................................................
5.3 Circuitos Secuenciales................................................................................................
5.3.1 Flip - Flop Tipo D...........................................................................................
5.3.2 Registro.......................................................................................................
6. OBJETIVOS......................................................................................................................
7. DISCUSIN DE RESULTADOS...................................................................................
7.1 Control de Tanques......................................................................................................
7.2 Multiplicador secuencial de 8 Bits.............................................................................
8. CONCLUSIONES......................................................................................................
9. REFERENCIAS............................................................................................................

4. INTRODUCCIN
Para la implementacin, desarrollo y obtencin de resultados adems de realizar los
circuitos y sus respectivos bloques funcionales se da paso al uso del display de siete
segmentos, hecho en la primera prctica de este curso, he incluso se usan las dos lneas de
seleccin de dicho display (BCD HEXADECIMAL), en el primer punto, con cdigo BCD
y en el segundo como HEXADECIMAL, puesto que los nmeros a mostrar son bastante
grandes.
Esta prctica consta de dos puntos en especfico que se describirn a profundidad ms
adelante en este mismo documento, el primero de ellos, a groso modo, consiste en un
sistema de sensores puestos en dos tanques de agua, cada uno con siete niveles. En l,
debemos disear un circuito que nos muestre la diferencia de niveles de agua entre los
tanques y adems el nmero del nivel menor entre ellos. Para el segundo punto, el
requerimiento fue disear un multiplicador secuencial de ocho bits.
5. MARCO TERICO
Para la realizacin de esta prctica es importante, tener en cuenta que se tienen que tener
conceptos claros, vistos en la clase de Circuitos Digitales l, para esto es necesario afianzar
un poco la temtica [1].

5.1 Mdulos combinacionales


Los mdulos combinacionales bsicos MSI son bloques funcionales que realizan una tarea
especfica, y pueden implementar funciones booleanas. MSI (Medium Size of Integration)
con un nmero de compuertas entre 10 y 100.
Existen varios circuitos como:
Multiplexores
Decodificadores
Codificadores
Demultiplexores
Sumadores
5.1.1MULTIPLEXORES
Funciona como un circuito selector de datos. Dirige la informacin digital procedente de
diversas fuentes a una nica lnea de salida, por medio de lneas de seleccin.

Figura 1. Multiplexor.
5.1.2 DECODIFICADORES
Detecta un cdigo en la entrada e indica la presencia de este cdigo mediante un cierto nivel
de salida.
Dentro de sus aplicaciones estn:
Codificar datos
Convertir cdigo
Direccionar datos
Implementar funciones lgicas

Figura 2. Decodificador.
5.1.3CODIFICADOR
Un codificador realiza la funcin inversa al Decodificador, asigna un cdigo nico de salida
a cada seal de entrada. El nmero de entradas es mayor que el de salidas.
Existen cuna clase de Codificadores llamados Codificadores de Prioridad que son los
encargados de asignar un orden (prioridad) a las entradas. En caso de que ms de una
entrada sea uno (1), el cdigo de salida corresponder a la entrada con mas alta prioridad.

Figura 3. Codificador

5.2 SUMADOR COMPLETO


[2]Este circuito presente en la segunda parte de la practica (Multiplicador) se construy
teniendo en cuenta el modelo que presenta M. Morris Mano en la Tercera Edicin de su
libro Diseo Digital , en el captulo 4 Lgica Combinacional visto el clase.

Cou
A
B Cin
t
S
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Tabla 1. Sumador Completo

En la Tabla 1, las salidas S y Cout corresponden al resultado de la suma y el acarreo


respectivamente, con lo cual se construye el circuito de la Figura 4 apoyado de la siguiente
algebra Booleana:

S=C X Y + C X Y +CXY +C X Y
Y
X Y +X
S=C (X Y + X Y )+C
S=C (X XNOR Y )+C( X XOR Y )
S=C XOR X XOR Y

Cout= XY +CY +CX

Figura 4

5.3CIRCUITOS SECUENCIALES
5.3.1FLIP FLOP TIPO D
Un biestable, es un multivibrador capaz de permanecer en uno de dos estados posibles
durante un tiempo indefinido en ausencia de perturbaciones. Latch con habilitacin (CLK
Reloj) modificada para reducir el efecto de interferencias que puedan afectar los datos
almacenados.
La modificacin consiste en agregar un circuito de deteccin de flanco de subida o de
bajada que produzco un pulso de corta duracin.

Figura 5. Flip - Flop tipo D

Figura 6. Diagrama de tiempos Flip Flop tipo D


5.3.2 REGISTRO
Un registro es un conjunto de n Latch o Flip Flops asociados que permiten almacenar
temporalmente un grupo de n bits. En la siguiente figura, ilustraremos un ejemplo de
manera muy sencilla con FF tipo D.

Figura 7. Ejemplo de un registro con Flip-Flops tipo D

6. OBJETIVOS

Disear los respectivos circuitos teniendo en cuenta sus respectivos requerimientos.


Manejar adecuadamente Quartus II y verificar el correcto funcionamiento de los
diseos tanto en las simulaciones como en la tarjeta Altera DE0.
Investigar, conocer y comprender diseos propuestos por distintos autores e
implementarlos para poder llevar a cabo la implementacin del segundo
requerimiento de esta prctica.

7. DISCUCIN DE RESULTADOS
7.3 CONTROL DE TANQUES
Se tienen dos tanques de agua y se requiere mantener un control del nivel de agua del que
est ms vaco, y la diferencia de nivel respecto al mayor (en valor absoluto). Para conocer
el nivel, cada depsito tiene 7 sensores distribuidos a lo alto del tanque. Cada sensor dar un
'1' lgico si est cubierto de agua, y un '0' lgico si est al aire. Se deben utilizar dos
displays de 7 segmentos, uno para indicar el nivel del ms vaco, y otro para indicar la
diferencia. Como se tienen 7 sensores para conocer el nivel, el rango de valores va desde 0 a
7. Se asume que ningn sensor va a fallar, por lo tanto, si un sensor indica un '1' lgico,
todos los sensores que estn debajo de l darn un '1' lgico (debido a que el agua los
cubrir tambin).
Para empezar con el diseo, el primer paso es codificar las seales de entrada que provienen
de los sensores, donde se tiene 7 seales, como el rango va de 0 a 7 se puede codificar en 3
bits. Haciendo uso de un codificador con prioridad de 8 a 3 para cada tanque.
Teniendo en cuenta el requerimiento de que si un sensor est activo sus inferiores deben
estarlo se llega a la siguiente tabla de verdad:

Debido a la aclaracin que se hizo el da del laboratorio, decidimos observar la tabla de


verdad de un circuito codificador de prioridad, que es la siguiente:

En este caso el codificador de prioridad tiene entradas y salidas activas en bajo y se puede
observar que cumple con el requerimiento puesto que todos los sensores bajo la diagonal
principal del cuadro de las entradas estn en 1 lgico (H). A continuacin, la
implementacin:

Posteriormente se procede a hacer la simulacin en Altera U.P Simulator, obteniendo:

En la simulacin de uno de los codificadores de prioridad de 7 a 3 se puede apreciar que se


tienen las entradas activas en alto tal y como salen despus de por el decodificador, sin
embargo se aprecia que las salidas estn activas en bajo (negadas) teniendo en cuenta la
tabla de verdad del codificador de prioridad anteriormente presentada, un ejemplo de esto es
: la entrada 0000000 que tiene como salida 111 que negada es 000 tal y como se muestra en
la tabla de verdad del codificador donde entrada es XXXXXXXL (L=LOW=0) y tiene
como salida LLL que negado es HHH (H =HIGH) = 111 lo que verifica el correcto
funcionamiento.

Bloque funcional

Comparador
Despus de tener codificadas las seales de entrada de cada uno de los tanques se crea un
comparador de 3 bits, el cual compara bit a bit desde el ms significativo al menos
significativo, este circuito lo creamos puesto que para el anlisis que se hizo, es necesario
conocer cuando el numero A es mayor, menor o igual al nmero B.
En un comparador de 3 bits Es necesario tener en cuenta para cada caso lo siguiente:
Iguales cada uno de sus bits:
A=B
Se recorren todos los bits de A y B desde el ms significativo hasta que A sea 1 y B sea 0.
A>B

Recorremos todos los bits de A y B desde el ms significativo hasta que A sea 0 y B sea 1.
A<B
Recorremos todos los bits de A y B desde el ms significativo hasta que A sea 0 y B sea 1.
Teniendo en cuenta los anteriores aspectos para cada comparacin se tiene las siguientes
expresiones booleanas
Siendo A = A2, A1,A0 Y B = B2, B1,B0

A=B

A>B

A<B

A continuacin, mostraremos el circuito comparador:

Bloque funcional:

Despus de haber comparado los dos nmeros que nos da cada nivel del tanque, hacemos
uso de 3 multiplexores 2 a 1 (Disponibles en Quartus ll de Altera) que nos permiten
seleccionar uno de los datos que entran, en nuestro caso seleccionan los bits del nmero
menor, con una lnea selectora que se une a una de las respuestas del comparador, en este
caso a la opcin A>B, si es 1 solo escoge los bits del menor , en caso contrario escogera los
del otro nmero.

Con este anlisis, ya tenemos la mitad del primer requerimiento, puesto que estamos
mostrando en el primer display, el nmero menor de nivel entre los dos tanques.

BLOQUE FUNCIONAL

En la entrada I0 se coloca el bit del tanque B y en la entrada I1 el bit del tanque A y para
seleccionar en la entrada SEL se coloca lo que arroje el comparador en la salida A>B, de la
siguiente manera:

Ahora necesitamos enfrentarnos al problema de efectuar la resta, para esto al disear el


restador se tuvo presente el circuito de un sumador restador, que tiene una lnea selectora y
3 full-adder, teniendo en cuenta que si la lnea selectora es cero suma y si es 1 resta, por esta
razn se coloca siempre en 1, adems de eso se crea una lnea habilitadora que permite
anular el resultado convirtindolo todo en cero, esto es necesario en la implementacin de
nuestro circuito para facilitar la operacin de la resta entre dos nmeros, para ello se usan
dos bloques funcionales de este tipo para realizar la operacin A-B si A>B, o B-A si A<b;
para esto se conecta a la lnea habilitadora a una de las salidas del comparador , en nuestro
caso a la salida de A<B, por lo tanto al bloque de A-B entra negada y al bloque de B-A entra
en 1, y de esta forma anula la operacin que no se necesita y permitiendo mostrar el valor
absoluto de la resta. Es decir, al final de hacer el procedimiento que acabamos de describir,
tendremos un resultado como el siguiente:

Para la construccin de los Full-adder:

Posteriormente se realiz la implementacin del full adder, para esto se realiz


algebra booleana para encontrar la mnima expresin de CarryOut y Sum:

CarryOut= AB+CARRYLN B+CARRYLN A

CARRYLN A B+CARRYLN A B+CARRYLN A B+CARRYLN A B


Su m=CARRYLN ( A B+ A B)+CARRYLN /( A B+ A B)

CARRYLN (A XNOR B)+CARRYLN /( A XOR B)


CARRYLN XOR A XOR B

Teniendo las mnimas expresiones para CarryOut= Cout y Sum = S ya se puede


hacer la implementacin:

Ahora, haciendo una simulacin general, vamos a tener u resultado como el que sigue:

En la simulacin se puede observar como variables de entradas al tanque 1 y el tanque 2,


tambin como salidas se observa al nivel menor entre los dos tanques y la diferencia entre
los niveles, en la parte inferior. Para verificar el funcionamiento del control de nivel de agua
se realizarn los siguientes ejemplos que se pueden verificar en la simulacin:

Nivel tanque 1 = 6 y nivel de tanque 2 = 3 :


6 3 = 3 110 - 011 = 011; Nivel menor = 3 011
Nivel tanque 1 = 6 y nivel de tanque 2 =7 :
6 7 = 1 110 -111 = 001 (con magnitud); Nivel menor = 6 110
Nivel tanque 1 = 5 y nivel de tanque 2 = 0:
5 - 0 = 5 101 -000 = 101; Nivel menor =0000

Por tanto queda comprobado el correcto funcionamiento del control de nivel de


agua.

7.2
REQUERIMIENTO II
MULTIPLICADOR DE 8 BITS

Existen varias maneras de implementar la multiplicacin en un circuito,


investigue, disee e implemente en la tarjeta Altera DE0, un multiplicador
secuencial de 8 bits utilizando sumadores completos. Fundamente su
seleccin mediante un artculo o libro debidamente referenciado y colquelo
como anexo a su informe. La no presentacin del artculo o el libro,
automticamente anular el punto por completo (prctica, sustentacin,
diseo e informe). No se aceptarn como referencias, pginas Web.

Con el fin de realizar la multiplicacin de dos nmeros binarios cada uno de 8 bits
se procede a aplicar el algoritmo cuya base son las sumatorias y desplazamientos
a la derecha.
El algoritmo bsicamente consiste en realizar una serie de sumas parciales y
desplazamientos iterativamente que sirve de referencia para la siguiente iteracin ,
cabe destacar que la ultima suma efectuada ser el resultado final de la
multiplicacin terminando el algoritmo.
A continuacin se muestra paso a paso el funcionamiento de la multiplicacin
secuencial tomando para ello , el ejemplo de dos nmeros binarios a y b ,de cuatro
bits cada uno .

El primer paso a realizar consiste en darle un valor inicial al resultado parcial


compuesto por 8 bits , para ellos los primeros 4 bits se les asignan ceros mientras
los ltimos cuatro son los bits que forman el numero b.
Como se puede observar , el numero b tiene dos posibilidades :
Si el bit menos significativo que compone el numero b es 1 , se sumara el numero
a al resultado parcial compuesto por 8 bits y se situan en las primeras 4
posiciones de este , finalizando esta operacin se obtendrn 9 bits , donde el mas
signitificativo es considerado el bit de acarreo de la suma parcial.

El segundo caso , es cuando el bit menos signitificativo del numero b es cero : se


le sumara 0000 a los 4 primeros bits que componen los 8 bits del resultado, puesto
que la multiplicacion sin importar el multiplicando siempre arrojara como resultado
cero siempre y el bit a multiplicar del multiplicador tenga el valor de cero, cabe
mensionar que en la suma parcial no se obtendr un bit extra , puesto que la suma
no generara un acarreo, pero se tendr en cuenta como si fuese un noveno bit
cuyo valor es cero y se situa a la izquierda el numero compuesto por 8 bits para el
resultado de las sumas parciales.
Por ultimo lo que se hace es realizar el desplazamiento hacia la derecha de un bit
de los 9 que compone el resultado ,esto hace que se pierda el bit menos
significativo del numero b a operar, obteniendo el numero de 8 bits requerido ,
claro esta , dicho valor se obtendr siempre y cuento se haya realizado la
operacin 4 veces respectivamente.

Con base a la explicacin previamente vista acerca del algoritmo de la


multiplicacion , se procede a ejercerla pero ya estableciendo los 8 bits que en el
caso anterior conforman el numero a y los 8 bits que componen el numero b.
Realizando la analoga con el caso de los nmeros de 4 bits cada uno , se observa
que se requiere :

Un registro de un bit : puesto que es el encargado de guardar el acarreo de


la suma , es decir se considerara el 17avo bit que compone el resultado
total,

Dos registros de desplazamiento , cada uno conformado con 8 bits , los


cuales se encargaran de almacenar el resultado final de la operacin
Finalmente los 3 registros permitiran el desplzamiento del bit menos
significativo del numero b.

Adicionamente se requiere un registro de 8 bits , el cual se encargara de


almacenar el numero a , y un sumador de 8 bits encargado de realizar las sumas
parciales nombradas en el algoritmo.
Finalmente , se hace uso de un contador modulo 8 , que me permita contar el
numero de iteraciones que se realizan en el desarrollo de la multiplicacion.

Ahora se proceder a realizar los respectivos circuitos segn los componentes


necesarios para realizar la multiplicacion de 2 numeros de 8 bits cada uno.
Lo primero a realizar son los dos registros de desplazamiento de 8 bits cada uno.

Este registro se encargara de almacenar los primeros 8 ceros enunciados durante


el algoritmo.

El segundo registro es el encargado de contener el numero b , el cual se ira


desplzando segn sea el numero de iteraciones del proceso

A continuacin se solicita un cortador de modulo 8 , con el fin de llevar una cuenta


respecto al numero re repeticiones que se hara la operacin , como los nmeros
son compuestos por 8 bits , se necesitaran 8 iteraciones para completar la
operacin en su totalidad.
Para realizar el contador propuesto , se requiere inicialmente hacer la tabla de
estados con el fin de conocer el estado siguiente de cada uno de los Flip Flops.
Para la implementacin de este se tomaron Flip Flops tipo D y compuertas lgicas.

A continuacin se muestra la tabla de verdad del contador mdulo 8

ESTADO ACTUAL

ESTADO SIGUIENTE

Q2

Q1

Q0

D2

D1

D0

Con el fin de encontrar las funciones de entrada de cada Flip Flop tipo D , se hizo
uso de los mapas de kernaugh , como se observa a continuacin:

MAPAS DE KERNAUGH
Para D2
00

01

11

10

Q1Q0
Q2
0

D 2=Q 2 Q 1+Q2 Q 0+ Q 2Q 1 Q0
0 )+ Q2(Q

D 2=Q 2 ( Q 1Q
1 Q0)
D 2=Q 2 ( Q 1Q 0 )

Para D1
00

01

11

10

Q1Q0
Q2
0

Q 0+Q 1 Q 0
D1=Q1

D1=Q1 Q 0

Para D0
00

01

11

10

Q1Q0
Q2
0

+ Q 0Q 1
D 0=Q 1 QO
D 0=Q 0(Q 1+ Q 1)
D 0=Q 0

Teniendo las funciones de cada uno de los Flip Flops se procede a implementar el
circuito requerido, como se observa en la siguiente figura.

Circuito contador mdulo 8 en el software libre TyniCAD

Posteriormente se presenta a simulacin realizada en Altera U.P Simulator

Como se puede observar en la simulacin el contador comienza en su estado


inicial es decir en 000 y va hasta 111 que en nmero decimal es el 7 , pero debido
a que el contador tiene su inicio en el valor cero , cuenta 8 iteracin hasta
reiniciarse , que es lo que se requiere para realizar las 8 multiplicacin componente
a componente de los dos nmeros binarios a multiplicar.

Teniendo tanto el contador como los registros de desplazamiento del resultado y


del numero multiplicando se procede a realizar el sumador de 8 bits , para ello se
tom como base un sumador completo (Full adder) es decir que tiene como
entradas dos nmeros (A, B ) de un bit y como variable as significativa un acarreo
de entrada (CIN) , mientras la salida corresponde al valor de la suma y un acarreo
de salida (COUT)

La tabla de verdad para la implementacin del Full adder se presenta a


continuacin:

9. REFERENCIAS
[1] Urbano M., Fernando A. Notas de clase. Circuitos Digitales I. Departamento de
Telemtica, FIET. Ingeniera Electrnica y Telecomunicaciones. Universidad del Cauca.
Popayn, Colombia. Noviembre de 2014.
[2] M. Morris Mano. Diseo Digital. Tercera Edicion. California State University, Los
Angeles. PEARSON EDUCACION Mexico(2003).
Disponible en internet
http://personales.unican.es/manzanom/Planantiguo/EDigitalI/CompG4_09.pd
f

También podría gustarte