TODOPIC

Otros Microcontroladores / Dispositivos programables => Lógica Programable => Mensaje iniciado por: LABmouse en 26 de Octubre de 2008, 16:48:22

Título: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 26 de Octubre de 2008, 16:48:22
Hola amigos y amigas.

Quiero empezar a escribir sobre mis primeros pasos en la odisea de aprender a trabajar con las FPGA y en general con dispositivos lógicos programables.

1.   Por que es importante trabajar con Dispositivos Lógicos Programables?

Actualmente, los avances tecnológicos en semiconductores y por ende de los dispositivos programables son impresionantes. La gran competencia entre diferentes marcas de fabricantes de Microcontroladores por sacar al mercado dispositivos más potentes, con más periféricos, con menos consumo de energía, y cada vez más pequeños, son una muestra de ello.  El nacimiento de los microcontroladores permitió una de las revoluciones tecnológicas más grandes de todos los tiempos. Sus bajos costos, altas prestaciones y gran flexibilidad los hacen los dispositivos por excelencia en muchos de los productos electrónicos que hay actualmente en el mercado. Pero por mas potentes que sean los microcontroladores actuales, por mas veloces que los fabriquen, siempre hay una limitación.

Los Microcontroladores (MCUs), al igual que los procesadores digitales de señales (DSPs) y los controladores digitales de señales (DSCs). Son circuitos integrados diseñados para interpretar y ejecutar un programa de forma secuencial. El procesador lee y ejecuta una por una las instrucciones programadas por el usuario y toma decisiones de forma secuencial dependiendo de la respuesta del circuito que lo acompañe externamente. El gran problema llega cuando se necesitan ejecutar dos o más instrucciones al mismo tiempo, cuando se necesitan leer 2 o mas señales al mismo tiempo, cuando se quieren obtener varias señales muy importantes en el mismo instante de tiempo.   Esto se denomina “Paralelismo” o capacidad de realizar tares en forma paralela.  Es en este preciso instante que el diseñador electrónico debe tomar una decisión y abandonar la idea de seguir trabajando con MCUs, y/o DSPs, y/o DSCs.  Los dispositivos Lógicos Programables, solucionan este gran problema.

2.   Diferencia entre los MCUs, DSPs, DSCs y los PLDs.

En los Dispositivos Lógicos Programables (PLDs), no se programa el comportamiento del chip creando un “Software” para que sea ejecutado de forma secuencial. Acá se programa es el comportamiento del “Hardware” para que responda de forma instantánea según las entradas programadas.

Para entenderlo mejor podemos ver este ejemplo:

Si usáramos un PIC para que lo que entre por un PIN salga por otro pero negado, seria necesario hacer esto:

Repetir:
     Btfss   porta,0
     Goto    Sacar0
Sacar1:
     Bsf     porta,1
     Goto    repetir
Sacar0:
     Bcf     porta,1
     Goto    repetir
      
Vemos que el MCU en este caso un PIC, debe primero preguntar por el estado de un PIN (pin_a0), luego según el valor leído decide si salta o no para colocar un 1 o un 0 a la salida (pin_a1), luego salta atrás para repetir este proceso.  Si habláramos en tiempo necesitado para realizar esta tarea, serian más de 6 ciclos de instrucción que se convierten en 6x4 ciclos de reloj. Así tengamos un PIC corriendo a 12MIPS (Con cristal de 48MHz), existirá un instante de tiempo en el que el procesador estará ejecutando lo de abajo (Sacando un 1 o un 0) o saltando para regresar y no podrá ver si existió un cambio a la entrada. Ahora imaginemos un proceso mucho mas largo después de leer la entrada…

Ahora bien, en un dispositivo lógico programable (PLD) como se haría este proceso:

 
(http://img505.imageshack.us/img505/1535/notjv3.png)
No hay retardo alguno, es hardware realizando esta tarea, no hay que leer instrucción alguna, no hay pérdida de tiempo. Bueno el único tiempo es el que nunca se podrá evitar y es el del cambio de estado a la salida.

Con lo anterior podríamos decir que cuando programamos un PLD no programamos Software sino Hardware, es por esto que los lenguajes para programar estos dispositivos se les llaman lenguajes de descripción de hardware.



Una Petición:
Este Subforo, no debería llamarse VHDL (Lenguaje para Descripción), ya que VHDL hace referencia un lenguaje específico para programar los PLDs. También existe Verilog y otra forma de programar que es descripción grafica. 
Debería llamarse Dispositivos Lógicos Programables (PLDs y FPGAs).

Tampoco creo que deba estar entre Entornos de Programación para PC, ya que no es un PC al que se programa.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Modulay en 26 de Octubre de 2008, 16:53:40
Buena iniciativa,Ernesto.
¿Cual es tu plan de ataque? ¿ModelSim? ¿Ise?
¿Ejemplos para poner en práctica sobre una placa de pruebas?

Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 26 de Octubre de 2008, 17:00:13
Hola amigo Modulay, la idea es mostrar los proyectos que empezare a trabajar con el entrenador que recién compre y me llego ayer :).

(http://direct.xilinx.com/images/image106303.jpg)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Modulay en 26 de Octubre de 2008, 17:03:08
Ise...estupendo.
Yo te puedo colaborar con algunos ejemplos si te parece bien: registros,contadores,decodificadores y esas cosas
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Nocturno en 26 de Octubre de 2008, 18:15:40
Me suscribo al hilo. Gracias por la idea, Ernesto.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 26 de Octubre de 2008, 20:18:54
Hola amigo Manolo, Ten por seguro que estaré metido en este tema tiempo completo, ya que es uno de los temas que mas me han interesado y que me han llevado a ingresar nuevamente a la U.

Amigo Modulay, Claro que si, es un gusto que todos aportemos al tema, así se enriquece el hilo.

3.   Utilidad real de los dispositivos programables.

Los PLDs nacieron desde 1970 cuando TEXAS Instrument desarrollo un C.I que fue denominado de Mascara programable basados en memorias ROAM. Mas adelante en 1971 nacieron las PLA creados por Nacional Instruments,  después General Electric saco los primeros PLD, basados en memorias EPROM. En 1978 nacieron las PAL (Programmable Array Logic). En 1985 Lattice Semiconductors desarrollo las GAL, con las cuales se podían diseñar circuitos con más de 100 puertas lógicas, con la ventaja que ahora su memoria podía ser borrada eléctricamente y reutilizada. Las GAl fue la solución durante mucho tiempo cuando se necesitaban implementar circuitos digitales combinacionales y secuenciales no muy complejos.  Con la necesidad de implementar circuitos cada vez más complejos, nacieron las CPLDs que no es más que PLDs Complejos, que pueden llegar a incorporar cientos de miles de compuertas lógicas.  Ya su hermano mayor son las FPGA, que es el máximo dispositivo lógico programable que existe, en la cual se pueden implementar diseños en los que se necesitan un alto grado de paralelismo y procesamiento de datos en tiempo real. Las FPGA actualmente las podríamos encontrar en pantallas RGB gigantes, ya que se pueden generar la cantidad de señales PWM que se deseen, todas totalmente sincronizadas y sin ningún tipo de restricción de tiempo. Los Televisores gigante de plasma o LCD del mercado necesitan de esto para poder controlar todos los píxeles sin ningún problema.

Actualmente las FPGA están siendo combinadas con DSPs y con MCUs en una misma pastilla, es decir lo mejor de todos los mundos en una sola pastilla. ATMEL es uno de estos fabricantes, XILINX es líder de ventas a nivel mundial de PLDs. En mi caso, seleccione la SPARTAN-3AN que es una FPGA con FLASH interna de 16MBytes, con mas de 1.400.000 compuertas. 2816 Bloques lógicos, y 502 pines I/O.

Este es un video que hago para que vean una practica de demostración que trae la FPGA pre-programada de fabrica en el entrenador. Podemos ver algu muy muy importante.




Una FPGA es capas de:

Generar señal de VIDEO VGA para el monitor.
Genera señal de audio con mensajes y musica que es amplificada por los parlantes externos.
Leer un teclado o un Mouse PS2.
Envia y recibe datos RS232.
Controla pantalla LCD 2x16 alfanumerica
Lee 4 interruptores on/off y uno rotatorio, 4 pulsadores
8 Leds.

Y todo lo anterior al tiempo!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: jpernesto_666 en 04 de Noviembre de 2008, 03:12:19
 :shock: wooooooorales,esa aplicacion del vidoe que pusiste se ve mega interesante,tengo muchas ganas de experimentar con un fpga,habia oido de sus capacidades pero ahora no me queda duda de su potencial,ya haz realizado alguna aplicacion tuya para estos dispositivos???,saludos!.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 05 de Noviembre de 2008, 00:42:47
Hola jpernesto_666-

No, hasta ahora estoy empezando con este mundo de las FPGAs. La idea es lograr lo mismo del vídeo, pero haciéndolo desde cero y entendiendo como se hace.}

SALUDOS!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: pato en 04 de Diciembre de 2008, 23:23:10
amigos que paso me parece muy interesante este tema ...porfaaa colaboren qe me gustaria aprender sobre ello

pato :-)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 05 de Diciembre de 2008, 00:43:28
Tranquilo pato, que estoy preparando una demostración del potencial de estos dispositivos lógicos programables con algo que todos estamos intentando lograr con PIC, pero que se hace un poco complicado.

