Autor Tema: Mini curso de introducción a VHDL  (Leído 29178 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Mini curso de introducción a VHDL
« en: 02 de Febrero de 2010, 14:59:39 »
Qué tal, durante el 2007 y 2008 colaboré en la impartición de un curso de introducción a VHDL de 4-5 días durante un congreso de electrónica llevado a cabo en donde estuve estudiando :). El año pasado me invitaron nuevamente aunque coincidió con las fechas de realización de un concurso (el evento nacional de creatividad de los tecnológicos) y ya no pude participar.

El curso fue muy básico, durante los dos primeros días se presentaron algunas generalidades del lenguaje VHDL y se introdujo a la utilización del software ISE de Xilinx. Después de eso se llevaron a cabo algunos ejercicios:

  • Compuertas básicas (and, or...)
    Introducción a ISE y VHDL. Revisión de sintaxis, implementación, asignación de pines, generación de archivo de programación, descarga de proyecto.
  • Medio sumador (diseño estructural) y (diseño por flujo de datos / funcional)
    Diferencia entre diseño estructural, por comportamiento y funcional.
  • Sumador completo (diseño por flujo de datos / funcional) y (diseño estructural)
    Reutilización e instanciación de componentes, continuamos con la diferencia entre los modos de diseño,
  • Sumador de 4 bits (esquemático)
    Cómo trabajar con la herramienta de diseño de esquemáticos.
  • Sumador de N bits
    La sentencia generate, diseño genérico.
  • Contador de 4 bits con salida a leds
    Circuitos secuenciales.
  • Contador 0-99 con salida a displays de 7 segmentos, pulsos cada 1s
    Proyecto final, una forma fácil de dividir la frecuencia, multiplexación de displays.
  • Proyectos no incluidos por falta de tiempo, ejemplo VGA, diseño de un procesador simple
    (Probablemente se pasen a un curso intermedio).

Bien, el chiste es que me gustaría saber si estarían interesados en que les comparta el material, con la condición de que me den comentarios, ideas y sugerencias para mejorar o ampliar el curso, ¿qué les parece?
« Última modificación: 02 de Febrero de 2010, 15:05:39 por Geo »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Mini curso de introducción a VHDL
« Respuesta #1 en: 02 de Febrero de 2010, 15:55:46 »
Pues me parece una exelente idea :mrgreen:

pues mas ideas creo que las tendre en cuanto aprenda algo.

aunque para un curso de 4-5 dias me parece suficiente, aunque se le puede sacar mas provecho introduciendoce mas a aspectos del lenguaje que tratando de diseñar proyectos muy complicados.

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 627
Re: Mini curso de introducción a VHDL
« Respuesta #2 en: 02 de Febrero de 2010, 18:12:13 »
Yo tambien estoy interesado, hace tiempo que le tengo ganas al VHDL y por varios motivos no he podido dedicarle el tiempo necesario, sobre las sugerencias que pides , bueno no se si ya lo contemplas pero me parece util el incluir el uso de algun simulador de VHDL.

Saludos
La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Mini curso de introducción a VHDL
« Respuesta #3 en: 02 de Febrero de 2010, 18:26:30 »
Yo tambien me sumo!! El año pasado tuve vhdl en circuitos digitales 2, y pienso rendirla en marzo, asiq me viene de 10 el material para repasar :D
gracias Geo!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Mini curso de introducción a VHDL
« Respuesta #4 en: 03 de Febrero de 2010, 03:27:29 »
sander: Olvidé mencionarlo, pero si se incluye la utilización del simulador.

Acabo de revisar el material que debía tener en mi computadora y no encuentro las presentaciones :p. No importa, podemos basarnos solamente en los ejercicios mientras veo si las consigo (debiera tenerlas mi compañero con quien di el curso).

Creo que no pondré todo el código de una sola vez, sino que iré colocando de a uno los ejercicios, a manera del curso. A continuación listo lo que necesitaremos.

