SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Universidad del Valle de México Campus Cuernavaca            Dispositivos lógicos secuenciales



                              Mi primer programa en WarpR4.
¿Que es WARPR4?

Es un potente compilador lógico para basado en VHDL para Dispositivos Lógicos
Programables específicos, simples y complejos. VHDL es un lenguaje de
programación que debe su nombre a 2 tipos de procesamiento de datos en
Hardware VHSIC (Very High Speed Integrated Circuits) and HDL(Hardware
Description Language)y es considerada la herramienta más poderosa por
universidades e industrias en la planificación diseño y concepción de
sistemas digitales de alto desempeño basados en PLD y FPGA.
A diferencia de WINCUPL, VHDL permite diseñar sistemas con un grado de
dificultad alto en múltiples capas de integración lógica o dispositivos
lógicos dentro de un mismo encapsulado, respetando normas internacionales
basadas en la IEEE para la programación de ASIC, PLD y FPGA. En la década de
los 90 el departamento de defensa de los EU adopto el Std adicional de VHDL
ieee.1164 para sus ASIC (Application Specifics Integrated Circuits).

Aunque WINCUPL y VHDL son iguales la aceptación y desarrollo depende del
usuario final, debido a que el primero en algunos diseños no es tan complejo
en la programación como lo es el VHDL.

Las empresas que más desarrollo tiene en este campo son Xilinx, Cypress y
Atmel, aunque existen compañías en el mercado desarrollando aplicaciones
similares pero no tienen la misma aceptación.


Ing. Rafael Durán Campoamor                                                           Página 1
Universidad del Valle de México Campus Cuernavaca        Dispositivos lógicos secuenciales



¿Como crear mi primer programa?

Primero necesitamos tener algo que resolver, en este caso una función lógica
dada por               .

Una vez instalada la aplicación, buscamos el programa ejecutable en mis
programas en WARP dando click en Galaxy, que es la interfaz gráfica de
usuario.




A continuación se abrirá la siguiente ventana.




Ing. Rafael Durán Campoamor                                                       Página 2
Universidad del Valle de México Campus Cuernavaca        Dispositivos lógicos secuenciales



Se requiere crear un nuevo proyecto y aparecerá la siguiente ventana a que
daremos el nombre de primero:




Después damos click en new de la ventana de dialogo y se abrirá la ventana de
edición de dialogo




Ing. Rafael Durán Campoamor                                                       Página 3
Universidad del Valle de México Campus Cuernavaca                                             Dispositivos lógicos secuenciales



Debemos respetar ciertas                  reglas     de     programación,              en     forma        genérica          una
estructura se compone de                              *std_logic_1164 contiene todo tipo de datos empleados en VHDL
                                                      * numeric_std para utilizarse con diferentes tipos de datos.
library ieee;       librería de trabajo               * numeric_bit trabaja con números binarios con signo o sin signo
                                                      * std_arith define funciones y operadores aritméticos
use nombre_libreria_paquete.all;

entity nombre is
                                                       *entity son todos los elementos que forman de manera
port (var1,var2, varn: in tipo_dato;
                                                       individual o conjunto un sistema digital. (sumador,
        var_salida: out tipo_dato);                    comparador, compuertas, flip flops, etcétera)

end nombre;

architecture funcional of nombre is

begin

proceso

        condiciones de operación
                                                          Generalmente aquí va el cuerpo del programa y se aplican los conocimientos de
        end condición;                                    diseño digital basada en un lenguaje de programación utilizando directamente el
end proceso;                                              hd descrito, de ahí el nombre de lenguaje.

end funcional;




Ing. Rafael Durán Campoamor                                                                                               Página 4
Universidad del Valle de México Campus Cuernavaca            Dispositivos lógicos secuenciales



Como ya tenemos una función lógica definida ahora realizaremos nuestro programa.

library ieee;
use ieee.std_logic_1164.all;
entity funcion1 is
port(a,b,c: in std_logic;
     F: out std_logic);
end funcion1;
architecture compuertas of funcion1 is
begin
     F<=((not a and b) or (a and not c));
end compuertas;


Ahora agregamos el programa al proyecto
de primero




Ing. Rafael Durán Campoamor                                                           Página 5
Universidad del Valle de México Campus Cuernavaca          Dispositivos lógicos secuenciales



Seleccionamos ahora el dispositivo para poder compilar el programa de acuerdo al
PLD obtenido, en este caso GAL 22V10A.

Se deberá crear un archivo con extensión .jed o jedec (joint electronic device
engineering council) dependiendo de la aplicación y este será el que carguemos en
el programador.




Ing. Rafael Durán Campoamor                                                         Página 6
Universidad del Valle de México Campus Cuernavaca          Dispositivos lógicos secuenciales



