Calculadora

Integrantes

Alejandra Vásquez 20141615027 oc.ude.gobbsu.aimedaca|zeuqsavla#oc.ude.gobbsu.aimedaca|zeuqsavla
Santiago Jose Gastelbondo 20141615093 oc.ude.gobbsu.aimedaca|odnobletsags#oc.ude.gobbsu.aimedaca|odnobletsags
Santiago Ñustez 20141615084 oc.ude.gobbsu.aimedaca|zetsuns#oc.ude.gobbsu.aimedaca|zetsuns

Descripción

La calculadora será desarrollada por medio de los botones y switch de la FPGA Nexys 2 y será capaz de mostrar al usuario cierto número de dígitos (habitualmente 10 dígitos), a través de la pantalla 7 segmentos de la FPGA Nexys 2.
Para la realización del proyecto se usarán las siguientes funciones:

  • Los diez dígitos del 0 al 9.
  • Se muestran los números ingresados y el resultado.
  • Las tres operaciones básicas matemáticas:
    • Suma
    • Resta
    • Multiplicación

Palabras Claves - Calculadora, Suma, Resta, Operaciones, Multiplicación, FPGA.

OBJETIVOS

Objetivos generales

  • Implementar una calculadora mediante el uso del lenguaje de programación verilog.

Objetivos específicos

  • Generar una máquina de estados y los módulos correspondientes a cada una de las operaciones.
  • Generar un ucf que tenga en cuenta las señales del teclado matricial, con su valor correspondiente.

Alcances y Limitaciones

Alcances

Se logrará generar una calculadora la cual realice sumas, restas y multiplicaciones, mediante el uso de una Nexys 2.

Limitaciones

Debido a la cantidad de botones, switch y siete segmentos de la FPGAl, el proyecto no va más allá de los cálculos básicos con números enteros, los cuales se encuentran limitados por una cantidad de bits manejable.

Presupuesto

Dado que el proyecto se montará sobre la FPGA Nexys 2, la cual podemos obtener dentro de las instalaciones universitarias, solo tomamos a presupuestar:

  • Mano de obra: $50.000 hora c/u.

Cronograma de Actividades

  • Semana del 20 al 26 de Septiembre: Proposición del proyecto y desarrollo del anteproyecto.
  • Semana del 27 de Septiembre al 3 de Octubre: Presentación del anteproyecto.
  • Semana del 4 al 10 de Octubre: Planteamiento del código.
  • Semana del 11 al 19 de Octubre: Continuación del código y tutorías para corregir posibles errores y resolver posibles dudas.
  • Semana del 18 al 24 de Octubre: Últimas correcciones y pruebas al código.
  • Semana del 25 al 31 de Octubre: Preparación de la presentación final del proyecto. Presentación del proyecto.
20 al 26 de Septiembre. 27 de Septiembre al 3 de Octubre. 4 al 10 de Octubre. 11 al 19 de Octubre. 18 al 24 de Octubre. 25 al 31 de Octubre.
Proposición del proyecto y desarrollo del anteproyecto. X
Presentación del anteproyecto. X
Planteamiento del código. X
Realización del código. X X X X
Solución de dudas. X X X X
Corrección de errores. X X X
Pruebas del código. X X
Presentación del proyecto. X

DISEÑO

3772912bb9a8dec7d51a648ad41191c2o.jpg

CODIGO

TOP

Esta parte del código tiene como finalidad hacer las conexiones entre las señales de entrada y de salida que hay en los módulos. Además de definir las señales que entran y salen directamente del circuito.

0d6d7254a24ecb5ec6ab31be4aab3f27o.jpg

INGRESO DE NUMEROS

Este modulo detecta el orden en el cual se suben o bajan los switch y genera un número el cual será asignado a dos variables, llamas A y B, las cuales se muestran independientemente en el display y son operadas posteriormente.

9370f5312d6ca8fd73a2744d35168cbdo.jpg

ALU

Este modulo opera las variables previamente mencionadas en 3 operaciones, suma, resta y multiplicaciones/and, tras recibir una señal de 3 bits que tiene asignado 3 botones diferentes en la Nexys, los cuales realizan operaciones diferentes.

46282439c7913bfcaba7d17493ef09ffo.jpg

BCD

Este modulo convierte los números binarios obtenidos en el resultado a números decimales.

0c4134fa02fae8c8a58e3608ff523a6bo.jpg

DISPLAY

Este modulo genera lo que se muestra en el display a partir de señales que le llegan, en este caso, la señal del resultado divida en unidades y decimas y las señales de A y B.

5a806407e1d5149916606e32ba5f8d89o.png
bc330bee107a3da5b5524e8bde880700o.png
14c30227c171bfb2f6fdda04520830fbo.png
187d2453f3effb6a6df69c8b9cb13eb5o.jpg
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License