Está en la página 1de 4

LAB.

SD 2022-23 / Práctica 2

PRÁCTICA 2: Implementación de funciones lógicas, Sumador binario y ALU

Objetivos:
Después de realizar esta práctica, el alumno deberá:
1. Saber implementar cualquier función lógica en suma de minterms, usando los siguientes
dispositivos: Puertas básicas Not, And, Or; Decodificador y puertas Or; ROM.
2. Conocer la funcionalidad de un Full-adder y saberlo implementar usando puertas Xor y Or.
Saber implementar un sumador binario combinacional con propagación de acarreo.
3. Saber implementar un circuito detector de overflow. Saber el tiempo de propagación del
sumador para cualquier número de bits.
4. Conocer la funcionalidad de un multiplexor y saber implementarlo.

Antes de comenzar:
Descarga la librería proporcionada en el Aula Virtual y añade los nuevos componentes a tu librería
personal. Tienes los pasos en el Desarrollo 2 de la Práctica 1.

Sesión I: Síntesis de Circuitos Combinacionales, Circuito Sumador


(Semana 17 de Octubre)

Desarrollo 1: Circuito Full-Adder, tabla de verdad.


El Full-adder (F.A.) es un circuito combinacional que suma dos números binarios teniendo en cuenta
los valores de acarreo. Dicho de otra forma, es el circuito necesario para llevar a cabo las
operaciones de cada columna en una suma en Ca2 (ver figura inferior). Esto implica que el circuito
necesita tres entradas (dos para los sumandos x, y, una para el acarreo de entrada cin) y genera dos
salidas (el resultado de la suma s y el acarreo de salida cout).

Conociendo el funcionamiento del Full-Adder, Completa su tabla de verdad:

X Y Cin Cout s
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

1
LAB. SD 2022-23 / Práctica 2

Desarrollo 2: Síntesis de Full-Adder.


Construye en Logic-works el circuito correspondiente a la tabla de verdad del desarrollo anterior,
utilizando los tres métodos de síntesis vistos en clase:

1. Suma de minterms: utiliza las puertas Not, And-2, Or-2 de tu librería. Comprueba el
funcionamiento lógico del circuito y guarda tu implementación como P2-D2-Minterm.cct.

2. Decodificador y puertas Or: en la librería encontrarás el decodificador necesario, analiza su


funcionamiento (es una cápsula, pega uno en la hoja de edición y doble click para visualizar su
contenido), y entiende el funcionamiento de la señal de entrada e (enable). Comprueba el
funcionamiento lógico del circuito y guarda tu resultado como P2-D2-Decoder.cct.

3. ROM: Para crear la ROM hay que seguir los siguientes pasos (ver imagen inferior para dar valores
en función de la tabla de verdad):

1. Pinchar en de la barra superior de herramientas y seleccionar PROM (ROM


programable).
2. Especificar el número de líneas de dirección (entradas del decodificador interno de la PROM
o, lo que es equivalente, número de columnas de entrada en la tabla de verdad), y el
número de bits por palabra (funciones a implementar o, lo que es equivalente, número de
columnas de salida en la tabla de verdad).
3. Seleccionar enter hex data manually.
4. Introducir los datos del contenido de la PROM en hexadecimal. Cada dato corresponde con
la traducción de binario a hexadecimal de las filas de la tabla de verdad (ver figura). Lo mejor
es escribir este contenido previamente en un fichero de texto y cortar y pegar en la ventana
de datos manual del simulador (para guardar una copia del contenido de la PROM, porque
una vez creada ya no podemos modificarla en caso de error).

5. Dar nombre al dispositivo y guardarlo en la librería correspondiente (Librería personal).

Comprueba el funcionamiento lógico del circuito. Guarda tu resultado como P2-D2-ROM.cct.

Desarrollo 3: Implementación alternativa de circuito Full-Adder.


Observa la implementación interna de los dispositivos Full-adder (Fa) proporcionados en la librería
(doble click en una capsula dentro de un circuito te deja observar su contenido). Comprobarás que
no es el diseño en suma de minterms que implementaste en el desarrollo anterior. Se trata de otra
implementación que utiliza dispositivos Half-adder, construidos con puertas Or y Xor (3 niveles de
encapsulado). A la vista del contenido de la cápsula Fa, responde a las siguientes preguntas:

• ¿Qué implementación de Full-adder utiliza menor número de puertas lógicas?