Ahora veremos el ejemplo de cómo generar todas las funciones lógicas básicas con
ese mismo GAL 22V10A.

Se requiere un programa que realice las funciones and, or, not a, not b,
nand, nor, xor y xnor similar al programado en wincupl.


library ieee;
use ieee.std_logic_1164.all;
entity funciones is
port (a,b: in std_logic;
      f1,f2,f3,f4,f5,f6,f7,f8: out std_logic);
end funciones;
architecture compuertas of funciones is
begin
      f1<= not a;
      f2<= not b;
      f3<= a and b;
      f4<= a or b;
      f5<= a nand b;
      f6<= a nor b;
      f7<= a xor b;
      f8<= a xnor b;
end compuertas;




Ing. Rafael Durán Campoamor                                                         Página 7

Más contenido relacionado

La actualidad más candente

Ejercicios de test - desarrollo y programación
Ejercicios de test  -  desarrollo y programaciónEjercicios de test  -  desarrollo y programación
Ejercicios de test - desarrollo y programaciónoposicionestic
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc) Angel1309
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07adrianpro
 
Consideraciones pragmatica
Consideraciones pragmaticaConsideraciones pragmatica
Consideraciones pragmaticaJose Gallardo
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3Garcia-12
 
Unidad 3
Unidad 3Unidad 3
Unidad 3tf94
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLuis Fernando Aguas Bucheli
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionAlberto Jacome
 
Portafolio de evidencias actividades
Portafolio de evidencias actividadesPortafolio de evidencias actividades
Portafolio de evidencias actividadesJames Logan
 
Programación de nivel básico 1. c1. p1.
Programación de nivel básico 1. c1. p1.Programación de nivel básico 1. c1. p1.
Programación de nivel básico 1. c1. p1.DENIRAMIREZANDRADE
 
Mapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CMapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CCésar Ojeda
 
Leng progr 01
Leng progr 01Leng progr 01
Leng progr 01Luis Paez
 
Giseproi curso de programación - sesión 1 a - introducción a la programación
Giseproi   curso de programación - sesión 1 a - introducción a la programaciónGiseproi   curso de programación - sesión 1 a - introducción a la programación
Giseproi curso de programación - sesión 1 a - introducción a la programacióngiseproi
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C SharpEdgardo Martinez
 

La actualidad más candente (18)

Ejercicios de test - desarrollo y programación
Ejercicios de test  -  desarrollo y programaciónEjercicios de test  -  desarrollo y programación
Ejercicios de test - desarrollo y programación
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Programacion java
Programacion javaProgramacion java
Programacion java
 
Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07
 
1 introduccion a_java_1er_parte
1 introduccion a_java_1er_parte1 introduccion a_java_1er_parte
1 introduccion a_java_1er_parte
 
Consideraciones pragmatica
Consideraciones pragmaticaConsideraciones pragmatica
Consideraciones pragmatica
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
Practica 09
Practica 09Practica 09
Practica 09
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacion
 
Portafolio de evidencias actividades
Portafolio de evidencias actividadesPortafolio de evidencias actividades
Portafolio de evidencias actividades
 
Programación de nivel básico 1. c1. p1.
Programación de nivel básico 1. c1. p1.Programación de nivel básico 1. c1. p1.
Programación de nivel básico 1. c1. p1.
 
Mapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CMapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje C
 
Leng progr 01
Leng progr 01Leng progr 01
Leng progr 01
 
Giseproi curso de programación - sesión 1 a - introducción a la programación
Giseproi   curso de programación - sesión 1 a - introducción a la programaciónGiseproi   curso de programación - sesión 1 a - introducción a la programación
Giseproi curso de programación - sesión 1 a - introducción a la programación
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 

Similar a Tutorial warp r4

Similar a Tutorial warp r4 (20)

Software conceptions & foundations
Software conceptions & foundationsSoftware conceptions & foundations
Software conceptions & foundations
 
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓNNIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
 
Laboratorio 4
Laboratorio 4Laboratorio 4
Laboratorio 4
 
Laboratorio 4
Laboratorio 4Laboratorio 4
Laboratorio 4
 
Practica con el ISE de Xilinx
Practica con el ISE de XilinxPractica con el ISE de Xilinx
Practica con el ISE de Xilinx
 
Programac io n pdf
Programac io n pdfProgramac io n pdf
Programac io n pdf
 
Laboratorio 4
Laboratorio 4Laboratorio 4
Laboratorio 4
 
Tecnologia actividad 2.docx
Tecnologia actividad 2.docxTecnologia actividad 2.docx
Tecnologia actividad 2.docx
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Saberes y tareas del programador
Saberes y tareas del programadorSaberes y tareas del programador
Saberes y tareas del programador
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Herramientas de diseño para sistemas embebidos
Herramientas de diseño para sistemas embebidosHerramientas de diseño para sistemas embebidos
Herramientas de diseño para sistemas embebidos
 