Específicamente es sobre lo que estamos tratando en este (http://www.todopic.com.ar/foros/index.php?topic=18345.msg193556#msg193556) hilo. Un Giroplay es lo que estoy construyendo y gobernado por un PIC16F628 para controlar los datos a ver en la pantalla, y una CPLD seria el generador PWM para los led RGB.

Como comentaba antes una CPLD es:
Citar
las CPLDs que no es más que PLDs Complejos, que pueden llegar a incorporar cientos de miles de compuertas lógicas

Ya veremos que resulta de este esfuerzo..

SALUDOS!!


Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: manutek en 05 de Diciembre de 2008, 01:01:48
TRE-MEN-DO! :shock: :shock: :shock: :shock:
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: joshdaniel en 21 de Diciembre de 2008, 01:28:44
hola, estoy aprendiendo un poco sobre fpga y decidi pedir el SPARTAN 3AN y bueno fue un erro mio supongo ya que ni bien me llego decidi probarlo y por la impaciencia no lei la guia de inicio rapido lo encendi y vi que los leds  parpadeaban, bueno yo esperaba como vi en un video un mensaje de inicio en el LCD, pero no aparecio ninguno. Luego despues de modificar sin sentido los jumpers y sin obtener resultados encontre la guia de inicio rapido y bueno hice todo lo que dice, consegui muchas cosas como por ejemplo del conector vga yel audio pero no los mensajes en el lcd y tampoco poder cambiar el item de configuracion que sale en la pantalla de video, cuando presionaba uno de los cuatro botones me aparecia en la pantalla "terminal" o sino una imagen rara. Bueno solo quisiera saber el cambio irracional que hice de los jumpers pudieron afectar esas funciones. Gracias de antemano y prometo no ser tan tonto para hacer lo mismo otra vez aqui le dejo mi blog con imagenes de la prueba!!!!!!!!. http://josh-disenio.blogspot.com/ (http://josh-disenio.blogspot.com/)

Atte Joshdaniel
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 22 de Diciembre de 2008, 10:58:01
Que buena noticia!! De seguro lograremos practicas interesantes con esta tarjeta!.

Esta SPARTAN es barata pero potente..Ahora que estoy en Vacaciones, entraremos de lleno con este tema.

SALUDOS!

PD: Bienvenido al FORO!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: scientist en 23 de Diciembre de 2008, 12:25:31
hola PICmouse, yo tambien estaba viendo si me compraba una tarjeta digilent, y ahora no me queda mas claro, la voy a adquirir, una pregunta, como se programan? ya tiene el programador JTAG integrado en la tarjeta? o tengo que adquirirlo aparte? saludos
mas preguntas, donde la pediste? directo de la pagina? estuve buscando el modelo que tienes y no aparece, solo la Spartan 3E Starter Board que es la que mas se le parece, saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 23 de Diciembre de 2008, 12:44:13
Hola scientist!

NO COMPRES LA 3E!

La 3AN es la ultima que salio de XILINX, entre sus mejoras, esta en que tiene la memoria FLASH interna y ademas es de mayor capacidad que la que trae la 3E externa.

Lo del JTAG, efectivamente ya trae el programador interno en la tarjeta. comprando el sistema de desarrollo tienes todo para trabajar con ella.

La compra fue directa a XILINX.. Acá la tienes (http://www.xilinx.com/products/devkits/HW-SPAR3AN-SK-UNI-G.htm).

El tipo de lenguaje de descripción que usare es VERILOG y SCHEMATIC. Este ultimo estoy trabajando por ratos en un proyecto con CPLD y asi empezamos por lo mas bajo.

SALUDOS!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: scientist en 23 de Diciembre de 2008, 13:06:52
 :-/ :-/ :-/ gracias PICmouse, estuve leyendo acerca de los fpga desde hace rato, y cheque que en national instruments dicen qe puedes alojar un programa que hagas de labview en un fpga y desplegarlo en el pantalla sin necesidad de la pc, saludos, cuanto te cobraron de envio e impuestos de importacion? perdona la indiscrecion saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 23 de Diciembre de 2008, 13:44:10
Si es cierto!

Desde LABVIEW se puede desarrollar todo un sistema de control basado en FPGA, y luego de tenerlo simulado funcionando, solo resta bajárselo a la fpga directamente sin un PC.

Eso lo escuche hace poco, realmente nada conozco de ese tema, pero seguro estaremos metidos en ese tema porque es muy interesante.

La importación aduana me cobra el 30% de impuestos de nacionalización.  a eso sumamos unos 47 dolares de transporte..Siempre salio cara. Pero es un tema muy interesante y vale la pena meterle el diente.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: scientist en 23 de Diciembre de 2008, 14:19:24
 :) una spartan 3an US$200, envio US$60, iva 15%
ver como tu tarjeta desplega un programa de labview hecho por ti.........no tiene precio
 :D :D :D :D :D :D

vale mucho la pena mi estimado, creoque la comprare por avnet, es el que mas me convence, jejeje, saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 23 de Diciembre de 2008, 23:38:22
Hace algún tiempo yo compré tarjetas Spartan 3 Starter Kit en Digilent y directamente con Xilinx (supongo que estaban despachando todo ya que ahora no venden directamente :P), también encargué dos Spartan 3E Starter para un amigo, ahorita no recuerdo el precio pero a ver si puedo encontrarlo y les comento :).

También, en algún momento que encuentre tiempo pondré lo poco que hice con VHDL por aquí, mientras, estaré atento a lo que puedan compartirnos :).
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: AKENAFAB en 24 de Diciembre de 2008, 00:12:26

Ahora se me hace caro xD esperemos que el peso gane algo contra el dollar que sino esta muy colgado.

Compa scientist avisame cunado pienses comprar la tuya para ver si en ese lapso xD ya tengo para la mia tambien y lo pedimos juntos , si es que se peude claro esta! :mrgreen:

Solo veo que es una inversion de -+ 4500 pesos Mx >__<

Sera el proximo año!

Por cierto también le quiero entrar a este rollo.

Un saludo!

Felices Fiestas!

Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: scientist en 24 de Diciembre de 2008, 22:51:35
ok AKENAFAB estaremos en contacto, tambien esperare a que el dolar baje un poco
saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 29 de Diciembre de 2008, 17:43:55
Saludos.

Hace pocas semanas me llego una tarjeta de desarrollo que me compre la nexys2 de digilent.

Bueno hasta ahora no he echo mas que admirar la caja.

Me lei varios manuales sobre VHDL y bueno solo me queda empezar.

Me gustaria unirme a este grupo para empezar a realizar proyectos en los cuales pongamos a prueba y utilicemos todas
las caracteristicas de nuestras tarjetas de desarrollo.

Bueno si mas, que comience la diversión señores.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 03 de Enero de 2009, 14:30:44
Este es el juguete que me compre. Este año tengo como meta aprender a programarlo y realizar varias aplicaciones. :-/


(http://img132.imageshack.us/img132/2128/nexys2400mk9.jpg) (http://imageshack.us)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: droky en 03 de Enero de 2009, 20:31:52
Hola Yukardo,
Justamente la Nexis 2 es la próxima compra que tenía en mente... ¿que tal tus primeras apreciaciones?
¿Has comprado la de 500k o la de 1200k gates?
He pensado en ella ya que lo de implementar el LCD y demasiada SDRAM, en principio no lo veo necesario, más aún teniendo pocos conocimientos en FPGAs (tuve una Xilinx Coolrunner2 para hacer experimentos con CPLDs ) y esta Nexis2 se puede adquirir por 99$ con licencia académica, lo que es un caramelo muy jugoso.
Tambien tiene en desventaja con respecto a la que maneja Picmouse que el video es de 8 bits y la Spartan3AN creo que de 24 bits... pero me llegaría trabajar con 8 bits.
Ya contarás tus impresiones....
Salu2
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 04 de Enero de 2009, 13:49:00
Bueno la verdad es que soy nuevo en esto y no conozco mucho del tema, yo me iba a comprar la de 1200k gates pero al final no pude por cuestiones de la pagina.

Si bien lo mejor es comprarse una que contengan las mejores caracteristicas pienso que con lo que trae la tarjeta de desarrollo nexys2 se puede aprender y realizar muchos proyectos interesantes.

Luego mas adelante si es necesario adquiero una con mucho mayor potencial.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 05 de Enero de 2009, 16:29:28
Aqui coloco un material que puede ser de utilidad. Algunos estan en español y otros en ingles pero pueden ser de gran ayuda.

Links eliminados por Nocturno
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: droky en 05 de Enero de 2009, 23:20:31
...
Salu2
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Nocturno en 06 de Enero de 2009, 02:47:23
Yukardo, por favor, revisa las reglas del foro: está prohibido enlazar material con Copyright.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 07 de Enero de 2009, 00:42:59
Para los que aun no han comprado su tarjeta de desarrollo aqui les dejo un par de links para que vean algunos modelos.

Estos son los modelos de la pagina de xilinx, tambien indican los distribuidores que las venden.
  http://www.xilinx.com/products/boards/s3_sk_promo.htm (http://www.xilinx.com/products/boards/s3_sk_promo.htm)


Estos son los modelos que ofrece Digilent.
http://www.digilentinc.com/Products/Catalog.cfm?NavTop=2&NavSub=400&Cat=Programmable%20Logic (http://www.digilentinc.com/Products/Catalog.cfm?NavTop=2&NavSub=400&Cat=Programmable%20Logic)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 07 de Enero de 2009, 14:59:38
Tengo varios manuales y guias buenas en español, los que quieran escribanme un mensaje privado con su correo y yo se los envio.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 08 de Enero de 2009, 00:37:30
Aqui les dejo el link donde pueden descargar el Ise WebPACK y el ModelSim que son los programas necesarios para trabajar con el FPGA

http://www.xilinx.com/support/download/index.htm (http://www.xilinx.com/support/download/index.htm)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: joshdaniel en 08 de Enero de 2009, 01:43:57
yukardo disculpa la molestia en que se diferencian tantos programas que me vinieron con el Spartan 3an, ISE WebPack, ISE foundation Evaluation, ChipScope PRo, PlanAhead, aparte de esos vienieron otros mas en dvd EDK y otra vez ISE Foundation evaluation.
La verdad que no se como empezar esto me marea un poco, no entiendo cual es lo basico y para qe sirven las emas herramientas.
POrfavor como hago para empezar.  gracias
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 08 de Enero de 2009, 04:47:12
ISE Webpack
---------------
Incluye el Project Navigator, un IDE para desarrollo de proyectos con FPGAs y CPLDs de Xilinx, versión NO completa (gratuita). De todo lo que mencionas, sólo este es gratis. Este es el paquete básico para empezar con los dispositivos de Xilinx.

ISE Foundation
---------------
Lo mismo que el anterior, pero versión de pago, con todas las herramientas y drivers que no tiene el Webpack.

ChipScope
---------------
Conjunto de herramientas para análisis de rendimiento de proyectos (analizador lógico).

EDK
------
Embedded Device Kit, librerías y utilidades para desarrollo de dispositivos embebidos. Si mal no recuerdo incluye los procesadores software (soft processors) Microblaze y Picoblaze, así como la implementación de un PowerPC.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 08 de Enero de 2009, 15:24:35
Aqui les dejo este manual del ISE WebPACK, es excelente explican todo paso a paso.

http://toolbox.xilinx.com/docsan/xilinx10/books/docs/qst/qst.pdf (http://toolbox.xilinx.com/docsan/xilinx10/books/docs/qst/qst.pdf)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 17 de Enero de 2009, 20:30:03
Aqui les dejo el primer programa que he echo y probado en mi FPGA.

Es muy sencillo la idea es familiarizarse con el ISEweb pack.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity primero is
Port ( A : in STD_LOGIC;
B : in STD_LOGIC;
SIGNAL C : out STD_LOGIC);
end primero;

architecture primero of primero is

begin
C <= A AND B;

end primero; 
 
 

Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: pocher en 18 de Enero de 2009, 14:35:57
Una cosilla yukardo.

¿Porque a C le pones signal, y no directamente C: out STD_LOGIC ?
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: droky en 18 de Enero de 2009, 17:38:46
Ciertamente, al declararlo como puerto de salida, imlicitamente lo incluyes en la clase Signal...
Salu2
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: yukardo en 19 de Enero de 2009, 20:05:33
Bueno en realidad pense que lo tenia que poner como señal para poder sacarlo por un pin, pero despues me di cuenta que no era necesario ya que mas adelante uno define los pines en otra parte.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Spartana en 19 de Febrero de 2009, 14:26:41
Buenas buenas, estoy nueva por acá y recientemente adquirí un kit Spartan 3A (distinta a la 3AN) por medio de Avnet. Estoy a la espera de que me llegue la tarjeta para comenzar a experimentar con ella, así que me uno a los trabajadores por esta causa noble! de seguro tendremos excelentes resultados en pocos meses con tan pocos pero tan buena gente trabajando en esto ohhhhhh :mrgreen:...

El quickstart que publicó Yukardo efectivamente es muy útil para los recién llegados en este pueblo del FPGA como yo  :D es super chevere y todo va según el plan, te dan las indicaciones paso a paso (tipo receta de cocina) para programar tanto en VHDL como en Verilog... Leyendo la ayuda y checando el software descubrí unos templates super útiles que vienen con el ISE Webpack (haciendo click en el icono en forma de bombillo en la barra de herramientas) espero sean de su utilidad.

Estoy segura de haber llegado al lugar indicado, apenas comience con mis proyectos los pondré al tanto...

Chao chao...
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Spartana en 22 de Marzo de 2009, 14:56:07
Hola gente!

Hace una par de semanas que me llegó mi kit board spartan 3A y ya he implementado algunos circuitos combinacionales LSI para familiarizarme con ella. Ahora estoy en proceso de implementar una interface RS-232 con mi PC con el codigo de la miniuart disponible en opencores.org. PEROOOO, al realizar el chequeo de sintaxis me genera un error diciendo que no encuentra la libreria miniuart! es primera vez que intento utilizar uno de estos cores y asumo que debo hacer un paso previo para poder usar el codigo, pero no se que es... alguno ha usado dichos cores? cual es el primer paso para hacer uso de ellos?
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Gibs_3an en 23 de Abril de 2009, 14:28:44

Hola PICmaniaticos:
Excelente idea de este hilo al igual que todos me sumo, dado que he adquirido la starter kit 3an  :-/..... y se ve Hyper compleja dominarla... pero como dicen la práctica hace al maestro!!! jejej

Estimados mi pregunta es: debo tener mucho cuidado con la ESTÁTICA al manipular la Spartan, osea es obligatorio utilizar carpetas, pulseras antiestaticas???

Los que ya han trabajado con la Spartan que cuidado han tenido al manipularla??

De ante mano gracias  :-)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 25 de Abril de 2009, 17:46:52
El cuidado "normal", nunca he usado una pulsera, he manipulado varias tarjetas de desarrollo de Digilent/Xilinx y no he tenido problemas.

