Curso para iniciarse con FPGAs

Hola Ferny,

Gracias por responder. No habia puesto el reloj, lo de las comillas no me da error en los otros programas mas simples que he compilado.

ahora queda asi, y te adjunto un archivo con los mensajes de error.

Código:
NET "anodes<0>" LOC = "F17";
NET "anodes<1>" LOC = "H17";
NET "anodes<2>" LOC = "C18";
NET "anodes<3>" LOC = "F15";

NET "sevenseg<0>" LOC = "L18";
NET "sevenseg<1>" LOC = "F18";
NET "sevenseg<2>" LOC = "D17";
NET "sevenseg<3>" LOC = "D16";
NET "sevenseg<4>" LOC = "G14";
NET "sevenseg<5>" LOC = "J17";
NET "sevenseg<6>" LOC = "H14";

NET "mando<0>" LOC = "B18";
NET "reset<1>" LOC = "D18";

NET "puerta_cerrada<0>" LOC = "G18";
NET "puerta_abierta<1>" LOC = "K18";

NET "clk" LOC = "B8";
 

Adjuntos

Última edición por un moderador:
ok, se queja porque tienes mal tu UCF, has nombrado mal tres señales, te pongo en rojo lo que tienes que eliminar

NET "anodes<0>" LOC = "F17";
NET "anodes<1>" LOC = "H17";
NET "anodes<2>" LOC = "C18";
NET "anodes<3>" LOC = "F15";

NET "sevenseg<0>" LOC = "L18";
NET "sevenseg<1>" LOC = "F18";
NET "sevenseg<2>" LOC = "D17";
NET "sevenseg<3>" LOC = "D16";
NET "sevenseg<4>" LOC = "G14";
NET "sevenseg<5>" LOC = "J17";
NET "sevenseg<6>" LOC = "H14";

NET "mando<0>" LOC = "B18";
NET "reset<1>" LOC = "D18";

NET "puerta_cerrada<0>" LOC = "G18";
NET "puerta_abierta<1>" LOC = "K18";
 
Hola Ferny,

Era tal como decias, lo he borrado y ya lo he podido cargar en mi Nexys 2, y ver que funciona.

Por cierto me daba algunas advertencias con el reloj, tienes alguna idea?

Muchas gracias de nuevo, y sigo probando cosas.

Un saludo.
 

Adjuntos

Nepper

Miembro algo reconocido
No cazo una!! :cabezon:

No entiendo nada!!!
¿de que están hablando?
FPGAS?
VHDL?
XILINX?
ISE?
1RO CUALE EL LA DIFERENCIA ENTRE UN FPGA Y UN CPLD????????
CPLD?
Placas de desarrollo?
multiplexores en cascada? (No hagas eso... la última resonancia en cascada la hiso Gordon Freeman y abrió un universo paralelo... o por lo menos lo multiplexó...)

HAHAHAHAHHHHH!AAAAAAAAAAA!!!! ME DUELE LA CABEZA!!!!!!! :confused:

Me metí en el foro de curiosidad, pero la verdad que no tengo idea de que clase de tecnología están utilizando...

Lo que yo entendí hasta ahora:
Existen unos pequeños integrados que su función es simplemente comportarse como puerta lógica... La característica que hace especiales a estos integrados, es que su lógica de puertas puede ser "programada", de esta forma, construimos 100000 chip's identicos (logrando la construcción en masa), y que los clientes le pongan la lógica que se les cante...
En otras palabras, puedo comprarme un decodificador 7 segmentos, o comprarme este chip, programable la lógica de compuertas para que sea igual a la del decodificador 7 segmentos... la única diferencia será el tamaño y el precio..

¿es eso correcto?

Hago estas preguntas porque lo veo interesante... o sea, quisiera saber sus aplicaciones generales, si es muy usado...
también que digan algunos precios estándares para ver a que nos enfrentamos XD (no es obligatorio)

Estuve leyendo la wik****ia, y no profundiza mucho el concepto... bueno... si lo hace, pero necesito una segunda opinión para cerrar la idea....
Ahora, yo me enteré de esto por el foro, pero... esta tecnología ¿cómo se aprende fuera del foro? ¿ustedes de donde aprendieron todo esto?

Lo digo porque me intriga la situación... o sea, en un laburo necesitan que alguien programe en FPGA, entonces ¿llaman a un ing electrónico o informático? y suponiendo que no saben ¿la empresa los capacitó o vienen sabiendo porque hicieron un curso por correo?
No pretendo insultar a nadie, solamente me interesa saber cómo se metieron el algo tan... ¿raro?... ¿desconocido? :unsure:
 
Oye nepper un fpga (Field Programmable Gate Array) y un cpld (Complex Programmable Logic Device) son muy parecidos pero como tu dices puedes comprar un deco ya hecho de 14 pines pero tambien lo podrias programar en un dispositivo de estos pero normalmente la capacidad de cualquiera de los dos es tan amplia que en ellos se pueden programar hasta microprocesadores, es un desperdicio programar solo un simple deco, espero que entiendas.
La principal diferencia ente un cpld y un fpaga es su arquitectura es decir la forma como estan contituidos internamente pero igual son programables. Su programcion consta de poner los estados siguentes como en una tabla de veradad, se pude con if, when, else, etc con palabras de descripcion de lenguaje comun de programacion tales como c, puedes poner ecuaciones logicas, tambien puedes interconectar bloques de circuitos logicos entre otros.

