Boletín No 46
1 de enero 2015
IMPLEMENTACIÓN DE CALCULADORA MAYA EN TARJETA SPARTAN 3A/3AN
Isis Tatiana Galván García, Email:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Roberto Antonio Orozco Vázquez, Email:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Antonio Guadalupe Cruz Bautista, Email:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Hind Taud, Email:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
,
Juan Carlos Herrera Lozada, Email:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
.
Centro de Innovación y Desarrollo Tecnológico en Cómputo. I.P.N
Abstract
Este trabajo trata de la implementación de una calculadora maya en código VHL, empleando software Xilinx Project Navigator, en FPGA Spartan 3A/AN en el cual se diseñó una máquina de estados con código propio (sum, res, mul, div) que recibe datos del teclado por medio del puerto ps2; realiza las cuatro operaciones básicas de suma, resta, multiplicación y división, lo cual muestra en el LCD la representación de dichos números mayas, así como el resultado de dichas operaciones. Los elementos empleados son: FPGA Spartan-3A/AN, Software Xilinx con código VHL, Lap Top con procesador Intel Core 2 Duo a 1.6 GHz, de 4GB de RAM, Windows 7 Service Pack 1, de 32 bits, con puerto usb, cable de conexión USB (de tarjeta a lap top) y teclado con puerto PS/2.
Introducción
Los mayas crearon un sistema de numeración vigesimal; los números mayas se construyen a partir de 20 numerales (Figura 1), los cuales a su vez están formados con tres símbolos básicos: un punto, una barra horizontal y una concha o caracol (Figura 2).
Figura 1 - Numerales Mayas del 0 al 19 |
Figura 2 - Símbolos mayas del 1, 5 y 0 |
La Civilización Maya describió y uso el concepto de Cero (Figura 3), siendo en una Estela de Uaxactun, en el Peten, Guatemala, el uso más antiguo documentado hasta el día de hoy, cerca del 200 d.C., antes que cualquier otra cultura en el mundo. Al igual que el cero, los mayas fueron los primeros en usar el sistema vigesimal posicional (Figura 4), que les permitió escribir hacer grandes cálculos astronómicos y matemáticos.
Figura 3 - Cero |
Figura 4 - Sistema vigesimal maya |
Funcionamiento de las operaciones en el LCD Partiendo de que el sistema vigesimal maya es representativo, se realiza una tabla que contiene los símbolos mayas del cero al veintiuno, que son los símbolos que se ocuparán en el LCD. El código completo puede obtenerse del siguiente enlace: https://www.dropbox.com/s/hbzvck14jrkimen/UBC.txt El número cero representado por el símbolo “.” se forma como sigue:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Tabla is Port( |
entradaUA : in std_logic_vector(4 downto 0); tabla_sal1 : out std_logic_vector(7 downto 0); tabla_sal3 : out std_logic_vector(7 downto 0); tabla_sal5 : out std_logic_vector(7 downto 0); tabla_sal7 : out std_logic_vector(7 downto 0); tabla_sal9 : out std_logic_vector(7 downto 0); tabla_sal11 : out std_logic_vector(7 downto 0); tabla_sal13 : out std_logic_vector(7 downto 0); tabla_sal15 : out std_logic_vector(7 downto 0) ); |
end Tabla; architecture Behavioral of Tabla is |
Figura 5 - Representación del símbolo maya cero |
Pantalla Inicial El LCD muestra por default el cero en los dos elementos (figura 5)
Figura 6 - Inicio del LCD |
El símbolo de suma, que al teclear “res”, “mul” y “div” cambia a -, * y / respectivamente (figuras 6 y 7).
Figuras 7 - Cambia el signo y su resultado |
Figura 8 - Suma y multiplicación |
Figura 9 - Suma y multiplicación |
Figuras 10 - División con resultado cero y diferente de cero |
Figura 11 - Diseño esquemático del archivo principal del proyecto |
El código principal VHL con la máquina de estados se encuentra en el siguiente enlace: https://www.dropbox.com/s/azfobni1pdwk02f/LCD.txt
Para ver el circuito en funcionamiento y la salida en el LCD, dirigirse a este enlace: http://youtu.be/gvpSkERvM84
Conclusiones
Se ampliaron conocimientos en el funcionamiento e implementación de máquinas de estados, así como su aplicación en problemas de aplicación antes de aplicarlo en el problema planteado. El software de Xilinx es robusto para este tipo de problemas y el simulador permite hacer pruebas antes de programar la tarjeta para prever los posibles errores de funcionamiento.
Bibliografía
1.- Pong P. Chu, FPGA Prototyping by VHDL Examples. Xilinx SpartanTM-3 Version, John Wiley & Sons, Inc., Publication, cap. 7, 8, 11, 2008.
2.- Spartan-3A/3AN. FPGA Starter Kit. Board User Guide. UG334 (v1.1) June 19, 2008. Consultada el 6 de julio de 2014.
3.- Sistema Vigesimal Maya.
http://www.feriadelasciencias.unam.mx/anteriores/feria20/feria143_01_sistema_vigesimal_maya.pdf
4.- Spartan-3A FPGA Family Data Sheet. Consultada el 3 de julio de 2014. http://www.xilinx.com/support/documentation/data_sheets/ds529.pdf