Herramientas necesarias

  • Algún dispositivo de lógica reconfigurable, los ejercicios fueron probados en estas dos tarjetas desarrolladas por Digilent:
    Spartan 3 Starter Kit
    CMOD + CERES
    Si ya tienen alguna, perfecto. Si tienen otra, no importa, también sirve.
    Si no tienen ninguna, tampoco hay problema, pueden de cualquier manera realizar los ejercicios y trabajar con simulaciones.
    Si piensan comprar alguna, chequen entre las más recientes, muchas veces tienen más prestaciones y son más económicas.
  • Software ISE
    Es la herramienta con la que crearemos nuestros diseños, los simularemos y convertiremos a un circuito para algún dispositivo reconfigurable. Básicamente hay dos versiones: Foundation y Webpack, la diferencia es que el Webpack es gratuito, lo pueden encontrar en esta dirección: http://www.xilinx.com/webpack
  • Software de simulación.
    Por ahora les recomiendo utilizar el simulador incluido en ISE, en el Webpack se incluyó a partir de la versión 8.2, no es la gran cosa pero sirve :).
    Otra opción muy potente es ModelSim, hay una versión gratuita para emplear con dispositivos de Xilinx (según recuerdo la última vez que chequé), aunque si no me equivoco me empezó a dar problemas a partir de Windows Vista. Para quien guste le recomiendo echar un ojo a Modelsim, aunque aquí nos conformaremos con el simulador incluido en el ISE (no he checado las últimas versiones del Webpack, tengo que confirmar que si esté incluido).
  • Cable de programación
    Las tarjetas de desarrollo más recientes que he visto en Digilent permiten la programación de los dispositivos mediante USB, para las que no cuenten con esta opción (como las que mencioné), necesitarán contar con el cable adecuado. Yo he utilizado el JTAG USB de Digilent (aunque ya vi que hay uno mejor y más barato, además de las tarjetas que soportan USB :p).

Yo tengo ISE Foundation 8.2, comenten qué versión tienen o pueden conseguir, podemos checar si nos ponemos de acuerdo sobre qué versión trabajar. Entre versiones, el cambio más fuerte fue de la 7 a la 8. De la 8 a la 9 no fueron tan drásticos los cambios, la 10 es muy similar a la 9, la 11 no la conozco.
En cuanto a tarjeta, ahorita tengo una Spartan 3 Starter pero no es mía (me la dieron para probar lo de la interfaz del procesador que mencioné en otro tema), quizá pueda conseguir una igual para realizar pruebas.

Espero sus comentarios.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 627
Re: Mini curso de introducción a VHDL
« Respuesta #5 en: 03 de Febrero de 2010, 12:45:11 »
Yo ya segui el Link para bajar el ISE webpack , primero tuve que registrarme y ahora que veo el tamaño del webpack es de 2,67 GB , para ser una version gratuita debe tener bastantes herramientas.

Saludos
La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado Cld36

  • PIC10
  • *
  • Mensajes: 6
Re: Mini curso de introducción a VHDL
« Respuesta #6 en: 03 de Febrero de 2010, 12:48:13 »
Saludos Geo,

Me uno al curso para apoyar en lo que se pueda y para plantear mis dudas  :D .

Yo creo que se puede empezar con el mini curso con un pequeño tutorial de las herramientas a utilizar
para que se puedan realizar los ejemplos sin mucha dificultad. Cierto es que de una versión a otra cambian
un poco, pero si se tiene el tutorial de alguna versión no sería tan dificil adaptarlo a otra, sobre todo si es
una versión superior.

Propongo como herramienta de simulación el entorno de Aldec: Active-HDL. De la cual existe una
student edition que es free. Si bien tiene algunas limitantes esta bastante completo. Además de
ser más amigable que el simulador de Xilinx. Inconveniente hay que registrarse para bajarlo y
obtener la licencia  :D .

el enlace de Active-HDL Student Edition

http://www.aldec.com/Products/Product.aspx?productid=87b3ddbe-fc61-4984-a806-481772cdf23a

Material del que dispongo:

- Active-HDL 6.2
- ISE webpack 10.1
- Adept (herramienta para programar la nexys via USB)
- Nexys 2

Bye

« Última modificación: 03 de Febrero de 2010, 12:55:46 por Cld36 »

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Mini curso de introducción a VHDL
« Respuesta #7 en: 03 de Febrero de 2010, 14:27:55 »
Hola Geo

yo todavia no cuento con nada pero en estos dias me estara llegando mi nexys2 y tambien esta tarde despues de 4 dias de descarga tendre el ise webpack 11. que pesa 5.6GB segun se es muy similar al 10.

salu2:)

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Mini curso de introducción a VHDL
« Respuesta #8 en: 03 de Febrero de 2010, 15:28:43 »
Yo ya segui el Link para bajar el ISE webpack , primero tuve que registrarme y ahora que veo el tamaño del webpack es de 2,67 GB , para ser una version gratuita debe tener bastantes herramientas.
Si, tiene bastantes cosas, entre herramientas y los archivos de configuración/identificación de cada dispositivo, bibliotecas y más.

Cita de: JOJOJORGE5
yo todavia no cuento con nada pero en estos dias me estara llegando mi nexys2 y tambien esta tarde despues de 4 dias de descarga tendre el ise webpack 11. que pesa 5.6GB segun se es muy similar al 10.
El Webpack gratuito pesa 2.67 GB, tal como mencionó sander. El que pesa 5.6 GB es la Design Suite, la versión completa (de pago), con licencia de evaluación (la tienes que obtener en otro paso). En la página de descarga, abajo de la Design Suite encuentras el Webpack.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Mini curso de introducción a VHDL
« Respuesta #9 en: 03 de Febrero de 2010, 20:08:05 »
Sabia que algo estaba mal en todo esto. :D
pero creo que algo podre hacer. supongo que la licencia de evaluacion me dara por lo menos un mes de uso, espero que sea suficiente para terminar el curso, sino mientras me estare descargando el gratuito. talvez al instalar me de la opcion de instalar la version gratuita si no ni modo, a descargar de nuevo.

salu2:)
Esperando el inicio de clases ;-)

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Mini curso de introducción a VHDL
« Respuesta #10 en: 08 de Febrero de 2010, 21:09:32 »
Ya descargué la versión 11.1 de ISE Webpack, en cuanto pueda la checo si hay mucha diferencia con la 8.2 (la que tengo), de ahí empezamos con los ejercicios.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado betito_mmf

  • PIC10
  • *
  • Mensajes: 13
Re: Mini curso de introducción a VHDL
« Respuesta #11 en: 10 de Febrero de 2010, 04:38:27 »
hola , pues yo consegui el xilinx ISE 10.1  pues me dijeron que las versiones superiores le anularon el simulador de generacion de ondas test bench  waveform
osea abria que aprender a usar el simulador model sim o el Isim del propio ISE a ver que me dicen al respecto , ese generador era muy didactico no se por que lo anularon uhmmm , sera por que no era muy exacto pero para alguien que inicia estaba excelent.



« Última modificación: 10 de Febrero de 2010, 05:04:42 por betito_mmf »
:-) :-) :-)  HOY SERE MEJOR QUE AYER  :mrgreen:

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 627
Re: Mini curso de introducción a VHDL
« Respuesta #12 en: 11 de Febrero de 2010, 09:54:41 »
 :shock: Yo tambien ya descargue la version 11.1 del ISE webpack, pero realmente me sorprende el tamaño de la instalacion (aproximadamente 5 gigas), debe ser una especie de superprograma.


saludos
La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado Cld36

  • PIC10
  • *
  • Mensajes: 6
Re: Mini curso de introducción a VHDL
« Respuesta #13 en: 11 de Febrero de 2010, 14:22:14 »
Saludos,

En lo particular no me parece muy amigable la interface de simulación del ISE de XILINX.

Yo propongo usar el Active-HDL para todo lo referente a las simulaciones.