En la escuela o en el trabajo , yo aprendi en la escuela donde contamos con algunas de estas tarjetas especiales con perifericos.
 
Última edición:

Nepper

Miembro algo reconocido
XD
Ok, entonces estaba en lo cierto, pero... ¿que utilidades se les dá? digo, ahora que veo esto, me doy cuenta que me faltan por conocer muchos componentes y sistemas digitales electrónicos, tal vez, yo hice cosas complejas donde tranquilamente podía haber utilizado este simple componente (que no lo creo) y me gustaría que mencionen utilidades, y conceptos para saber donde aplicarlo, porque si no me equivoco, en varias situaciones lo pude haber utilizado... donde antes utilizaba 5 integrados con compuertas, ahora simplemente me puedo programar uno de estos y listo.
 
De hecho tienes razon, pero basicamente se utiza en microprocesadores caseros, microcontroladores y sistemas embebidos. Que son sistemas completos de control logico capaces de "pensar" debido a la gran logica que se les da. Para aplicaciones con cientos o miles de compuertas, pero como dices pudes programar solo 5. Para programar a un nivel tan bajo te convendria utilizar otros dispositivos logicos programables (PLD) como los GAL o PAL que son base de la arquitectura de los CPLD, son mucho mas baratos, acesibles y tienen una capacidad reducida de conexion de compuertas internas te podre decir que yo he usado un GAL22V10 (22in 10out) y con eso he hecho mux demux deco codificadores contadores sumadores restadores multiplicadores maquinas de estado pero todas menores a 4 bits.
 

Nepper

Miembro algo reconocido
Chico3001, tu enlace abrió la caja de pandora, ese enlace me llevó a otros enlaces, y todavía no termino de leer todo...

Si el mundo se destruye en el 2012 es porque aprendí a programar FPGAs :LOL:

Eso tambien me trajo buenas noticias, porque veo que el "Informático" está muy alejado del Harware, contrariamente a lo que piensan unos amigos "informáticos" (y)
 
Si me he topado con Informaticos que creen saber mucho de electronica y viceversa... la verdad es que son campos completamente diferentes que se complementan entre si...

Todos los Informaticos necesitan saber algo de electronica para entender mejor que programan y como se puede ir optimizando.. por el contrario los electronicos necesitan saber algo de informatica por que la electronica (de microprocesadores) no hace nada sin la informatica

Desafortunadamente no se puede aprender todo... hay que aprender a buscar expertos en cada area y tratar de explicarles que es lo que se requiere para formar un grupo de trabajo lo mas flexible que se pueda....
 
Si... un FPGA es un PLD....

De echo cualquier logica programable es considerada un PLD, (PLD = Programable Logic Device = Dispositivo logico programable)
 
Hola buenas noches soy nuevo en el foro, pero el tema de las FPGA's me parece muy interesante. En mi caso cuento con una tarjeta de evaluacion de ALTIUM que cuenta con una FPGA sprtanAN, que es un programa para el desarrolo de dispositivos electronicos y me gustaria compartir un poco de lo q es este software y conocer mas de otros software.
 
Para poder programar bien una fpga, es necesario saber antes electronica y los componentes basico que lo forman. Un amigo mio es informatico y está teniendo grandes dificultades para entender la programacion VHDL y como se comporta la fpga.

Un saludo
 
Última edición:
Para poder programar bien una fpga, es necesario saber antes electronica y los componentes basico que lo forman. Un amigo mio es informatico y está teniendo grandes dificultades para entender la programacion VHDL y como se comporta la fpga.

Un saludo
Ha! es que el asunto es muy sencillo.

La FPGA no es un microcontrolador que utiliza una programacion lineal. El VHDL no es un lenguaje de programacion, es un "lenguaje descriptor de circuitos".
Es decir, estas haciendo circuitos que operan simultaneamente, o como dice el concepto propiamente, son circuitos de lógica combinacional.

Cuando tu pones dos instrucciones, sease como:
sal <= en1 and en2;
sal2 <= en3 or en4;
no se ejecuta la primer linea y despues la segunda, si no que se ejecutan simultaneamente.

Hay proceso directivas propias del vhdl que permiten hacer proceso síncronos secuenciales, como los for, pero a fin de cuentas, el vhdl terminara deshaciendolo a la hora de la implementacion y todo terminara metido como un circuito combinacional y alguna parte síncrona.
De ahí el porque a veces el vhdl implementa cosas "raras".

Un programador tradicional, particularmente tendra el problema de entender eso. Es algo tan drastico como el cambio de programación lineal a la programacion en objetos y multihilo, por mencionar un ejemplo.

salu2!
 
hola a todos

Apenas estoy aprendiendo vhdl, pero en la escuela me han puesto un proyecto a desarrollar, este consiste en hacer un modulo conversor analogo digital de tres entradas con visualizacion en LCD en la Spartan 3E. Quisiera que alguien me ayudara con esto.
 
Hola biko

Para conectar el microprocesador a una fpga, puedes utilizar rl protocolo uart, es decir, realizar lso componentes necesarios para hacer los dispositivos que necesites, pero hay un libro que ya te viene todo hecho y bien explicado:

Wiley.FPGA.Prototyping.by.VHDL.Examples.Xilinx.Spartan.3.Version.Feb.2008

Yo lo utilize para conectar la fpga al ordenador y demas¡¡¡

Un saludo
 

Temas similares

Arriba