Taller Tecnología Actividad #2.pdf
Taller Tecnología Actividad #2.pdfTaller Tecnología Actividad #2.pdf
Taller Tecnología Actividad #2.pdf
 
Taller Tecnología Actividad #2.pdf
Taller Tecnología Actividad #2.pdfTaller Tecnología Actividad #2.pdf
Taller Tecnología Actividad #2.pdf
 
Taller Tecnología Actividad #2 (1).pdf
Taller Tecnología Actividad #2 (1).pdfTaller Tecnología Actividad #2 (1).pdf
Taller Tecnología Actividad #2 (1).pdf
 
Taller Tecnología Actividad #2.pdf
Taller Tecnología Actividad #2.pdfTaller Tecnología Actividad #2.pdf
Taller Tecnología Actividad #2.pdf
 

Más de Rafael Duran

Ft sistemas 1º y 2º orden
Ft sistemas  1º y 2º ordenFt sistemas  1º y 2º orden
Ft sistemas 1º y 2º ordenRafael Duran
 
Grafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteusGrafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteusRafael Duran
 
Ejemplo de filtros
Ejemplo de filtrosEjemplo de filtros
Ejemplo de filtrosRafael Duran
 
Circuito rl transitorio y frecuencia
Circuito rl transitorio y frecuenciaCircuito rl transitorio y frecuencia
Circuito rl transitorio y frecuenciaRafael Duran
 
Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)Rafael Duran
 
Divisores de v e i
Divisores de v e iDivisores de v e i
Divisores de v e iRafael Duran
 
Apuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o ordenApuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o ordenRafael Duran
 
Practicas con gals
Practicas con galsPracticas con gals
Practicas con galsRafael Duran
 
Palabra de configuración
Palabra de configuraciónPalabra de configuración
Palabra de configuraciónRafael Duran
 
Arduino introducion
Arduino introducionArduino introducion
Arduino introducionRafael Duran
 
Ejemplos de win cupl
Ejemplos de win cuplEjemplos de win cupl
Ejemplos de win cuplRafael Duran
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduinoRafael Duran
 
Practicas con u p pic
Practicas con u p picPracticas con u p pic
Practicas con u p picRafael Duran
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduinoRafael Duran
 
Ciclo w r 24 lc16b
Ciclo w r 24 lc16bCiclo w r 24 lc16b
Ciclo w r 24 lc16bRafael Duran
 
Unidades i y ii dpm
Unidades i y ii dpmUnidades i y ii dpm
Unidades i y ii dpmRafael Duran
 

Más de Rafael Duran (20)

Ft sistemas 1º y 2º orden
Ft sistemas  1º y 2º ordenFt sistemas  1º y 2º orden
Ft sistemas 1º y 2º orden
 
Grafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteusGrafica de transitorio matlab e isis de proteus
Grafica de transitorio matlab e isis de proteus
 
Voltaje eficaz
Voltaje eficazVoltaje eficaz
Voltaje eficaz
 
Ejemplo de filtros
Ejemplo de filtrosEjemplo de filtros
Ejemplo de filtros
 
Circuito rl transitorio y frecuencia
Circuito rl transitorio y frecuenciaCircuito rl transitorio y frecuencia
Circuito rl transitorio y frecuencia
 
Solución tarea 1
Solución tarea 1Solución tarea 1
Solución tarea 1
 
Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)Ley de voltajes de Kirchhoff (mallas)
Ley de voltajes de Kirchhoff (mallas)
 
Divisores de v e i
Divisores de v e iDivisores de v e i
Divisores de v e i
 
Apuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o ordenApuntes filtros activos de 1er y 2o orden
Apuntes filtros activos de 1er y 2o orden
 
Practicas con gals
Practicas con galsPracticas con gals
Practicas con gals
 
Palabra de configuración
Palabra de configuraciónPalabra de configuración
Palabra de configuración
 
Arduino introducion
Arduino introducionArduino introducion
Arduino introducion
 
Ejemplos de win cupl
Ejemplos de win cuplEjemplos de win cupl
Ejemplos de win cupl
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduino
 
Practicas con u p pic
Practicas con u p picPracticas con u p pic
Practicas con u p pic
 
Practicas con arduino
Practicas con arduinoPracticas con arduino
Practicas con arduino
 
Ciclo w r 24 lc16b
Ciclo w r 24 lc16bCiclo w r 24 lc16b
Ciclo w r 24 lc16b
 
Unidades iii
Unidades iiiUnidades iii
Unidades iii
 
Unidades i y ii dpm
Unidades i y ii dpmUnidades i y ii dpm
Unidades i y ii dpm
 