El único detalle fué con una tarjeta de expansión de Digilent, la de entradas/salidas analógicas, tenía un "corto" pero lo pudimos encontrar :).
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 26 de Abril de 2009, 12:18:20
Gibs_3an, no hay prblema con estatica...

Claro que tampoco hay que abusar, si puedes descargarte, esta muy bien, ademas no hay necesida de tocar los compoenetes, con verlos ya ta...

Saludos!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Spartana en 29 de Abril de 2009, 20:37:08
Amigos, aqui les dejo una ALU de 8bits TOP-LEVEL que programó un de mis grupos de la UNEFA Maracay-Venezuela. Hay funciones de conversión muy útiles... como no les di restricciones al grupo en cuanto al tipo de programación, lograron esta preciosura de código. Muy fácil de comprender... lástima que no he probado aun el controlador PS2 para teclado y la tarjeta con la que cuento tiene solo 4switches, pero esta simulado con el ISE WEB PACK 9.2 y todo está perfectamente...

Espero validarla en la tarjeta pronto. Les cuento...


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity alu is port
(A, B: in std_logic_vector(7 downto 0);
 S    : in std_logic_vector(2 downto 0);
 O    : out std_logic_vector(8 downto 0));
end alu;

architecture mux of alu is
 FUNCTION logica(A, B: in std_logic_vector(7 downto 0); S: in std_logic_vector(2 downto 0))
 RETURN std_logic_vector IS
  BEGIN
   case S is
      WHEN "100" => return ('0'&A and '0'&B);
      WHEN "101" => return ('0'&A or '0'&B);
      WHEN "110" => return (not '0'&A);
      WHEN "111" => return ('0'&A xor '0'&B);
      WHEN OTHERS => return "000000000";
   end case;
 END logica;
 FUNCTION aritmetica(A, B: in std_logic_vector(7 downto 0); S: in std_logic_vector(2 downto 0))
 RETURN std_logic_vector IS
 constant uno :std_logic_vector(7 downto 0):="00000001";
   BEGIN
    case S is
       WHEN "000" => return std_logic_vector(TO_SIGNED((to_integer(unsigned('0'&A)) + to_integer(unsigned('0'&B))),9));
       WHEN "001" => return std_logic_vector(TO_SIGNED((to_integer(unsigned('0'&A)) - to_integer(unsigned('0'&B))),9));
       WHEN "010" => return std_logic_vector(TO_SIGNED((to_integer(unsigned('0'&A)) + to_integer(unsigned('0'&uno))),9));
       WHEN "011" => return std_logic_vector(TO_SIGNED((to_integer(unsigned('0'&A)) - to_integer(unsigned('0'&uno))),9));
       WHEN OTHERS => return "000000000";
     end case;
 END aritmetica;

 BEGIN
  O <= aritmetica (A, B, S)
  when S(2)='0'
  else
  logica (A, B, S)
  when S(2)='1';
END MUX;

--Espero sus comentarios...
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Gibs_3an en 09 de Mayo de 2009, 21:26:57

Gracias por las respuestas....y disculpen el retraso  :)

Tendre presente siempre NO TOCAR los componentes del Starter kit, Pero dime PICMouse, especificamente como me descargo???

Saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 12 de Mayo de 2009, 11:43:27
Si tu computador esta debidamente conectado a la red eléctrica con su correspondiente Polo a Tierra, con solo tocar la parte metálica de la de la torre ya esta. Esta esta directamente conectada a la puesta a tierra.

Algunos tocan una puerta o ventana metálica, pero esto no es 100% seguro.

SALUDOS!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Gibs_3an en 14 de Mayo de 2009, 22:48:31

PICmouse, gracias por responder a la brevedad...

Ahora a trabajar!!!       :-/

Saludos.... :-)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 09 de Julio de 2009, 15:44:34
hola soy nuevo en este foro pero hay veces que he visto los temas que se publican en esta pagina. bueno ahorita mi interes es en los fpga's no tengo demasiado conocimientos pero ya he estado programando en ellos cosas sencillas como sumadores o contadores ya me lei unos manuales sobre vhdl y pues creo que lobasico ya lo abarque, incluso vi que se pueden usar herramientas del software para utilizar las lpm. mi problema ahora es que necesito aprender a programar uno de manera de me controle una pantalla a color :? la verdad no tengo ni idea de por donde empezar he leido cosas basicas sobres los colores pero no encuentro como programar no se si aguien me pueda ayudar para saber como comenzar. muchas gracias!!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 11 de Julio de 2009, 10:36:25
Hola djbaran,