• ¿Qué implementación de Full-adder presenta un retardo menor?
• OPCIONAL: Utilizando tus conocimientos sobre álgebra de Boole, ¿Serías capaz de demostrar
que la expresión en suma de minterms y el circuito de la cápsula Fa son equivalentes?

2
LAB. SD 2022-23 / Práctica 2

Sesión 2: Sumador de n bits y Multiplexor


(Semana 24 de Octubre)

Desarrollo 4: Circuito Sumador de números de 8 bits en Ca2


El objetivo es implementar un sumador de dos números, X e Y, representados en Ca2 con 8 bits cada
uno: X=[x7 x6 x5 x4 x3 x2 x1 x0] e Y=[y7 y6 y5 y4 y3 y2 y1 y0]. Esto significa que necesitamos un circuito con
16 entradas y ocho salidas. Responde a las siguientes preguntas:

• ¿Cuántas filas tiene la tabla de verdad que especifica el funcionamiento del sumador binario
de dos números de 8 bits?
• ¿Te parece razonable utilizar una implementación en suma de minterms para el circuito
sumador de 8 bits?

Afortunadamente, un método más sencillo que la suma de minterms para implementar el sumador
consiste en concatenar circuitos Full-Adder como el utilizado en los desarrollos anteriores, como
demuestra la figura inferior.

En nuestro caso (números de 8 bits) necesitaremos 8 dispositivos Full-adder conectados entre sí
como indica la figura inferior:

A continuación, haciendo uso de los dispositivos Full-adder de la librería, implementa el sumador de


números de 8 bits y crea una cápsula con el circuito completo, con una estructura como la que se
muestra en la figura superior (Puedes consultar los pasos a seguir en el guion de la práctica 1).
Añade la cápsula a tu librería con el nombre 8bit-Adder y comprueba su funcionamiento lógico,
siguiendo estos pasos:
1. Conecta dos teclados hexadecimales (HexKeyboard) para cada entrada X e Y. Ten en cuenta
la posición del bit más significativo de tus teclados y las entradas del sumador.
2. Conecta un visor hexadecimal (HexDisplay) en la salida W.
3. Conecta un cable en el carry inicial (c0) con el nombre “0”. Los nombres 0 y 1 están
reservados en LogicWorks y hacen que el cable tome el valor binario correspondiente.
4. Da valores a las entradas y comprueba si las salidas son las esperadas.

3
LAB. SD 2022-23 / Práctica 2

Desarrollo 5: Análisis temporal del circuito sumador.


Estudiaremos a continuación el retardo del dispositivo implementado (analizando el circuito a mano,
sin utilizar el cronograma de LogicWorks). Utiliza el esquema de la figura inferior (solo mostramos 4
de los 8 bits del sumador), en el que se muestran las puertas lógicas que forman cada full-adder,
para responder a las preguntas que se plantean.

• ¿Cuál es el camino crítico del sumador? Lista la secuencia de puertas por las que pasa dicho
camino crítico.
• ¿Cuál será el retardo (tiempo de propagación) del sumador? Utiliza los retardos de cada
puerta vistos en prácticas anteriores y escribe también el valor como suma de los retardos
de cada Full Adder.
• Encuentra una fórmula que exprese el tiempo de propagación en función del número de bits
de cada sumando.

Desarrollo 6: Implementación de un Multiplexor de 2 entradas y 1 salida.


Diseña un circuito combinacional que implemente la funcionalidad de un Multiplexor de 2 entradas
(1-bit cada una) y una salida (1-bit) como el visto en teoría.
1. Encuentra su tabla de verdad.
2. Escribe la expresión lógica en suma de minterms de la señal de salida.
3. Utiliza tus conocimientos de álgebra de Boole para minimizar la expresión anterior.
4. Con la expresión minimizada, implementa el circuito con puertas And, Or y Not.
5. Encapsula el circuito en tu librería con el nombre Mux2-1. El multiplexor no es un
componente simétrico, se recomienda identificar las entradas en la capsula con texto, como
la figura inferior.

Desarrollo 7. Multiplexor de 8 bits.


El siguiente paso consistirá en la creación de un circuito multiplexor para señales de entrada de 8
bits. Utiliza el circuito que has creado para crear una cápsula con un formato similar al de la figura
inferior. Añade la cápsula a tu librería con el nombre 8bit-Mux.

También podría gustarte