Professional Documents
Culture Documents
Proyecto-Caicedo y Bravo
Proyecto-Caicedo y Bravo
PROYECTO 5 ALU
Primer avance
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:
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.
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.
Sel
A 5
6 F
B ALU
5
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”
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