Si quieres una buena guía de programación en VHDL, te recomiendo 100% el siguiente libro..
(http://www.ebookpdf.net/screen/cover2/51c8dw0d9ml_sl500_bo2204203200_pisitb-dp-500-arrowtopright45-64_ou01_aa240_sh20_.jpg)


Lo que no te recomiendo si vas a empezar, es que trabajes en VHDL... mil veces mejor VERILOG, del cual tambien hay un muy buen libro.
(http://ecx.images-amazon.com/images/I/51yun4PrY1L._SL500_BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_.jpg)

Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 15 de Julio de 2009, 15:10:30
hola pic mouse.

gracias por molestarte en contestar. me gustaria saber si podrias ayudarme diciendome si hace algo el siguiente codigo tengo que hacer un programa y es forzoso que sea en vhdl yo ni siquiera sabia que era eso hace unas dos semanas y media XD pero en fin tuve que leer un monton y he llegado a realizar el siguiente programa que supuestamente me ayudaria a controloar una pantalla a color. solo me gustaria saber si hace algo o que me recomiendas gracias aki te dejo el codigo que realize.

library ieee;
use ieee.std_logic_1164.all;
entity prueba is
   port(
      maestro1 : out std_logic;
      maestro : in std_logic;
      datos : in std_logic_vector(7 downto 0);
      saltoh : out std_logic;
      d1 : out std_logic;
      d2 : out std_logic;
      d3 : out std_logic;
      d4 : out std_logic;
      d5 : out std_logic;
      d6 : out std_logic;
      d7 : out std_logic;
      d0 : out std_logic;
      saltov : out std_logic);
      end prueba;

architecture comportamiento of prueba is
signal cont4 : std_logic_vector(1 downto 0);
signal contv : std_logic_vector(10 downto 0);
signal conth : std_logic_vector(10 downto 0);
signal hb : std_logic_vector(10 downto 0);
signal habilitador : std_logic;
signal set : std_logic;
signal qb : std_logic;
signal permiso : std_logic;
signal refresh : std_logic;
signal reset : std_logic;
signal sal : std_logic;
signal menor : std_logic;
signal mayorsin : std_logic;
signal menorsin : std_logic;
signal mayor : std_logic;
component comparador
   port(
      dataa      : IN STD_LOGIC_VECTOR (10 DOWNTO 0);
      datab      : IN STD_LOGIC_VECTOR (10 DOWNTO 0);
      AgB      : OUT STD_LOGIC ;
      AlB      : OUT STD_LOGIC
   );
end component;
component contador
   port(
      clock      : IN STD_LOGIC ;
      sclr      : IN STD_LOGIC ;
      q      : OUT STD_LOGIC_VECTOR (10 DOWNTO 0)
   );
end component;
component contador1
   port(
   clk_en      : IN STD_LOGIC ;
      clock      : IN STD_LOGIC ;
      sclr      : IN STD_LOGIC ;
      q      : OUT STD_LOGIC_VECTOR (1 DOWNTO 0)
   );
   end component;
begin
   etapa1: contador port map(maestro,reset,hb);
   comparacion : comparador port map(hb,"00011110000",mayorsin,menor);
   comparacion2 : comparador port map(hb,"11010010000",mayor,menorsin);
   etapa2 : contador1 port map (habilitador,maestro,sal,cont4);
   etapa3 : contador port map (sal,reset,conth);
   conteov : contador port map(reset,refresh,contv);
 process(cont4,conth,contv,hb,habilitador,sal,refresh,qb,reset,set,menor,mayor)
   begin
   if hb = "00011110000" then--primer contador que llega a 240
      set<='1';--mandamos la señal a un flip flop para sostenerla
      habilitador<= reset nor qb;--habilitador del siguiente contador que es el de 4
      qb<= set nor habilitador;--necesario para crear el flip flop
   else
      set<='0';--set es 0 y o se activa el siguiente contador
   end if;

   if cont4="100" then--cuando se habilita empieza a contar hasta el 4
   sal<='1';--si llega a 4 la salida es uno sirve para resetearse
   else
   sal<='0';--no pasa nada
   end if;
   
   if conth="00101110001" then--checa cuando este en 369
      reset<='1';--manda reset a contadores
   else
      reset<='0';
   end if;
   
   if contv="00011110000" then--espera 240
   refresh<='1';--si se cumplen se reinicia el proceso
   else
   refresh<='0';
   end if;
   if menor='1'then--checa el primer contador si es menor a 240
      permiso<='0';
      elsif mayor='1' then--checa el primer contador si es mayor a 1680
      permiso<='0';
      else
      permiso<='1';--si esta entre esos rangos se activa el permiso
   end if;
   d0<=permiso and datos(0);--dato 0 controlado por comparador
   d1<=permiso and datos(1);--dato 1 controlado por comparador
   d2<=permiso and datos(2);--dato 2 controlado por comparador
   d3<=permiso and datos(3);--dato 3 controlado por comparador
   d4<=permiso and datos(4);--dato 4 controlado por comparador
   d5<=permiso and datos(5);--dato 5 controlado por comparador
   d6<=permiso and datos(6);--dato 6 controlado por comparador
   d7<=permiso and datos(7);--dato 7 controlado por comparador
   saltoh<=reset;--señal horizontal
   saltov<=refresh;--señal vertical
   maestro1<=maestro;
end process;
end comportamiento;

no me marca errores en la compilacion solo no hace nada estoy trabajando en quartus con un cyclone2 gracias alguna duda del codigo y te explico qe es lo que queria hacer.
gracias! :-/
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 16 de Julio de 2009, 11:56:27
Hola djbaran,

La verdad de VHDL, nada, por lo que no podria ayudarte con ese codigo. Yo trabajo en Verilog, y ahorita estoy entrando a System VERILOG.

http://www.systemverilog.org/
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 16 de Julio de 2009, 15:31:52
hola pic mouse!

pues no me queda mas que agradecerte de todas menras checare lo que me dices para aprenderlo de todas formas jeje, ya vere como le hago y pues si lo logro ahi despues les hechare la mano si gustan... que esten bien.

Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 17 de Julio de 2009, 00:05:16
gracias por molestarte en contestar. me gustaria saber si podrias ayudarme diciendome si hace algo el siguiente codigo tengo que hacer un programa y es forzoso que sea en vhdl yo ni siquiera sabia que era eso hace unas dos semanas y media XD pero en fin tuve que leer un monton y he llegado a realizar el siguiente programa que supuestamente me ayudaria a controloar una pantalla a color. solo me gustaria saber si hace algo o que me recomiendas gracias aki te dejo el codigo que realize.
Me parece un poco confuso que seas tú quien haya escrito el código y a continuación quieras saber si "hace algo" :P. ¿Puedes comentar qué intentas hacer (tanto en general como en cada bloque y componente que has mostrado)? ¿Qué salidas/entradas necesitas?
Lamentablemente no tengo el tiempo que quisiera como para poder echar una mano por aquí :p.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 17 de Julio de 2009, 12:27:57
hola geo!
ok mira a lo mejor si fue confuso mi comentario :? jeje pero es que habia hecho el codigo y no me funcionaba nada no prendia nada de nada, por eso queria saber si alguien podia decirme posibles errores o checarlos en sus maquinas a ver si funcionaba, per a ultimas opte por irlo probando por partes e irlo juntando para llegar al resultado deseado y me di cuenta de muchos errores(principalmente cosas que no considere  la hora de hacer codigo), de todas maneras gracias lo estoy corrigiendo y pues necesito mas que nada hacer un controlador para una pantalla a color que tengo el control de datos y que me mande señales de sincronio horizontal y vertical creo que no es muy dificil el problema es que apenas comienzo en esto y no se bien como hacerlo jeje. gracias por tu tiempo
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 17 de Julio de 2009, 15:32:33
hola geo!
per a ultimas opte por irlo probando por partes e irlo juntando para llegar al resultado deseado y me di cuenta de muchos errores(principalmente cosas que no considere  la hora de hacer codigo)
Esa es la forma de trabajar :), asegurarse que cada bloque funciona correctamente y proceder al armado final.

¿A qué tipo de pantalla te refieres? Yo hice algo sencillo con un monitor VGA, aunque no se si tenga a la mano las cosas :P.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 21 de Julio de 2009, 15:01:26
hola geo! pues yo estoy tratando de hechar a andar una pantalla lcd a color el modelo es el siguiente:TFT LCD Specification
Model Name: TD036THEA1 .Esa es y trae el siguiente controlador: TPG051
RGB Driver/Timing Controller IC
For
LTPS TFT LCD

la verdad ya lei los manuales y pues no le entiendo del todo :? tengo aki la ayuda de un doctor pero tampoco sabe:? ya hice un programa con contadores que me mande las señales de sincronia que deseo ahorita esto corrigiendo por que no tome en cuenta la sincrnia vertical.
pero de momento no me ha quedado:(.
espero me puedas hechar una mano o redirigirme donde pueda ver agun ejemplo similar para ver mas o menos lo que se debe hacer.
gracias!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 22 de Julio de 2009, 03:11:33
Con un vistazo rápido me confundí un poco con lo que dicen las hojas de datos, porque en la del controlador indica que tiene salida analógica ¿?. También, supongo que la resolución del panel es 320x240, y no se menciona en la del controlador :?.
Bueno, las vi de rápido pues ando un poco apurado, así que igual y se me pasó algún detalle. Lamentablemente no tengo información sobre manejo de un LCD gráfico con FPGA.

Adjunto un documento de generación de señal VGA por si puede ser de utilidad (aunque se relacionaría más bien con manejar directamente el LCD, se supone que el controlador debería aliviarte el proceso :P).
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 28 de Julio de 2009, 15:48:59
hola de nuevo! aqui  ando molestandolos kisiera que alguien me dijera si es necesario el uso de una ram para mostrar imagenes o ya de perdis cambiar de color una pantalla es que ya hice un programa que me enviara las señales de sincronia horizontal y vertical para mi pantalla le mando el pulso de reloj y pues le mando datos directamente de unos switch al puerto de entrada de datos de la pantalla si alguien me pudiera hechar la mano se los agradeceria mucho ya que la verdad llevo un mes con esto y me estoy desesperando :? jajaja no sabia nada al respecto y pues me cuesta trabajo entender las cosas estoy programando en un cyclone 2 jeje minimo quiero cambiar de color a la pantalla! :x lo tengo que lograr jeje gracias por su tiempo :)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: djbaran en 28 de Julio de 2009, 16:11:23
ademas me gustaria saber si alguien ha ocupado los ipcore que vienen en la pagina de altera se supone(creo yo) que esos te sirven para controlar la pantalla que viene en el kit gracias!!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 21 de Agosto de 2009, 16:04:06
Hola! estoy a punto de comprar un kit de desarrollo como ese y estaba totalmente decidido por comprarme el kit para el cyclone III de Altera que esta al mismo costo que el de xilinx, pero ahora me quedo con la duda...

El kit es este: http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html

Tambien esta 199 dolares, que criterios puedo usar para elegir si usar cyclone III o spartan 3AN? lo de Altera me interesaba porque tiene gran cantidad de dispositivos en encapsulados QFP (entre nos: con patitas!) y se pueden soldar... Otra cosa, cual de los 2 dispositivos es mas veloz? porque me interesa mucho la velocidad y necesito el dispositivo mas rapido posible.

Quiero preguntar una burrada si me permiten: Si la FPGA es solamente logica programable y no un procesador... por que el kit de desarrollo viene con ethernet, vga y audio? donde van los drivers de estas cosas? o primero hay que programarse como un CORE para poner dentro del fpga y luego ejecutar instrucciones? perdon pero no entiendo nada estoy muy verde en el asunto  :? :?

gracias!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 04 de Septiembre de 2009, 13:05:28
Hola metalm,

Aunque es lógica programable, puedes crear maquinas de estado que se encarguen gestionar cada recurso, es decir, un bloque de FPGA para vídeo, otro para audio, otro para ethernet, en otro puedes tener un microcontrolador embebido y  programarlo para que ejecute una secuencia de instrucciones, etc, etc.  LA FPGA es muy abierta y casi que permite hacer lo que te imagines.

SALUDOS!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 05 de Septiembre de 2009, 00:42:56
Gracias por la respuesta! me volvi loco buscando un millon de datasheets y ya estoy entendiendo jaja esperemos que este post le sirva de ayuda a la gente que empiece con esto porque la verdad es que es muy interesante.

Al final me compre este kit de desarrollo por 59 dolares:
https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,649&Prod=BASYS2
(https://www.digilentinc.com/Data/Products/BASYS2/BASYS2-top-400.jpg)

Aportes:
http://www.shared2u.com/main/36489-xilinx-ise-desgin-suite-v111-retail-iso.html (esto es muy util, viene con los cores de 32 y 8 bits con compilador gcc y todo! "embedded edition")

http://www.asic-world.com/verilog/verilog_one_day.html << verilog in one day: todavia no lo lei pero estuve viendo una comparativa entre verilog y VHDL y todos prefieren verilog porque es parecido al lenguaje de programación C.

Cuando sepa algo mas lo posteo!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 05 de Septiembre de 2009, 11:55:37
Efectivamente metalm, VERILOG es un lenguaje mas estructurado que VHDL.
Permite desarrollar de todo en la FPGA de manera rapida y facil de depurar. Hay una nueva version, en la que agregaron mas funciones e instrucciones propias de lenguaje C..Se llama SYSTEM VERILOG.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: scientist en 05 de Septiembre de 2009, 17:58:58
metalm, me encanta la plaquita, y sobre todo el precio, tu que ya la tienes, que tal te ha salido, cuanto fue el costo de envio? ahora que tengo dinero, quiero aprovechar para comprar algunos juguetes, saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 06 de Septiembre de 2009, 10:23:47
metalm, me encanta la plaquita, y sobre todo el precio, tu que ya la tienes, que tal te ha salido, cuanto fue el costo de envio? ahora que tengo dinero, quiero aprovechar para comprar algunos juguetes, saludos

Con la placa no necesitas nada como para empezar, pero yo ademas me compre el cable paralelo JTAG (para programar dispositivos mas adelante) el cual te lo cobran 12 dolares.
Depende de el país donde estés el costo del envío, pero con solo clickear ahi en la pagina de que pais sos ya te dice el costo, en el caso de Argentina es de 41 dolares.
Despues cuando llego aca me cobraron el 50% del costo... o sea es bastante caro poder traerlo y por eso me compre la de 59 dolares jajaa pero esta muy buena como para empezar, total despues cuando necesito otra cosa yo mismo diseño la plaqueta y listo

Todavia no puedo contar como me fue con esto porque no se ni prender un led con el FPGA jajaja, recien ahi estoy viendo los ejemplos, te sugiero que bajes el programa ese que puse en el mensaje anterior mientras este disponible porque ya comprobe que anda
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 06 de Septiembre de 2009, 10:25:52
Efectivamente metalm, VERILOG es un lenguaje mas estructurado que VHDL.
Permite desarrollar de todo en la FPGA de manera rapida y facil de depurar. Hay una nueva version, en la que agregaron mas funciones e instrucciones propias de lenguaje C..Se llama SYSTEM VERILOG.

Gracias lo voy a tener en cuenta! el tema es que los ejemplos de esta placa vienen en VHDL asi que me parece que me voy a tener que digerir los 2 lenguajes

Tambien te deja diseñar con el esquematico, se puede hacer codigo y esquematico, solo codigo o solo esquematico. Podes declarar entidades en el codigo y despues verlas representadas en el esquematico como un componente para que lo puedas cablear con los demas.

voy a tardar un millon de años hasta hacer algo util con esto jajaja
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 07 de Septiembre de 2009, 02:31:13
No he usado Verilog (apenas leído algunos códigos en este lenguaje), pero de la bibliografía que he consultado, en varias ocasiones he encontrado que VHDL es el lenguaje preferido de inicialización a lógica reconfigurable en las instituciones educativas, es un tanto más complicado que Verilog pero expresa mejor algunos conceptos de desarrollo en este tipo de dispositivos (recuerda, no estás escribiendo un programa para PC :P).

Lo que considero es que Verilog es más accesible para quienes tienen experiencia desarrollando aplicaciones para PC, mientras que VHDL pudiera serlo para quienes conocen un poco más de hardware a bajo nivel, pero esto es solamente mi opinión :p.

Ambos lenguajes se usan ampliamente en entornos industriales, si te dedicarás a esta área de manera profesional es obligatorio conocer ambos (y algún otro) :).

Yo tengo varios ejercicios de VHDL que utilicé en un curso de introducción al lenguaje, tengo algún tiempo queriendo colocar algo por aquí pero la falta de tiempo me lo ha impedido. Dentro de poco espero estar culminando mis proyectos (principalmente, mi tesis), y con gusto compartimos información. A la mano tengo una tarjeta de desarrollo Spartan 3 Starter Kit de Digilent, quizá pueda conseguir alguna otra de época similar ;).