bye

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Mini curso de introducción a VHDL
« Respuesta #14 en: 09 de Noviembre de 2010, 03:34:25 »
Tras bastante tiempo de no actualizar este tema, es momento de empezar el curso básico de introducción a VHDL :). Aclaro que iré publicando el material aquí en el foro y a la par (aunque desfasado) en el sitio web http://www.mexchip.com. Bien, empecemos.
--------------------------------------------------------
El curso no se centra en el diseño lógico, sino en los aspectos básicos del lenguaje y en el uso de las herramientas de Xilinx para el diseño con VHDL. Durante el curso se utilizaron tres diferentes tarjetas de desarrollo, todas de la empresa Digilent, a saber:

Por el momento cuento con una tarjeta Spartan 3 Starter, y será en la cual implementaré los diseños que se muestren durante el tutorial, aunque trataré de dar indicaciones sobre las modificaciones para utilizar las otras tarjetas.

Breve introducción a VHDL
Durante la última década ha habido una gran revolución en el diseño de sistemas digitales. En la actualidad, un FPGA puede contener más de un millón de compuertas lógicas equivalentes y decenas de miles de flip-flops. Con tal capacidad, no es posible usar las técnicas tradicionales de diseño lógico, donde se realizaba un diagrama de compuertas para diseñar un sistema digital. La realidad es que hoy en día los sistemas digitales se diseñan de manera similar al proceso de desarrollo de software mediante los lenguajes de descripción de hardware (HDLs, por sus siglas en inglés: Hardware Description Language).

El nombre VHDL es un acrónimo que resulta de la combinación de VHSIC y HDL, que significan Very High Speed Integrated Circuit (Circuito Integrado de Muy Alta Velocidad) y Hardware Description Language (Lenguaje de Descripción de Hardware), respectivamente. Se trata de un lenguaje diseñado a iniciativa del departamento de defensa de Estados Unidos, basado en el lenguaje de programación Ada. En 1986 el departamento de defensa de E. U. transfirió los derechos a IEEE, con la intención de que fuera más ampliamente aceptado por la industria, desde 1987, IEEE se ha encargado de la publicación y actualización del estándar VHDL.

Dispositivos reconfigurables
Un dispositivo reconfigurable es aquel circuito de propósito general que posee una estructura interna que puede ser modificada por el usuario final, para implementar una amplia gama de aplicaciones. Algunos dispositivos reconfigurables son:
  • PROM: primer dispositivo que cumplió la característica de ser programable.
  • PAL: Programmable Array Logic, dispositivos conformados por compuertas AND programables y OR fijas.
  • PLA: Programmable Logic Array, más flexibles que las PAL, tiene compuertas AND y OR programables.
  • PLD: Programmable Logic Device, es una matriz de compuertas AND conectada a otra matriz de compuertas OR más biestables.
  • FPGA: Field Programmable Gate Array, inventado por los fundadores de Xilinx, consiste en una matriz de bloques configurables.

Estructura básica de un FPGA
Un FPGA está constituído básicamente de tres componentes:
  • Bloques lógicos, cuya estructura y contenido se denomina arquitectura. Hay muchos tipos de arquitecturas, que varían principalmente en complejidad, desde una simple compuerta hasta módulos más complejos o estructuras tipo PLD.
  • Recursos de interconexión, cuya estructura y contenido se denominan arquitectura de ruteado.
  • Memoria RAM, que se carga durante el reset para configurar bloques y conectarlos.

Hasta aquí llegamos por el momento, en la próxima actualización pondré los pasos para descargar y obtener una licencia gratuita de ISE Design Suite, que será el software que utilizaremos durante este breve tutorial, aunque por las sugerencias de varios veré si también agregamos Active HDL :).
También comento que de teoría es muy poco lo que pondré, prácticamente lo de este post, tengo algunas diapositivas que se usaron durante el curso, pero como no las hice no las pongo hasta que consiga permiso ;). Pero, quien guste aportar algo, será más que bienvenido :).
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/


 

anything