Sie sind auf Seite 1von 4

Simulación gráfica de un Generador de Señales

Jhosset Alvarado, Dowal Cahuasquí, Gabriel García, Melisa Pilla


Departamento de Eléctrica y Electrónica
Universidad de las Fuerzas Armadas ESPE
Sangolquí, Ecuador
jealvarado3@espe.edu.ec
dfcahuasqui1@espe.edu.ec
gmgarcia3@espe.edu.ec
mjpilla1@espe.edu.ec

Resumen— El presente trabajo muestra algunos diseños de y con la posibilidad de permitir la integración de sensores
circuitos digitales que se pueden realizar mediante el lenguaje y actuadores complejos, lo que asegura la escalabilidad de
VHDL utilizando la herramienta ISE Desing Suite. Se la herramienta.
implementará varios ejemplos de circuitos digitales estas
aplicaciones serán cargadas posteriormente en la FPGA. La Sandoval (2011), presenta un procedimiento práctico
tarjeta de desarrollo ha utilizarse es la Spartan CORE3S500E para el diseño de un codificador-decodificador Reed-
Solomon a través de la descripción funcional usando
Palabras Clave—VHDL, FPGA, Xilinx ISE Design Suite lenguaje descriptor de hardware (VHDL) con la
herramienta de programación Xilinx ISE 9.2i. Este trabajo
I. INTRODUCCIÓN propone un diseño que usa los beneficios que presenta la
programación VHDL, su característica de modularidad, y
II. ESTADO DEL ARTE la estrategia de seccionar el diseño en componentes
menos complejos para facilitar el proceso. Además, se
detalla la metodología del diseño del decodificador a
VHDL es un lenguaje de descripción de circuitos través de procesamiento paralelo. El
electrónicos digitales que utiliza distintos niveles de codificador/decodificador diseñado puede corregir errores
abstracción, con el que se pueden crear aplicaciones para en dos símbolos, con las facilidades de una descripción a
cargarlas posteriormente en una FPGA, utilizando través de un programa de programación de hardware
herramientas de simulación como Xilinx ISE Design
Suite. Espinosa, Luengas, Rivera García & Vásquez
describen la implementación de una interfaz usuario-
Martínez & Acero (2010), presentan el diseño, máquina, para la manipulación de un brazo robótico de
desarrollo y prueba en laboratorio de un pequeño robot, cuatro grados de libertad, incorporando la opción de
concebido como plataforma para la evaluación y grabar y reproducir una secuencia de movimientos. Se
desarrollo de esquemas de control inteligente. El prototipo utilizó una tarjeta Nexys2, la cual es manufacturada por la
está conformado por una FPGA Spartan 3 de Xilinx como empresa Digilent e incluye un FPGA Spartan-3E con 500
unidad central de control, se estructuró sobre una mil compuertas. La tarjeta sirve de controlador,
plataforma diferencial con dos motores independientes estableciendo la comunicación entre un teclado de
acoplados a ruedas de desplazamiento, y una tercera rueda computadora, que es el dispositivo de entrada, y el brazo
omnidireccional de apoyo. La estructura mecánica se robótico, que es el dispositivo de salida. Para la creación
diseñó en acrílico, buscando resistencia mecánica, bajo del programa de configuración del FPGA, se hizo uso del
peso, visualización de componentes y presentación lenguaje de descripción de hardware VHDL; con este
estética. Para ubicación espacial, se incorporaron sensores lenguaje está hecho el driver para el teclado y con el
ultrasónicos de posición codificados y colocados para mismo se crearon los módulos necesarios para la correcta
amplio espectro de visión. Además, el sistema cuenta con manipulación del brazo, incluyendo la grabación y
puertos de acceso para incrementar los periféricos del recuperación de secuencias.
robot. Con el desarrollo de éste prototipo de laboratorio se
logró generar una nueva herramienta de aprendizaje que VHDL como se ha venido mencionando es un
permite la implementación de esquemas inteligentes para lenguaje que permite trabajar con distintos niveles de
la solución de problemas clásicos en robótica móvil. La abstracción, desde los más altos, como en la robótica,
plataforma final posee una unidad de control central procesamiento de señales y control de sistemas, hasta
basada en FPGA capaz de procesar complejos algoritmos,
niveles más bajos, como aplicaciones de electrónica o ModelSim simulador lógico se utiliza para la prueba
digital. de nivel de sistema

En el presente trabajo se implementarán 4 IV. VHDL