Bien, ánimo con esto que es mucho muy interesante :).
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 16 de Septiembre de 2009, 00:40:15
Hola a todos!

Uff hace rato no pasaba por el foro y me hace mucha falta.

Hablar de VHDL vs VERILOG...Es como hablar de calculadoras y enfrentar HP 48G vs TEXAS.  Las dos hacen lo mismo! pero.. ¿cual es mas fácil de manejar?

Tanto verilog como VHDL son para programar hardware. no veo diferencia en ello, lo realmente importante a la hora de decidir si dedicas tiempo a aprender uno de los dos desde cero...Te diría toda la vida VERILOG!!!

En verilog tienes mas herramientas para hacer las cosas casi como se te ocurren, en VHDL..bueno, se deben escribir como 10 lineas mas para llegar a una sola en verilog. Esa es la diferencia, velocidad de desarrollo, ademas que la curva de aprendizaje sera mucho mas rápida en Verilog que VHDL.

Pero podríamos hablar y hablar de cual es mejor y solo queda decir que sin importar cual decidas tomar,  con ambos se puede llegar a lo mismo, así que para adelante, que las FPGAs tienen mucho para dar.

SALUDOS!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Romel_ivan en 05 de Octubre de 2009, 13:47:43
Hola a todos.

Soy Romel de Ecuador y soy nuevo en este tema de los FPGA, pero me interesan mucho. Felicitaciones a todos los que estan haciendo ciencia desde sus paises. Quisiera saber si alguien podria ayudarme con links de ejemplos practicos sobre la programación en VHDL y como hacerlos correr en el Spartan 3AN.

Saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 05 de Octubre de 2009, 21:44:37
Hola a todos.

Soy Romel de Ecuador y soy nuevo en este tema de los FPGA, pero me interesan mucho. Felicitaciones a todos los que estan haciendo ciencia desde sus paises. Quisiera saber si alguien podria ayudarme con links de ejemplos practicos sobre la programación en VHDL y como hacerlos correr en el Spartan 3AN.

Saludos

Yo tengo el problema inverso: Todo lo que encuentro es en VHDL y yo quiero aprender verilog!!

