top of page

Laboratorio 10: Construyendo un camino de datos - Latch SR y los bloques de memoria.

Juan David Combita Murcia, 20181007017

Electrónica Digital

Grupo 743

Universidad Distrital Francisco José


Introducción:


Cuando se quiere hablar de circuitos digitales mas potentes (como microprocesadores de propósito general o dedicados) el termino camino de datos es bastante usado, básicamente se compone de una unidad aritméticológica y bloques de memoria.[2]


I. Objetivos:


Objetivo general:


Implementar un camino de datos básico de 6 bits con elementos de memoria, selector de operación y visualización dinámica.


Objetivos específicos:


1) Implementar la tabla de verdad del circuito 74SL185 mediante la herramienta Combinational Analysis del simulador.

2) Construir el decodificador de BCD a 7 segmentos utilizando compuertas NAND y NOR.

3) Mostrar el funcionamiento del sumador/restador de 6 bits utilizando un display para el signo y el resto para el resultado.

4) Construir los bloques de memoria programables.

5) Implementar un comparador de 6 bits.

6) Conectar los circuitos de tal manera que los datos de entrada al sumador y al comparador sean los datos de los bloques de memoria.

7) Visualizar a partir de la técnica de visualización dinámica los datos guardados en los bloques de memoria y la salida del sumador/restador.


II. Recursos:


1) Simulador CircuitVerse http://circuitverse.org/


III. Marco teórico:


biestables:


Los dispositivos biestables se dividen en dos categorías: flipflops y latches. Los biestables poseen dos estados estables, denominados SET (activación) y RESET (desactivación), en los cuales se pueden mantener indefinidamente, lo que les hace muy útiles como dispositivos de almacenamiento. La diferencia básica entre latches y flip-flops es la manera en que cambian de un estado a otro. Los flip-flops son los bloques básicos de construcción de los contadores, registros y otros circuitos de control secuencial, y se emplean también en ciertos tipos de memorias. El multivibrador monoestable, normalmente denominado monoestable, tiene un único estado estable. Un monoestable genera un único impulso de anchura controlada cuando se activa o dispara. El multivibrador aestable no tiene ningún estado estable y se emplea principalmente como oscilador, es decir, como generador de señales automantenido. Los osciladores de impulsos se emplean como fuentes de señales de temporización en los sistemas digitales.[1]


El latch S-R (SET-RESET):


Básicamente el Latch SR es un elemento de memoria que permite almacenar un bit de información. en la figura 1, se puede observar el circuito implementado con compuertas NOR y su tabla de verdad, de tal menear que se observa que cuando S y R son 0, no se presenta cambio en el Latch, sin embargo, cuando S o R son 1 se presentan cambio en Qa y Qb, ademas de poder garantizar que cuando ambos son 1, ambas salidas quedan en 0. En la misma figura se puede observar su tabla de verdad, ademas se puede modifica las entradas R y S agregándoles compuertas AND a ambas para hacer un pin de habilitación.[2]

Figura 1. Circuito de Latch SR con compuertas NOR y tabla de verdad.


Dispositivo 74SL185:


Este dispositivo provee la conversión de números en BCD a binario y viceversa de cualquier cantidad de bits, haciendo uso de uno o mas de este dispositivo. Su tabla de verdad es la siguiente:

Figura 2. Tabla de verdad dispositivo 74SL185.

Figura 3. Conversor de 6 bits en binario a BCD

Figura 4. Conversor de 8 bits en binario a BCD


IV. Simulaciones y análisis de resultados:


Para realizar el ejercicio propuesto para la practica numero 10, se realizo una copia en el simulador CircuitVerse de la practica numero 9, ya que gran parte de estos circuitos serán nuevamente utilizados en el desarrollo de esta practica, a excepción del main (el cual sera re-diseñado) y el sumador/restador, teniendo en cuenta el esquema propuesto por el docente:

También se añadió el contador propuesto por el monitor, para manipular el multiplexor implementado en la visualización dinámica del resultado.