aplicaciones en la FPGA, utilizando VHDL, la primera
corresponde a un controlador de válvulas de tuberías, de
modo que la cantidad de agua que ingresa sea igual a la
que sale, para la segunda se requiere conocer el nivel de
agua de dos depósitos de agua, otra de las aplicaciones
VHDL
permite comparar dos números de 4 bits con la finalidad
de conocer cuál de ellos es mayor, finalmente para la
última aplicación se requiere conocer la función de salida Son lenguajes de programacion
donde el objetivo es programar
en el axón de una neurona bajo ciertas condiciones. un circuito electronico
niveles más bajos, como aplicaciones de electrónica
digital. Es el acronimo de
"Hardward Desciption
En el presente trabajo se implementarán 4 Language".
aplicaciones en la FPGA, utilizando VHDL, la primera Es un lenguaje definido
corresponde a un controlador de válvulas de tuberías, de por IEEE para describir
modo que la cantidad de agua que ingresa sea igual a la circuitos digitales.
que sale, para la segunda se requiere conocer el nivel de
agua de dos depósitos de agua, otra de las aplicaciones Figura. 1. Características VHDL
permite comparar dos números de 4 bits con la finalidad
de conocer cuál de ellos es mayor, finalmente para la
última aplicación se requiere conocer la función de salida
en el axón de una neurona bajo ciertas condiciones. V. COMPARADOR DE DOS NUMEROS DE CUATRO
BITS

III. MARCO TEÓRICO

A. FPGA

 Es un dispositivo programable que contiene


Figura. 2. Diagrama comparador 4 bits
bloques de lógica cuya interconexión y
configurada
 Se utilizan en aplicaciones similares a El modelo realizado consiste en encontrar cual de los
los ASICs sin embargo son más lentas. dos números es mayor el diseño consta de dos módulos
 Tienen las ventajas de ser reprogramables internos. El primero realiza la comparación de los bits más
 Sus costes de desarrollo y adquisición son mucho significativos y emite una señal hacia el siguiente bloque el
menores para pequeñas cantidades. cual se encarga de compara los siguientes bits con los
cuales se determina si A>B.

B. Xilinx ISE Design Suite La señal N que es salida en el primer bloque es


entrada en el segundo bloque y N se activa es decir es igual
 Es una herramienta de software producido
1 cuando los bits más significativos del numero A son
por Xilinx para la síntesis y el análisis de diseños
mayores que los del numero B.
HDL Permite la interconexión en tiempo de simulación
con otros lenguajes En el segundo bloque determina si los bits restantes
 Entorno de diseño exclusivo para los productos FPGA del primer numero son mayores que los del segundo si es
de Xilinx verdad esta afirmación la salida es 1 es decir el numero A
 ISE se utiliza principalmente para la síntesis y diseño es mayor que B.
