You are on page 1of 8

Sistemas Digitales 1

PROYECTO 5 ALU

Primer avance

Integrante 1 Caicedo Rodríguez Joey Dilan

Integrante 1 Thomas Enrique Bravo Betancourt

Paralelo 111

Fecha Diciembre/2022

1. Introducción

Una ALU es una unidad aritmética lógica. Es una unidad de creación fundamental de
cualquier procesador de CPU en el mundo informático actual. Lógicamente, su
rendimiento y aplicación son relativamente fáciles de entender. Dos números enteros
en forma de bits se aplican a la entrada de la ALU y otro terminal recibe las
instrucciones para manipular dicha entrada. Estas instrucciones, como el nombre de
unidades lo indica, son cálculos matemáticos tales como la adición o sustracción. Una
vez que la ALU ha realizado la manipulación ordenada, emite el valor correcto.

Las dos entradas se llaman más apropiadamente operandos o la información que será
operada. La instrucción para la operación requerida se conoce como el codop (código
de operación). Los dispositivos ALU modernos pueden realizar una gran cantidad de
funciones simples de los operandos suministrados. Además de la adición y sustracción
básica pueden cambiar los datos de izquierda a derecha, invertir datos Y/O datos,
enviar datos intactos, incrementar o disminuir por 1, rotar los datos de alguna forma y
aún muchas más posibilidades. El único requisito de que la mayoría de los diseños
tienen en la ALU es que estas operaciones siguen siendo muy sencillas y rápidas. Para
conocer los requisitos matemáticos más complejos a menudo hay un circuito de
procesamiento de nivel superior, que utiliza los simples mecanismos de la ALU para
encontrar en última instancia la respuesta, pero la propia ALU no realiza estas
complejidades.
2. Antecedentes/Descripción del proyecto

Se desea implementar una unidad aritmética y lógica (ALU) que permita realizar
operaciones aritméticas y lógicas básicas. Ingresarán dos números binarios
denominados A y B, de 5 bits cada uno. Además, tiene otra entrada de control
llamada Sel. La ALU calculará y presentará el resultado en su salida F, por medio
de LEDs, de acuerdo a la siguiente manera:

 Cuando A es mayor a 9 y Sel = “0”, la salida F será A-B (en binario).


 Cuando A es igual a 9 y Sel = “0”, la salida F será A and B.
 Cuando A es menor a 9 y Sel = “0”, la salida F será A or B.
 Si Sel = “1”, la salida A+B

Nota: Se considera a Sel =1 con prioridad a las demás entradas

3. Objetivo General
Implementar una unidad aritmética y lógica (ALU) que realice operaciones de
aritméticas básicas y lógicas con dos números binarios de 5 bits como A-B, A+B, A
and B, A or B. con, utilizar como herramienta el lenguaje de VHDL en cada uno de
los bloques que conforman la solución del proyecto y efectuará la respectiva
simulación para comprobar el correcto funcionamiento del proyecto.

4. Descripción de la solución
El proyecto tendrá distintos bloques que conforman parte de la solución final. Por una
parte, estarán los bloques que se encargaran de realizar todas las operaciones de la
ALU y por otro lado estará el bloque generará la función de salida F para cada uno
de los casos elegido por la selectora “Sel”.
4.1. Entradas y salidas

Entradas
A.H Esta señal es un numero binario de 5 bits cualquiera que
permite el funcionamiento de la ALU.

B.H Esta señal es un numero binario de 5 bits cualquiera que


permite el funcionamiento de la ALU.

Sel.H Señal de un bit que utilizado para elegir cual estado lógico
de la ALU se desea mostrar en el pantalla.

Salidas
Amayor9.H Esta señal habilita el estado de la ALU el cual se elige
dependiendo del valor de A.H.

Aigual9.H Esta señal habilita el estado de la ALU el cual se elige


dependiendo del valor de A.H.

Amenor9.H Esta señal habilita el estado de la ALU el cual se elige


dependiendo del valor de A.H.

S.H Esta señal es un numero de 5 bits producto al bloque


sumador.

R.H Esta señal es un numero de 5 bits producto al bloque


restador.

S_and.H Esta señal es un numero de 5 bits producto de aplicar la


función AND de bit a bit entre los números “A” y “B”.

S_or.H Esta señal es un numero de 5 bits producto de aplicar la


función OR de bit a bit entre los números “A” y “B”.

F.H Esta es la señal de salida principal de la ALU el cual muestra


en pantalla el resultado de una de las funciones elegidas.
4.2. Diagrama de bloques de la solución

Sel
A 5
6 F

B ALU
5

4.3. Descripción de bloques

Bloque Comparador
Este bloque será el encargado de comparar la entrada A de 5 bits con un número
fijo en binario que en este caso será (01001) el cual es 9 en binario, a este bloque
solo tendrá una entrada “A” y tres salidas: “Amayor9”, “Aigual9”, Amenor9” de un
bit cada uno que será “0” o “1”.

Amayor9
A 5
Bloque Aigual9
Comparador
Amenor9
Bloque Sumador
Este bloque tendrá dos entradas de 5 bits “A” y “B”, una salida de 5 bit “S” y una
salida de un bit Co (acarreo final). Que solamente estará en función cuando “Sel”
es igual a 1.

A 5
5 S
Bloque
B
Sumador

5 Cout

Bloque restador
Este bloque tendrá dos entradas de 5 bits “A” y “B”, una salida de 5 bit “R” y
una salida de un bit Co (acarreo final). Que solamente estará en función cuando
“Amayor9” es igual a “1” y “Sel” es igual a 0.

A 5 R
5 Bloque restador
B

5 Cout
Bloque lógico AND

Este bloque tendrá dos entradas de 5 bits “A” y “B”, una salida de 5 bit “And”,
el cual realizará la operación “and” bit a bit entre los dos números ya nombrados.
Solamente estará en función cuando “Aigual9” es igual a “1” y “Sel” es igual a
0.

A 5 S_and

5 Bloque
Bloque lógico
B
Restador
AND

Bloque lógico OR
Este bloque tendrá dos entradas de 5 bits “A” y “B”, una salida de 5 bit “Or”, el
cual realizará la operación “or” bit a bit entre los dos números ya nombrados.
Solamente estará en función cuando “Amenor9” es igual a “1” y “Sel” es igual a
0.

A 5 S_or

5 Bloque
Bloque lógico Or
B
Restador

5
Bloque Generador
Este bloque se encargará de generar la función de salida “F” principal del
proyecto. Las entradas del bloque generador estarán conformadas por ocho en
total que son:
 Las salidas del bloque comparador
 La salida del bloque sumador
 La salida del bloque restador
 La salida del bloque lógico AND
 La salida del bloque lógico OR
 La entrada del selector “Sel”

Con ayuda de multiplexores y funciones lógicas básicas se implementará un


circuito generador que se encarga la correcta selección entre todas las funciones
obtenidas en cada uno de los bloques descritos a priori.

Amayor9 Aigual9 Amenor9

Sel

A+B 6 F
5 MULTIPLEXOR
A-B

5 5

S_and S_or
Diagrama de bloques del circuito

A
5
Bloque Comparador
Sel
Amayor9
Aigual9
Amenor9

A 5 S
5

B
Bloque
Sumador
6 F
DISPLAY
LED
5 Cout
ALU
A 5 R

5
Bloque
B
restador
an
S_

_
S

5 C
5
5

lógico Or
Bloq
Bloq

Bloque
Bloque
lógico

ue
ue
AND

5
5

5
5
A

You might also like