Con el objetivo de realizar el dispositivo 74SL185 se implemento la tabla de verdad de la figura 2, omitiendo las salidas 7 y 8, ya que no serán utilizadas en la practica, en el simulador, con la herramienta Combinational Analysis, que nos permite agregar una tabla de verdad y esta nos creara el circuito resultante. Se realizo hasta la salida 5 y la sexta se realizo manualmente ya que el simulador tiene un limite de dimensiones, por lo cual no genera el circuito con tanta información. Esta ultima se realizo teniendo en cuenta como varia esta en función de las salidas E y D.


A partir de este se realizo el decodificador de Binario a BCD de 8 bits, haciendo uso de 3 74SL185, que nos permitirá pasar el resultado de sumar o restar 2 números de 6 bits, el cual puede tener un resultado máximo de 7 bits, esto tal como se muestra en la figura 4. Los números ingresados de 6 bits se pasar de binario a BCD utilizando únicamente el dispositivo 74SL185, como se observa en la figura 3.


Luego se implemento el decodificador BCD a 7 segmento de la practica numero 7, cambiando sus compuertas por compuertas NAND y NOR, para hacer la visualización de los operandos y su resultado.


Haciendo uso de 4 Latch SR se realizo una memoria de 2 bits para 2 datos, con el respectivo Enable, y con este, se realizo la memoria de 6 bits para 2 datos con Enable, con el objetivo de memorizar los datos de entrada, teniendo en cuenta una entrada para cambiar de dato (de A a B y viceversa) y 5 para asignar el valor en binario.


Para la visualización de cada cada numero, se implementaron 2 display, que, implementando la visualización dinámica se encenderán y apagaran de manera alterna mediante una señal de reloj a una frecuencia lo suficientemente alta para lograr la impresión de que ambos están encendidos simultáneamente, por lo que se requiere del diseño de un multiplexor de 8 a 4 que me alterne entre BCD de unidades y BCD de decenas. De manera similar para el resultado se realiza un multiplexor de 16 a 4, el cual como parámetro adicional recibe centenas, que puede ser un posible caso en la suma de 2 números de 6 bits.


Ademas de esto, como lo hicimos en la practica numero 7, se requiere de 2 decodificadores con habilitador para visualizar los datos de entrada y 3 para el resultado, ya que este se visualiza en 3 display's (siendo este tercero para las centenas o el signo).


Y, para finalizar los subcircuitos implementados, se realizo un multiplexor de 16 a 8, que reciba como parámetros del decodificador de 7 segmentos de las centenas y el signo y su salida dependa del signo, es decir, si la operación tiene signo muestre en el tercer display el signo menos (-) y en caso de que no lo tengo muestre un cero o la unidad de centenas.


Finalmente se realiza el camino de datos en el cual mediante la memoria de 6 bits para 2 datos se ingresan los 2 números a operar, y se selecciona el tipo de operación a realizar (suma/resta), se realiza la visualización dinámica de dichos números ingresados y estos se ensamblan a un comparador de 6 bits, que invierte los operadores en caso de que A<B y se realiza el complemento a 2 del numero menor, siempre y cuando este lo requiera. Al realizar la suma o resta según corresponda, el resultado de la operación se ve dividida en 1 bit para signo y 7 para el resultado, donde este séptimo bit, puede llegar a tener un nivel alto siempre y cuando la operación seleccionada sea la suma. Posterior a esto se realiza la visualización dinámica para el resultado, donde el tercer display varia entre un numero entero o el signo menos, el cual depende del multiplexor anterior a este.


El montaje que describe lo anterior mencionado es el siguiente:


V. Conclusiones:


Como se explicaba en clase, al realizar las operaciones en una calculadora tradicional se requiere de una pequeña que memoria que retenga los datos ingresados en una única entrada, por lo que es poco practico implementar una entrada para cada operador que se vaya a ingresar. Por ello, los Latch SR, nos sirven para implementar menos recursos a la hora de guardar y editar las entradas de un sistema y lograr una mejor interfaz para el usuario como para el mismo diseñador.


VI. Vídeo:



Referencias:


[1] Thomas L. Floyd, fundamentos de sistemas digitales, Madrid, PEARSON EDUCATION S.A., 2006.


[2] Guía practica 10.




Comments


bottom of page