Sei sulla pagina 1di 18

PPTT-CIS-IXB-[NoPPTT]

UNIVERSIDAD
NACIONAL
DE LOJA
Facultad de Energía las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas

“CALCULADORA SIMPLE DE 8BITS DESARROLLADA EN


VHDL”

SISTEMAS OPERATIVOS Y REDES


Unidad de Titulación Especial

Autor:
• Jéssica Mercedes Cueva Riofrío
Tutor:
• Ing. Gastón Chamba

23 de diciembre de 2019

Loja-Ecuador
Índice

Índice 2
Introducción 3
Descripción 4
Calculadora simple completamente funcional 4
DESARROLLO 5
F1 = A + B 5
F2 = A or B 8
F3 = A xor B 9
F4 = not A 10
MULTIPLEXOR 4 ENTRADAS 8BITS 11
REGISTROS DE 4BITS Y 8 BITS 13
DECODIFICADOR BCD DE 7 SEGMENTOS 16
CALCULADORA COMPLETA 16
Conclusiones 18

2
Introducción

El presente documente da una pauta para conocer como se puede elaborar la ALU utilizando

el programa MODELSIM, el programa permite elaborar programas a nivel de hardware

utilizando el lenguaje VHDL. Además, ayuda a comprender como los dispositivos en este caso

una calculadora simple realiza sus operaciones a nivel de hardware.

En el desarrollo de la calculadora simple se ha realizado varios módulos que permiten su

normal funcionamiento, entre estos módulos se ha elaborado un sumador de 8 bits, full adder

con las compuertas or, xor y not cada una de ellas de 8 bits, un multiplexor de 4 entradas de

8 bits, tres registros: dos de 4 bits y uno de 8bits, y dos decodificadores bcd.

Para la elaboración de la calculadora se ha planteado los siguientes objetivos:

• Implementar un decodificador de 7 segmentos en VHDL

• Agregar el decodificador implementado a la calculadora.

• Para diseñar registros de 4 bits y 8 bits con habilitación y reinicio asíncrono

3
Descripción

Calculadora simple completamente funcional

Figura 1: Calculadora simple o mini ALU

En la figura 1 se muestra una calculadora de 8 bits (los operandos tienen una longitud de 8
bits) que realiza 4 operaciones, una aritmética (F1, sumatoria) y tres funciones lógicas (F2, F3
y F4), de la siguiente manera:

• F1 = A + B
• F2 = A or B
• F3 = A xor B
• F4 = not A

4
Además, todo el diseño está compuesto por 7 archivos (8 componentes).

DESARROLLO

Para la elaboración de la calculadora simple se ha considerado lo antes propuesto, a


continuación, se describen los módulos que permiten el funcionamiento de la misma.

F1 = A + B

Para la operación aritmética A + B se ha elaborado tres módulos, los dos primeros son de 1bit
y el tercero es de 8bit; el primero de 1 bit es el hall adder (HA) el cual está constituido por
compuerta AND y un compuerta XOR ambas previamente codificadas en VHDL, luego se
procedió a construir el full adder (FA), este se constituye por dos HA y una compuerta OR
previamente codificados, por ultimo para construir el F1 se procedió a instanciar 8 veces el FA.
En las figuras 2, 3 y 4 se muestra el código VHDL de los módulos antes mencionados.

HALL ADDER 1BIT

Figura 2: Código en VHDL del Hall Adder

5
FULL ADDER DE 1BIT

Figura 3: Código en VHDL del Full Adder

6
SUMADOR DE 8BITS

Figura 4: Código en VHDL de la operacion aritmética A+B

7
F2 = A or B

En la realización de la operación lógica A or B se elabora el módulo que instancia 8 veces la


compuerta OR como se muestra en la figura 5.

Figura 5: Código en VHDL de la operacion lógica A or B

8
F3 = A xor B

En la realización de la operación lógica A xor B se elabora el módulo que instancia 8 veces la


compuerta XOR como se muestra en la figura 6.

Figura 6: Código en VHDL de la operación lógica A xor B

9
F4 = not A

En la realización de la operación lógica not A se elabora el módulo que instancia 8 veces la


compuerta NOT como se muestra en la figura 7.

Figura 7: Código en VHDL de la opeación lógica not A

10
MULTIPLEXOR 4 ENTRADAS 8BITS

En la realización del multiplexor de 4 entradas de 8bits se elaboran tres módulos dos de ellos
de 1 bit y el tercero de 8 bits que es el que se va a utilizar. El primer módulo que se realiza es
un multiplexor de 2 entradas y una salida, luego se hizo un multiplexor de 4 entradas y una
salida instanciando 3 veces el multiplexor antes mencionado y por último para construir el
multiplexor de 4 entradas de 8 bits que se utiliza en la mini ALU se procedió a declarar variables
de tipo vector de 8bits tanto de entrada como de salida y luego se instancia 8 veces el
multiplexor de 4 entradas. En las figuras 8, 9 y 10 se muestra el código en VHDL de los
módulos antes mencionados.

MULTIPLEXOR 2 ENTRADAS 1BIT

Figura 8: Código en VHDL del multiplexor de 2 entradas

11
MULTIPLEXOR 4 ENTRADAS 1BIT

Figura 9: Código en VHDL del multiplexor de 4 entradas

12
MULTIPLEXOR 4 ENTRADAS 8BIT

Figura 10: Código en VHDL del multiplexor de 4 entradas de 8bits

REGISTROS DE 4BITS Y 8 BITS

En la realización de los registros se ha elaborado 3 módulos: un registro de 1 bit, el segundo


de 4 bits, y el tercero de 8 bits. Los registros dos y tres instanciaron el registro de un bit las
veces que es necesario para cada uno de ellos. En las figuras 11, 12 y 13 se muestra el código
VHDL de los mismos y en el que se puede evidenciar lo antes mencionado.

13
REGISTRO DE 1BIT

Figura 11: Código en VHDL del registro de 1bit

REGISTRO DE 4BIT

Figura 12: Código en VHDL del registro de 4bits

14
REGISTRO DE 8BIT

Figura 13: Código en VHDL del registro de 8bits

15
DECODIFICADOR BCD DE 7 SEGMENTOS

En la elaboración del decodificador se realizo para cada variable los mapas de Karnaugh
obteniendo el siguiente algoritmo codificado en VHDL, como se muestra en la figura 14.

Figura 14: Código en VHDL del decodificador de 7 segmentos bcd

CALCULADORA COMPLETA

Por último, todos los módulos se los unió en un solo archivo como se muestra en la figura 15,
cabe señalar que cuando se envían los datos del multiplexor a los registros es necesario
realizar dos codificadores adicionales uno para transformas de binario a decimal y otro para
transformar de decimal a binario respectivamente.

16
Figura 15: Código en VHDL de la Calculadora Simple de 8bits

17
Conclusiones

- Para poder realizar este tipo de casos hay que tener conocimiento básico del lenguaje
de programación VHDL.

- El análisis del caso de estudio debe ser indispensables con la finalidad de realizar un
buen trabajo.

- Hay que tomar en cuenta que en este caso de estudio de la calculadora hay que realizar
más que permitan obtener un numero decimal, y dividirlo en unidades, decenas y
centenas, además que permita a éstas se las pueda transformas en binario para que
puedan pasar por el registro y el decodificador.

18

Potrebbero piacerti anche