A ver si te sirve de ayuda: Yo me compre la placa Basys2 de Digilent ( http://www.digilentinc.com/ ), si te fijas el esquematico y los archivos de ejemplo para esta placa, estan escritos en VHDL y te los podes bajar libremente de la pagina. Estos archivos te van a servir a modo de ejemplo ya que esta todo el "workspace" hecho para el Xilinx ISE.

Mas explicaciones en VHDL podes encontrar en este manual en PDF: http://fpga.com.ar/notas.htm

Nadie tendra por ahi un par de ejemplos en verilog?? voy a tener que aprender forzosamente VHDL me parece...

En realidad ya pude hacer un par de cosas, pero no se como manejar los CLOCK, como hago para multiplicar el clock que entra por el pin principal del DCM? mi placa tiene un clock seteable con un jumper de 25, 50 y 100 MHz, podria multiplicarlo hasta 400 MHz sin tener inconvenientes? necesito mucha velocidad  :mrgreen:
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Romel_ivan en 06 de Octubre de 2009, 01:08:08
Saludos

Ya estoy revisando los links y estan interesantes. Cuando acabe de ojearlos, podré poner un comentario más preciso.

Y cualquier información que encuentre de Verilog y crea que te pueda servir te publicaré, claro respetando las reglas del Foro

Gracias.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: The_spantan_Luilli en 19 de Octubre de 2009, 18:30:35
Hola que tal...
Saludos a todos los miembros y visitantes de la comunidad.
Soy nuevo en esto de la programacion de los FPGA's y me he topado con un gran problema.

He estado trabajando con el kid de evaluacion spartan 3E Starter  ( XCS500E ).
Esta dispone de un ADC el cual necesito programar. Ya he intentado programarlo
muchas veces, pero no logro hacer que funcione.

Lo que me parece curioso es que ya he leido hacerca de como hacer la programacion,
sigo los consejos al pie de la letra y nada..


Aqui les dejo un programa que me hicieron favor de pasarme.
( este no tiene errores salvo algunos comentarios )

Me gustaria que alguien pudiera programarlo en su targeta y viera si funciona,
esto para descartar que mi targeta no este quemada  :(...

Muchas gracias.

nota: utilice los puertos J1 y J2 de la spartan-3E para poder ver totalmente la salida de la conversion del canal 0

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;


entity COPIA is
   Port (
      clock : in  STD_LOGIC; -- global clock
      rst : in  STD_LOGIC; -- global rst
      
      -- user signal
      ce_amp : in STD_LOGIC := '0'; -- Botón para iniciar la prog. del amp
      goconv : in  STD_LOGIC := '0';-- inicia la conversion del ADC


      ready : out STD_LOGIC := '0'; --led que avisa que al amp esta programado

      
      -- ADC in/out signal
      SPI_MISO : in std_logic; --adc status report unused
      ACONV : out  STD_LOGIC :='0';   -- start conversion    
 
      --ADC0 : out std_logic_vector(13 downto 0) := (others => '0'); 
      ADC1 : out std_logic_vector(13 downto 0) := (others => '0');          
 
      -- AMP in/out signal
      AMP_CS : out  STD_LOGIC;       -- AMP chip select    
      MOSI : out  STD_LOGIC;       -- data to programmable amplifier 
 
      SCK : out  STD_LOGIC
      ); 
end COPIA;
  architecture Behavioral of COPIA is
  constant gain : std_logic_vector(7 downto 0) := "00010001; --ganancia de -1

  type state_type is (IDLE, START,START2,HI,HI_DUMMY,LO,LO_DUMMY,FINE,IDLE_AD, START_AD,HI_AD,LO_AD,FINE_AD);
  signal next_state, state : state_type;   

  signal counter : integer range 0 to 35 :=0;
  signal amp_bit_count : integer range 0 to 15 := 0;

begin

   process(ce_amp,goconv,state,counter,amp_bit_count) is
   begin
      case state is
         when IDLE =>
            if ce_amp = '1' then  ---espera hasta poner en 1 el boton
               next_state <= START;
            else
               next_state <= IDLE;   
            end if;            
         when START =>            
            next_state <= START2;   
         when START2 =>
            next_state <= HI;               
         when HI =>                        
            if counter = 2 then
               next_state <= HI_DUMMY;
            else
               next_state <= HI;
            end if;         
         when HI_DUMMY =>            
            next_state <= LO;
         when LO =>
            if counter = 2 then
               next_state <= LO_DUMMY;
            else
               next_state <= LO;
            end if;      
         when LO_DUMMY =>
            if amp_bit_count=8 then
               next_state <= FINE;            
            else
               next_state <= HI;      
            end if;
         when FINE =>         
            next_state <= IDLE_AD;--start to sample
         ------INICIA ADC-------------   
         when IDLE_AD =>   
            if goconv ='1' then
               next_state <= START_AD;                                             
            else
               next_state <= IDLE_AD;
            end if;            
         when START_AD =>
               next_state <= HI_AD;               
         when HI_AD =>      
            next_state <= LO_AD;
         when LO_AD =>
            if counter = 34 then
               next_state <= FINE_AD;
            else
               next_state <= HI_AD;
            end if;
         when FINE_AD =>
            next_state <= IDLE_AD;--inicia una nueva conversion.
         when others =>         
            next_state <= IDLE_AD;    
      end case;
   end process;

------------------------------------------------------------------------------
   process (clock,rst) is
     variable index1 : integer range 0 to 15;
     variable index2 : integer range 0 to 15;
   begin
      if rst = '1' then
         state <= IDLE;
      elsif clock'event and clock ='1' then
         -- global assign
         state <= next_state;
         ready <= '0'; -- busy, setup AMP, acquiring by ADC
         case state is
            when IDLE =>   
               SCK <= '0';
               AMP_CS <= '1';
               MOSI <='0';
               counter <=0;
               ADC1 <= (others => '0');
            when START =>
               AMP_CS <= '0';
               amp_bit_count <=  0;
               index1 := 7; -- 8 bit value
            when START2 =>
               MOSI <= gain(index1);      -- first assign, next on LO_DUMMY   
            when HI =>
               SCK <= '1';      
               counter <= counter +1;
            when HI_DUMMY =>         
               amp_bit_count <= amp_bit_count + 1;
               counter <=0;
            when LO =>
               SCK <= '0';            
               counter <= counter +1;            
               if counter = 1 then
                  if index1 > 0 then
                     index1 := index1-1;
                  end if;
               end if;
            when LO_DUMMY =>   
               MOSI <= gain(index1);
               counter <=0;                  
            when FINE =>
               AMP_CS <='1';
               SCK <= '0';
               MOSI <= '0';   
            ------INICIA ADC----
            when IDLE_AD =>
               ready <= '1'; -- setup AMP complete, waiting goconv enable
               SCK <= '0';
               ACONV <= '0';
            when START_AD =>
               --clean register
               --ADC0 <= (others => '0');
               ADC1 <= (others => '0');
               SCK <= '0';
               ACONV <= '1';
               counter <= 0;
               index1 := 13; -- 14 bit value
               index2 := 13; -- 14 bit value
            when HI_AD =>
               SCK <= '1';
               ACONV <= '0';         
               counter <= counter +1;
            when LO_AD =>
               SCK <= '0';
               ACONV <= '0';   
               if(counter>2 and counter<17) then            
                  -- rappresentazione in complemento a 2
                  if index1 = 13 then
                     --ADC0(index1)  <= not SPI_MISO;
                     ADC1(index2)  <= not SPI_MISO;
                  else
                     --ADC0(index1)  <= SPI_MISO;
                     ADC1(index2)  <= SPI_MISO;
                  end if;   
               
                  if index1 > 0 then
                     index1 := index1 -1;
                  end if;
               
               elsif(counter > 18 and counter < 33) then
                  -- rappresentazione in complemento a 2
                  if index2 = 13 then
                     ADC1(index2)  <= not SPI_MISO;
                     --ADC0(index1)  <= not SPI_MISO;
                  else
                     ADC1(index2)  <= SPI_MISO;
                     --ADC0(index1)  <= SPI_MISO;
                  end if;
               
                  if index2 > 0 then -- fatal error on modelsim
                     index2 := index2 -1;
                  end if;
               else
               end if;
            when FINE_AD =>         
               counter <= 0;
               SCK <= '0';
               ACONV <= '0';         
            when others =>
               SCK <= '0';
               ACONV <= '0';   
               AMP_CS <= '1';
               MOSI <='0';
               amp_bit_count <= 0;
         end case;
      end if;
   end process;
end Behavioral;

------------------UCF-------------------------------

NET "ACONV"  LOC = "P11"  ;
NET "ADC1<0>"  LOC = "B6"  ;
NET "ADC1<10>"  LOC = "C11"  ;
NET "ADC1<11>"  LOC = "D11"  ;
NET "ADC1<12>"  LOC = "E9"  ;
NET "ADC1<13>"  LOC = "F9"  ;
NET "ADC1<1>"  LOC = "A6"  ;
NET "ADC1<2>"  LOC = "C5"  ;
NET "ADC1<3>"  LOC = "D5"  ;
NET "ADC1<4>"  LOC = "A4"  ;
NET "ADC1<5>"  LOC = "B4"  ;
NET "ADC1<6>"  LOC = "F12"  ;
NET "ADC1<7>"  LOC = "E12"  ;
NET "ADC1<8>"  LOC = "E11"  ;
NET "ADC1<9>"  LOC = "F11"  ;
NET "AMP_CS"  LOC = "N7"  ;
NET "ce_amp"  LOC = "L13"  ;
NET "clock"  LOC = "C9"  ;
NET "goconv"  LOC = "L14"  ;
NET "MOSI"  LOC = "T4"  ;
NET "ready"  LOC = "F7"  ;
NET "rst"  LOC = "N17"  ;
NET "SCK"  LOC = "U16"  ;
NET "SPI_MISO"  LOC = "N10"  ;



Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 28 de Noviembre de 2009, 22:18:34
Hola

A mi también me pico el bichito ese de querer experimentar con FPGA.
Aunque por el momento el único que estaría a mi alcance es el "Basys2" como el del amigo metalm.
Aunque podría hacer un sacrificio y adquirir una Spartan-3AN Starter Kit.
o algo mas barato, la Nexys2.

lo que no me gusta es ese conector que tienen. las placas para la ampliación, esos conectores son exageradamente caros. solo el conector que también lo venden suelto es muy caro.
esta placa (http://www.digilentinc.com/Products/Detail.cfm?Prod=FX2WW) parece valer la pena.

Unas preguntas para PICmouse

¿Que te parece ese conector? ¿te comprarias esa placa de expansion?

tambien tienen esta:
http://www.digilentinc.com/Products/Detail.cfm?Prod=FX2BB (http://www.digilentinc.com/Products/Detail.cfm?Prod=FX2BB)
y esta que es muy interesante:
http://www.digilentinc.com/Products/Detail.cfm?Prod=VDEC1 (http://www.digilentinc.com/Products/Detail.cfm?Prod=VDEC1)
Este es el conector:
https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,395,461&Prod=FX2SOCKET (https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,395,461&Prod=FX2SOCKET)

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 01 de Diciembre de 2009, 11:42:28
Hola  JOJOJORGE5!

La verdad que con solo la tarjeta Spartan 3AN, tienes para divertirte muchísimo tiempo, antes de querer agregar módulos externos.  A la fecha las practicas que logre hacer trabajar son:

Teclado PS2
Interruptores
Pulsadores
Rotatory switch
Pantalla LCD
Conversores DAC / ADC
Salida de Audio por JACK
Puerto serial RS232

Pero de VGA me falta bastante para lograr una aplicación, y hay infinidad de practicas en las que se combinen todo lo que te comento.


Claro que de las opciones que me muestras es grandiosa la del Protoboard y me gusta mas la de Video.


Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 01 de Diciembre de 2009, 20:13:17
Hola

Claro que se tiene para divertirse un buen rato, pero lo que pasa es que quiero usarlo para aplicaciones de robótica y conectarle algunas cosas más,
Según el manual tiene tres puertos de expansión de los convencionales, pero me es insuficiente, pero en el manual vi que tiene dos pin headers, ¿serviran estos para conectar algo?
En el manual están en el capitulo 15
Como diferencial conector, y creo que con eso mas el que se puede soldar tengo pines para rato.
En fin creo que al final me comprare un trainer como el tuyo, ya que es el más “bueno bonito y barato” que me puedo conseguir, también me comprare esa placa de expansión no se si la que viene con proto o sin proto.
Y otra pregunta ese puerto USB que trae es solo para programación o también sirve para comunicación.
Seguramente es posible implementar comunicación USB en alguno de los otros puertos, en le placa nexys2 el puerto USB sirve también para comunicación además de para programación.

Y una ultima consulta en este post.
¿Que sabes de el descuento académico que ofrecen?
Me parece algo interesante es un descuento muy significativo.

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 01 de Diciembre de 2009, 20:24:32
Hola

Claro que se tiene para divertirse un buen rato, pero lo que pasa es que quiero usarlo para aplicaciones de robótica y conectarle algunas cosas más,
Según el manual tiene tres puertos de expansión de los convencionales, pero me es insuficiente, pero en el manual vi que tiene dos pin headers, ¿serviran estos para conectar algo?
En el manual están en el capitulo 15
Como diferencial conector, y creo que con eso mas el que se puede soldar tengo pines para rato.
En fin creo que al final me comprare un trainer como el tuyo, ya que es el más “bueno bonito y barato” que me puedo conseguir, también me comprare esa placa de expansión no se si la que viene con proto o sin proto.
Y otra pregunta ese puerto USB que trae es solo para programación o también sirve para comunicación.
Seguramente es posible implementar comunicación USB en alguno de los otros puertos, en le placa nexys2 el puerto USB sirve también para comunicación además de para programación.

Y una ultima consulta en este post.
¿Que sabes de el descuento académico que ofrecen?
Me parece algo interesante es un descuento muy significativo.

salu2:)

Hola!
Te comento que el USB es solo para programacion, viene con un micro de ATMEL que hace de interfaz JTAG por medio del USB para que puedas cargarle el bitstream al FPGA y a la PROM. Solamente eso.

Si es para un proyecto de robotica, deberias analizar si no es mejor y mas simple que le pongas un micro, no? es solo un consejo, igual deberias aprender FPGA porque es de lo ultimo  8)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 01 de Diciembre de 2009, 22:33:32
Hola

metalm te comento que ya trabaje con micro para robotica y con muy buenos resultados pero para algunas cosas que quiero hacer un micro se queda corto, sobre todo en atender los sensores.
Ese fue solo un ejemplo de las muchas aplicaciones que quiero darle.

Es una pena lo del usb que no lo lleva ni el Basys2 ni el Spartan3AN, pero te comento que el Nexys2 si tiene uno que se puede usar para comunicación y es de alta velocidad

Y una pregunta como te fue con tu trainer, el que tienes es una de las opciones que estoy considerando muy seriamente.
Aunque me atrae mas la spartan 3an, porque tiene mas cosas incorporadas y un FPGA mas avanzado, lo que no me atrae es el precio.
Y conseguiste el descuento académico? la verdad es que estoy revisando la pagina y no encuentro nada.

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 01 de Diciembre de 2009, 22:51:06
Hola

metalm te comento que ya trabaje con micro para robotica y con muy buenos resultados pero para algunas cosas que quiero hacer un micro se queda corto, sobre todo en atender los sensores.
Ese fue solo un ejemplo de las muchas aplicaciones que quiero darle.

Es una pena lo del usb que no lo lleva ni el Basys2 ni el Spartan3AN, pero te comento que el Nexys2 si tiene uno que se puede usar para comunicación y es de alta velocidad

Y una pregunta como te fue con tu trainer, el que tienes es una de las opciones que estoy considerando muy seriamente.
Aunque me atrae mas la spartan 3an, porque tiene mas cosas incorporadas y un FPGA mas avanzado, lo que no me atrae es el precio.
Y conseguiste el descuento académico? la verdad es que estoy revisando la pagina y no encuentro nada.

salu2:)