Práctica nº4
Práctica nº4Práctica nº4
Práctica nº4
 

Tutorial warp r4

  • 1. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales Mi primer programa en WarpR4. ¿Que es WARPR4? Es un potente compilador lógico para basado en VHDL para Dispositivos Lógicos Programables específicos, simples y complejos. VHDL es un lenguaje de programación que debe su nombre a 2 tipos de procesamiento de datos en Hardware VHSIC (Very High Speed Integrated Circuits) and HDL(Hardware Description Language)y es considerada la herramienta más poderosa por universidades e industrias en la planificación diseño y concepción de sistemas digitales de alto desempeño basados en PLD y FPGA. A diferencia de WINCUPL, VHDL permite diseñar sistemas con un grado de dificultad alto en múltiples capas de integración lógica o dispositivos lógicos dentro de un mismo encapsulado, respetando normas internacionales basadas en la IEEE para la programación de ASIC, PLD y FPGA. En la década de los 90 el departamento de defensa de los EU adopto el Std adicional de VHDL ieee.1164 para sus ASIC (Application Specifics Integrated Circuits). Aunque WINCUPL y VHDL son iguales la aceptación y desarrollo depende del usuario final, debido a que el primero en algunos diseños no es tan complejo en la programación como lo es el VHDL. Las empresas que más desarrollo tiene en este campo son Xilinx, Cypress y Atmel, aunque existen compañías en el mercado desarrollando aplicaciones similares pero no tienen la misma aceptación. Ing. Rafael Durán Campoamor Página 1
  • 2. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales ¿Como crear mi primer programa? Primero necesitamos tener algo que resolver, en este caso una función lógica dada por . Una vez instalada la aplicación, buscamos el programa ejecutable en mis programas en WARP dando click en Galaxy, que es la interfaz gráfica de usuario. A continuación se abrirá la siguiente ventana. Ing. Rafael Durán Campoamor Página 2
  • 3. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales Se requiere crear un nuevo proyecto y aparecerá la siguiente ventana a que daremos el nombre de primero: Después damos click en new de la ventana de dialogo y se abrirá la ventana de edición de dialogo Ing. Rafael Durán Campoamor Página 3
  • 4. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales Debemos respetar ciertas reglas de programación, en forma genérica una estructura se compone de *std_logic_1164 contiene todo tipo de datos empleados en VHDL * numeric_std para utilizarse con diferentes tipos de datos. library ieee; librería de trabajo * numeric_bit trabaja con números binarios con signo o sin signo * std_arith define funciones y operadores aritméticos use nombre_libreria_paquete.all; entity nombre is *entity son todos los elementos que forman de manera port (var1,var2, varn: in tipo_dato; individual o conjunto un sistema digital. (sumador, var_salida: out tipo_dato); comparador, compuertas, flip flops, etcétera) end nombre; architecture funcional of nombre is begin proceso condiciones de operación Generalmente aquí va el cuerpo del programa y se aplican los conocimientos de end condición; diseño digital basada en un lenguaje de programación utilizando directamente el end proceso; hd descrito, de ahí el nombre de lenguaje. end funcional; Ing. Rafael Durán Campoamor Página 4
  • 5. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales Como ya tenemos una función lógica definida ahora realizaremos nuestro programa. library ieee; use ieee.std_logic_1164.all; entity funcion1 is port(a,b,c: in std_logic; F: out std_logic); end funcion1; architecture compuertas of funcion1 is begin F<=((not a and b) or (a and not c)); end compuertas; Ahora agregamos el programa al proyecto de primero Ing. Rafael Durán Campoamor Página 5
  • 6. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales Seleccionamos ahora el dispositivo para poder compilar el programa de acuerdo al PLD obtenido, en este caso GAL 22V10A. Se deberá crear un archivo con extensión .jed o jedec (joint electronic device engineering council) dependiendo de la aplicación y este será el que carguemos en el programador. Ing. Rafael Durán Campoamor Página 6
  • 7. Universidad del Valle de México Campus Cuernavaca Dispositivos lógicos secuenciales Ahora veremos el ejemplo de cómo generar todas las funciones lógicas básicas con ese mismo GAL 22V10A. Se requiere un programa que realice las funciones and, or, not a, not b, nand, nor, xor y xnor similar al programado en wincupl. library ieee; use ieee.std_logic_1164.all; entity funciones is port (a,b: in std_logic; f1,f2,f3,f4,f5,f6,f7,f8: out std_logic); end funciones; architecture compuertas of funciones is begin f1<= not a; f2<= not b; f3<= a and b; f4<= a or b; f5<= a nand b; f6<= a nor b; f7<= a xor b; f8<= a xnor b; end compuertas; Ing. Rafael Durán Campoamor Página 7