de circuitos, mientras que el ISIM Realizando las tablas de verdad correspondientes tenemos:
A1 A0 B1 B0 N 1 0 1 0 1 1
0 0 0 0 0 1 0 1 1 0 0
0 0 0 1 0 1 0 1 1 1 0
0 0 1 0 0 1 1 0 0 0 1
0 0 1 1 0 1 1 0 0 1 1
0 1 0 0 1 1 1 0 1 0 1
0 1 0 1 0 1 1 0 1 1 0
0 1 1 0 0 1 1 1 0 0 1
0 1 1 1 0 1 1 1 0 1 1
1 0 0 0 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1
1 0 1 0 0 Tabla 3. Tabla verdad del segundo bloque cuando N=1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1 A. Implementación de Codigo en ISE Desing
1 1 1 0 1 El código del programa principal es:
1 1 1 1 0
library IEEE;
Tabla 1. Tabla verdad bits menos significativos use IEEE.STD_LOGIC_1164.ALL;
Comparacion de los bits cuando N=0 entity ejercicio3total is
Port ( A : in STD_LOGIC_VECTOR (3 downto 0);
N A3 A2 B3 B2 M B : in STD_LOGIC_VECTOR (3 downto 0);
0 0 0 0 0 0 S : out STD_LOGIC);
end ejercicio3total;
0 0 0 0 1 0
0 0 0 1 0 0 architecture configuracion of ejercicio3total is
0 0 0 1 1 0 component ejercicio3 is
0 0 1 0 0 1 Port ( A : in STD_LOGIC_VECTOR (1 downto 0);
0 0 1 0 1 0 B : in STD_LOGIC_VECTOR (1 downto 0);
N : out STD_LOGIC);
0 0 1 1 0 0 end component ejercicio3;
0 0 1 1 1 0
0 1 0 0 0 1 component ejercicio3b is
0 1 0 0 1 1 Port ( A : in STD_LOGIC_VECTOR (1 downto 0);
0 1 0 1 0 0 B : in STD_LOGIC_VECTOR (1 downto 0);
N: in STD_LOGIC;
0 1 0 1 1 0 M : out STD_LOGIC);
0 1 1 0 0 1 end component ejercicio3b;
0 1 1 0 1 1
0 1 1 1 0 1
signal aux:std_logic;
0 1 1 1 1 0
Tabla 2. Tabla verdad del segundo bloque cuando N=0 begin
C1: ejercicio3 port map
(A(1 downto 0)=>A(1 downto 0), B=>B(1
Tabla de verdad cuando N=1 downto 0), N=>aux);
C2: ejercicio3b port map
N A3 A2 B3 B2 M (A(1)=>A(3) , A(0)=>A(2), B(1 downto 0)=>B(3 downto 2),
1 0 0 0 0 1 N=>aux, M=>S);
end configuracion;
1 0 0 0 1 0
1 0 0 1 0 0
1 0 0 1 1 0 Como se puede observar en el código existen los 2
1 0 1 0 0 1 subsistemas (ejercicio3 y ejercicio3b) que se encuentran
dentro del programa principal En el primer bloque se realiza la
asignación de valor de 1 o 0 a N es decir si A es mayor que B  En el presente trabajo se ha logrado realizar código
entonces si N es igual a 1 por lo cual si A y B son iguales o B VHDL de las aplicaciones propuestas, empezando
es mayor que A la salida N es cero. En el segundo bloque se por establecer las tablas de verdad y diagramas
realiza una comparación entre los bits más significativos de esquemáticos, a partir de los cuales resulta sencillo
ambos números y la señal N que en este bloque es considerada generar código VHDL y grabarlo posteriormente en
como entrada. la FPGA.

Posteriormente se utiliza las herramientas de ISE Desing  HDL Coder, herramienta que se ha utilizado para
realizar la aportación requerida en el trabajo,
Suite para corroborar su correcto funcionamiento como lo son
conjuntamente con Simulink permite diseñar modelos
Diagrama Esquematico, la simulación mediante diagrama de a partir de bloques con los que cuenta Simulink, con
tiempos. lo que se puede generar código HDL de manera
rápida y eficaz. Otra forma de generar código HDL es
a partir de funciones de Matlab.
B. Herramientas de Xilinx ISE Design Suite
 Se logró integrar los 4 ejercicios en una sola
Una vez que se tiene el código en Xilinx, esta aplicación utilizando multiplexores, a la vez que se
herramienta permite generar el diagrama esquemático de la cumple con los requerimientos de reutilizar entradas
aplicación, así como realizar simulaciones y cargar el y salidas.
código en la FPGA
 Tener cuidado con el bit más significativo o menos
significativo si se está trabajando con vectores, esto
con el fin de evitar errores.

 En la implementación de la FPGA no se debe olvidar


que cada puerto utilizado debe estar conectado a una
tierra común.

 Revisar la sintaxis de los programas realizados, ya


que muchas veces Xilinx deja pasar algunos errores.

Figura. 3. Diagrama Esquemático

VII. BIBLIOGRAFÍA

[1] Fernández, F. S., & Barceló, B. O. (2012). Diseño de un


Registro de Desplazamiento en Tecnología
CMOS. Enginy, (01).
[2] Gualdrón, E. B., Jaramillo, I. J., & Parra, N. M. DISEÑO
Figura. 4. Diagrama Esquemático interno DE MÓDULOS DE COMUNICACIÓN GPIB DE
PROPOSITO ESPECIAL CON CELDAS ESTÁNDAR.
[3] Llanos, R. G., Domínguez, A. S., Zegarra, I. L., &
VI. CONCLUSIONES Y RECOMENDACIONES
Iparraguirre-Cárdenas, D. Implementación ASIC de Banco
de Filtros para la Transformada Discreta de Wavelet Med
 VHDL es un lenguaje descriptor de hardware que [4]
permite varios niveles de abstracción desde los más
altos como robótica, procesamiento de señales, y
sistemas de control hasta los más bajos, que tienen
que ver con circuitos digitales.