Si, lo compre con el precio academico, solo puse en que universidad estoy estudiando y no tuve que hacer ninguna comprobacion ni nada.
Todavia no pude ponerlo en practica porque estoy muy ocupado con otras cosas... ademas me faltan ejemplos en verilog ya que todo lo que viene esta en VHDL y no entiendo nada  :5]
Igual me parece que con esta placa te vas a quedar corto, yo me arrepenti de no comprarme la del spartan 3 que viene con ethernet y todo pero bueno, ya habra mas dinero jaja

pero cuando pueda me voy a comprar un kit de altera :P : www.terasic.com
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 02 de Diciembre de 2009, 09:17:40
Hola

En la pagina que pusiste el NIOS2 se ve muy interesante, aunque su precio también lo es interesante.

aqui encontré como implementar el modulo UART (http://www.asic-world.com/examples/verilog/uart.html) en verilog y otros ejemplos mas.
Tal vez al final me compre la nexys2 mas esta placa (https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,648,613&Prod=FX2MIB) pero al final todo dependerá de cuanto dinero consiga.

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 02 de Diciembre de 2009, 22:27:49
Hola

En la pagina que pusiste el NIOS2 se ve muy interesante, aunque su precio también lo es interesante.

aqui encontré como implementar el modulo UART (http://www.asic-world.com/examples/verilog/uart.html) en verilog y otros ejemplos mas.
Tal vez al final me compre la nexys2 mas esta placa (https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,648,613&Prod=FX2MIB) pero al final todo dependerá de cuanto dinero consiga.

salu2:)

Gracias por el ejemplo!
La placa esa que mencionas para agregarle al nexys2 es obviamente util pero no imprescindible, pensa que en la placa en si ya te vienen conectores PMOD (esos pines molex hembra de 6 pines con 4 patas del FPGA mas positivo y negativo). Salvo que necesites muchos pines IO del FPGA para practicar, puede ser que te alcance con solo el kit de desarrollo, entonces te podrias arrimar mas al precio de la SPARTAN 3 starter board que vale 150
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 03 de Diciembre de 2009, 00:02:02
Hola

metalm
Estuve leyendo las especificaciones de la placa que tienes y si tiene soporte para comunicación USB en full sped.

Al final me decidí por la placa Nxys2, para la spartan3an me faltaria mucho dinero, en el catalogo esta por 200$ y los otros que son la spartan3E y demas estan menos caros pero igual fuera de mi alcance, lo único que me hace dudar es que la Nexys2 tiene la mitad de ram y la mitad de memoria flash que la spartan 3an, por lo demás no me preocupa lo que si me gusta es el puerto USB High sped.

Haré el pedido pasadas las navidades que será cuando termine de reunir el dinero de el costo de las placas + los gastos de envió + los gastos de aduana + otros impuestos y gastos varios.

Lo de la plaquita es casi por capricho, pero poniéndose a pensar, para controlar un solo motor pero controlándolo bien, minimamente se nesecita un puerto de ocho bits (inversión de giro 2bits, encoger 2 bits, finales de carrera 2 bits realimentación de sobré corriente 1 ó 2 bits), mi objetivo es controlar un robot de 6 grados de libertad por lo que nesecitare 6 puertos + un Gripper + un LCD que me ocupan mas puertos, la placa solo tiene 4 de 8 bits;-)

Para otras aplicaciones también se nesecita tener pines disponibles como: una memoria MMC/SD ocupa casi un puerto completo y para esos conectores que lleva se me ocurren miles de plaquitas con periféricos que le podría conectar, como por ejemplo si algún día requiero de mas memoria sea flash o memoria ram. Podría conectarlos en esos puertos.

Fíjate aquí (https://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,401&Cat=9) tienen muchos perifericos que no me interesan para comprar pero si algunos para fabricar.

también me construiré un trainer para pic con esos mismos conectores.

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 03 de Diciembre de 2009, 00:16:27
Hola

metalm
Estuve leyendo las especificaciones de la placa que tienes y si tiene soporte para comunicación USB en full sped.

Al final me decidí por la placa Nxys2, para la spartan3an me faltaria mucho dinero, en el catalogo esta por 200$ y los otros que son la spartan3E y demas estan menos caros pero igual fuera de mi alcance, lo único que me hace dudar es que la Nexys2 tiene la mitad de ram y la mitad de memoria flash que la spartan 3an, por lo demás no me preocupa lo que si me gusta es el puerto USB High sped.

Haré el pedido pasadas las navidades que será cuando termine de reunir el dinero de el costo de las placas + los gastos de envió + los gastos de aduana + otros impuestos y gastos varios.

Lo de la plaquita es casi por capricho, pero poniéndose a pensar, para controlar un solo motor pero controlándolo bien, minimamente se nesecita un puerto de ocho bits (inversión de giro 2bits, encoger 2 bits, finales de carrera 2 bits realimentación de sobré corriente 1 ó 2 bits), mi objetivo es controlar un robot de 6 grados de libertad por lo que nesecitare 6 puertos + un Gripper + un LCD que me ocupan mas puertos, la placa solo tiene 4 de 8 bits;-)

Para otras aplicaciones también se nesecita tener pines disponibles como: una memoria MMC/SD ocupa casi un puerto completo y para esos conectores que lleva se me ocurren miles de plaquitas con periféricos que le podría conectar, como por ejemplo si algún día requiero de mas memoria sea flash o memoria ram. Podría conectarlos en esos puertos.

Fíjate aquí (https://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,401&Cat=9) tienen muchos perifericos que no me interesan para comprar pero si algunos para fabricar.

también me construiré un trainer para pic con esos mismos conectores.

salu2:)

La placa que tengo yo no soporta comunicación por USB ya que los pines del USB estan conectados directamente al micro de ATMEL. Lo que soporta es un programa donde a traves del micro de atmel podes conocer el estado de los botones y los leds conectados al FPGA, corregime si estoy equivocado (te vas a poder dar cuenta viendo los schematics que estan para bajar)

Igualmente, mi opinion es que tener USB en un FPGA es lo mas al pedo que puede haber en el mundo, porque es un protocolo complicado (para mi el peor del mundo jaja), de manera que si en tu FPGA no vas a incluir un microprocesador (soft core o hard core) seria medio al pedo porque no vas a poner el stack en el hardware... es para volverse loco
y el BASIS2 no tiene flash ni ram como para poner un procesador del tipo Microblaze, por eso recomiendo fuertemente la Spartan 3 starter board porque vas a poder aprender mucho mas, por ahi podes expandir los puertos con shift register (74HC595 de NXP que son de 100 mhz, otra marca no).

Puede ser que para tu proyecto sea mas conveniente comprarte directamente un FPGA en encapsulado TQFP de manera de que lo puedas soldar vos y mandar a hacer una placa segun un diseño que lo podes hacer en base a los schematics que te bajes de alguno de estos kits no? ahi vas a poder usar todos los pines que quieras y en si no hay mucho costo de componentes.. lo unico caro seria la fabricacion de las plaquetas

saludos!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: lectra en 20 de Diciembre de 2009, 12:53:07
Esto del mundo de las FPGA me parece muy interesante los felicito a todos por los aportes, sin embargo me interesaría no estar tan ligado a una tgta entrenadora para el desarrollo de los proyectos, podrían brindar información acerca de ctos y software que permitan la programación de las FPGA, así fueran solo implementados con puerto paralelo una memoria y no mas, después uno le agrega  los lcd adc etc
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 20 de Diciembre de 2009, 21:47:31
Hola

las cosas basicas que nesecitas son:
reguladores de tension de 3,3 y 1,8v. el programador JTAG y listo, lo demas ya lo puedes poner si quieres, yo me estoy pidiendo la placa nexys2 porque ya tiene "lo basico" y algo mas y porque fabricar un pcb para este tipo de encapsulado espanta hasta el mas experto.
aunque existen FPGAs en encapsulado tqfp, con los que podrias trabajar.
eso es lo poco que se,desde hace tiempo que investigue sobre los FPGA aunque recien empesare a trabajar y arender realmente este mundo.

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 20 de Diciembre de 2009, 21:53:31
Hola

las cosas basicas que nesecitas son:
reguladores de tension de 3,3 y 1,8v. el programador JTAG y listo, lo demas ya lo puedes poner si quieres, yo me estoy pidiendo la placa nexys2 porque ya tiene "lo basico" y algo mas y porque fabricar un pcb para este tipo de encapsulado espanta hasta el mas experto.
aunque existen FPGAs en encapsulado tqfp, con los que podrias trabajar.
eso es lo poco que se,desde hace tiempo que investigue sobre los FPGA aunque recien empesare a trabajar y arender realmente este mundo.

salu2:)

no es 3,3V y 1,2V para un SPARTAN 3A?
lo que si se es que con el 3A 3AN zafas de tener que poner 2.5V, no?
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 21 de Diciembre de 2009, 07:55:47
si me confundí no son 3,3 y 1,8V son 2,5 y 1,2V los que requiere la fpga ademas de los 3,3V
al parecer la spartan 3A 3AN no requiere los 2,5V.

lo de 1,8V es para los CPLDs y alguno que otro modelo de fpga y me confundí por eso, aunque también dependerá del modelo elegido tal vez un modelo en particular requiera un tipo de alimentación en particular, sera mejor leer el datasheet del modelo con el que se quiere trabajar.

navegando por internet vi muchas personas que se fabricaron su propia placa para sus fpgas y al parecer con buenos resultados, todo depende de la habilidad y la disponibilidad de materiales.
(a mi me faltan las 2 cosas :oops:)

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 23 de Diciembre de 2009, 12:19:19
si me confundí no son 3,3 y 1,8V son 2,5 y 1,2V los que requiere la fpga ademas de los 3,3V
al parecer la spartan 3A 3AN no requiere los 2,5V.

lo de 1,8V es para los CPLDs y alguno que otro modelo de fpga y me confundí por eso, aunque también dependerá del modelo elegido tal vez un modelo en particular requiera un tipo de alimentación en particular, sera mejor leer el datasheet del modelo con el que se quiere trabajar.

navegando por internet vi muchas personas que se fabricaron su propia placa para sus fpgas y al parecer con buenos resultados, todo depende de la habilidad y la disponibilidad de materiales.
(a mi me faltan las 2 cosas :oops:)

salu2:)

Yo ya me estoy haciendo mi propia placa directamente para lo que necesito, me voy a animar jajaja

Te digo las cosas que tengo pensadas a ver si te dan una idea:
Alimentacion general: 5VCC
Fuente switching step down de 5 a 3.3 @ 500mA: Hecha con MCP1603 fijo de 3.3V, bobina de 4,7uH y capacitor ceramico de 4,7uF 0805
Fuente switching step down de 5 a 1.2 @ 500mA: Hecha con MCP1603 fijo de 1.2V, misma bobina y capacitor
FPGA: XC3S200A (es volatil pero es lo que mas celdas tiene que consigo en spartan 3A)
Memoria de configuracion: XCF02 (es la adecuada para el device de 200 kiloceldas)
Oscilador de cuarzo de 25 MHz SMD 5x7 mm

Bueno creo que eso es suficiente para tenerlo funcionando, te comento que todas estas cosas las conseguis en digikey.
Saludos!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 23 de Diciembre de 2009, 16:36:39
metalm comprate la 3AN que tiene flash interna, así puedes dejar la aplicación programada.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 23 de Diciembre de 2009, 17:04:41
metalm comprate la 3AN que tiene flash interna, así puedes dejar la aplicación programada.

No puedo chango porque la Spartan3A con mayor cantidad de kiloceldas que viene en un encapsulado que yo puedo soldar es la XC3S200A y no viene en version AN para el encapsulado VQ-100 : (

la unica que viene en version AN y se puede soldar es la XC3S50A de 50kcells y viene en los encapsulados VQ-100 y TQFP-144, pero tengo miedo de quedarme corto asi que elijo la de mas kcells y agrego la memoria.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: lectra en 23 de Diciembre de 2009, 23:43:27
Compre la tgta Spartan 3E-Starter, por  por internet sin embargo no tiene los CD y al activarla el programa con el que  esta cargada maneja un un lcd y muestra un corrimiento en los led sin embargo le conecte un monitor a la salida VGA pero no se ve nada, existe algun link mediante el cual pueda descargar un ejemplo donde pueda probar la salida VGA con la que viene la tgta o alguna prueba sencilla que pueda hacer de la funcionalidad de esta.


Esta la compre para aprender sin embargo a futuro  procurare trabajar en un desarrollo  propio sencillo.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 24 de Diciembre de 2009, 00:21:43
Hola

lectra Felicidades por tu nueva adquisicion, buen regalo de navidad :mrgreen:
el software y los ejemplos estan en la pagina de digilent. no los conosco bien porque todavia no programe nada para fpga.

PICmouse si sigues por aqui quisiera preguntarte cual es la diferencia entre la spartan 3E y la 3AN aparte de que lleve internamente la memoria flash.
vi el datasheet aunque no lo entendi casi nada

yo tendre que esperar hasta el año :5](poco mas de una semana) para comprar mi targeta porque unos amigos de la u con los que pensaba hacer una compra conjunta no pudieron conseguir todo el dinero a tiempo.

metalm te comento que digikey no vende en Bolivia (al menos es lo que se) asi que estamos como en el principio, de todas maneras lo que me queda es comprar por internet.

y una pregunta ¿cuanto te salio la fpga spartan3A? y ¿cuanto esta la spartan3AN de 50k?

si me alcansa me compraria eso mas, aunque pensaba pedirme la xilinx ccol runer II que es un cpld que estaria muy bien para aplicaciones pequeñas.

sau2 :x)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: metalm en 24 de Diciembre de 2009, 14:01:29
Hola

lectra Felicidades por tu nueva adquisicion, buen regalo de navidad :mrgreen:
el software y los ejemplos estan en la pagina de digilent. no los conosco bien porque todavia no programe nada para fpga.

PICmouse si sigues por aqui quisiera preguntarte cual es la diferencia entre la spartan 3E y la 3AN aparte de que lleve internamente la memoria flash.
vi el datasheet aunque no lo entendi casi nada

yo tendre que esperar hasta el año :5](poco mas de una semana) para comprar mi targeta porque unos amigos de la u con los que pensaba hacer una compra conjunta no pudieron conseguir todo el dinero a tiempo.

metalm te comento que digikey no vende en Bolivia (al menos es lo que se) asi que estamos como en el principio, de todas maneras lo que me queda es comprar por internet.

y una pregunta ¿cuanto te salio la fpga spartan3A? y ¿cuanto esta la spartan3AN de 50k?

si me alcansa me compraria eso mas, aunque pensaba pedirme la xilinx ccol runer II que es un cpld que estaria muy bien para aplicaciones pequeñas.

sau2 :x)

En serio digikey no vende en Bolivia? no puede ser, si ellos lo mandan por USPS (servicio de correo de estados unidos) o por courrier (Federal Express, UPS). De ultima si no te lo mandan por USPS te lo tienen que enviar poro algun courrier a pesar de que es un poco mas caro (no mucha diferencia)

Los costos de los productos los tenes en la pagina de digikey, anda al buscador y escribi XC3S50AN que es la que a vos te interesa y fijate si la queres en Speed Grade 4 o 5 (5 es mas rapida) y si la queres en encapsulado VQ-100 o TQFP-144 que son las unicas que se pueden soldar por humanos  :lol:
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: siciliano en 01 de Febrero de 2010, 12:10:42
Hola agradeceria que se me envie los manuales de Nexys 2 , es para iniciarme en el campo de los FPGA agradesco desde ya
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: siciliano en 01 de Febrero de 2010, 12:23:40
Hola amgios les dejo mi copa experiencia en sobre este tema pero espero que les sirva , les comento que estoy trabajando en una empresa
en la que trabajamos con FPGA Y ninguna se quemo por estatica y estamos trabajando sobre mesas de madera

                                                           saludos
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Geo en 01 de Febrero de 2010, 18:12:02
Hola agradeceria que se me envie los manuales de Nexys 2 , es para iniciarme en el campo de los FPGA agradesco desde ya
Puedes descargar el enlace en este enlace: http://www.digilentinc.com/Data/Products/NEXYS2/Nexys2_rm.pdf
Los esquemáticos: http://www.digilentinc.com/Data/Products/NEXYS2/Nexys2_sch.pdf

Esa tarjeta es diseñada por Digilent, en su sitio puedes encontrar documentación y proyectos de ejemplo: http://www.digilentinc.com
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: siciliano en 02 de Febrero de 2010, 14:03:27
Hola buenas tardes le comento que ya hice mi primer programa en vhdl y lo carge en la NEXYS 2 de digilent me gustaria saber si usted podria enviarme ejemplos para seguir
practicando con esta placa y de este modo incorporarme en el campo FPGA

                                                                 GRACIAS
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 02 de Febrero de 2010, 15:45:58
Hola buenas tardes le comento que ya hice mi primer programa en vhdl y lo carge en la NEXYS 2 de digilent me gustaria saber si usted podria enviarme ejemplos para seguir
practicando con esta placa y de este modo incorporarme en el campo FPGA

                                                                 GRACIAS

en la misma pagina de digilent encontraras diversos ejemplos en VHDL si te fijas abajo de la pagina donde salen las caracteristicas de la placa tiene enlaces a ejemplos. yo me descargue algunos pero no los probe todavia porque la placa no me llego.
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: siciliano en 03 de Febrero de 2010, 15:12:10
Hola te comento q yo tambien enpece a trabajar con la nexys2 hasta ahora lo unicio que pude hacer fue conpuertas logicas and , or . usted tendria otros ejercicios de aplicacion
desde ya muchas gracias
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 11 de Marzo de 2010, 08:31:13
Hola
despues de mucho esperar, finalmente me llego mi nexys2. :-/

aunque me parecio muy pequeña para el alto precio que pague, y que tenia previsto recibirla cuando todavia estaba en vacaciones.
pero bueno, todo el trauma del tramite para pagar y para recoger, al final la placa mas el envio me salieron casi al doble del precio, y me quede sin dinero por algun tiempo.

empezare a programar esta pequeña ya mismo. :mrgreen:

salu2:)

Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 11 de Marzo de 2010, 10:38:18
Felicidades por tu nueva tarjeta!!!!

Vamos aa ver resultados con ella pronto!!
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: micronoob en 11 de Marzo de 2010, 10:55:42
Hola

Citar
aunque me parecio muy pequeña para el alto precio que pague

lo bueno es que por todo lados dicen que es mas barato desarrollar con FPGA y de veras que me estoy esforzando para entender de donde han sacado este dato

alla os dejo algo con que soñar

(http://www.xilinx.com/images/image141414.jpg)

http://www.xilinx.com/products/devkits/EK-S6-EMBD-G.htm (http://www.xilinx.com/products/devkits/EK-S6-EMBD-G.htm)

por lo meno para mi es una locura y la version virtex para tirarse los pelos

http://www.xilinx.com/products/devkits/EK-V6-EMBD-G.htm (http://www.xilinx.com/products/devkits/EK-V6-EMBD-G.htm)


Saludos.


Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: JOJOJORGE5 en 11 de Marzo de 2010, 16:05:36
Felicidades por tu nueva tarjeta!!!!

Vamos aa ver resultados con ella pronto!!

Gracias, y claro que veremos resultados, auque sean pequeños pero los veremos.

salu2:)
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: rcb_1983 en 23 de Julio de 2010, 20:48:04
Hola a todos!

Estoy internandome en el mundo de la lògica programable y sus aportes y experiencias son de gran utilidad. Ahora, quisiera que aquellos que han adquirido placas de Digilent, me ayudaran con algunas dudas. Estuve mirando las plaquitas en la pàgina y creo que me quedaria con la Nexys2, y comprendo el procedimiento pero todavia dudo con respecto al tema impositivo-aduanero (¿hay algun lugar donde pueda calcular aprox. el valor que tendria que pagar para retirarla?) y el tiempo que tarda en llegar el pedido (tengo pensado utilizarla para )un proyecto de la facultad y cuanto antes la tuviera, mejor).

gracias por adelantado
Título: Re: Libro Diario con la Spartan-3AN (FPGA)
Publicado por: jlferye en 27 de Julio de 2010, 20:40:17
HOla a todos! Estoy trabajando con un FPGA spartan 3an en system generator y quisiera saber como utilizar el DAC. Estpy haciendo un transmisor con modulacion BPSK y otro con modulacion QPSK. Si alguien me puede ayudar estare muy agradecida ya que es lo unico que me falta para terminar con mi proyecto!
Título: Re:Libro Diario con la Spartan-3AN (FPGA)
Publicado por: Gibs_3an en 08 de Marzo de 2016, 00:20:37
alguien por aqui??  sigue vivo este hilo de FPGA??
Título: Re:Libro Diario con la Spartan-3AN (FPGA)
Publicado por: LABmouse en 08 de Marzo de 2016, 01:35:21
Esperando un espacio de tiempo para compartir un curso de este tema y sobre todo SoftCore que es bastante interesante.