Proyecto para aprender VHDL

14

Soy un estudiante de EE y puedo escribir programas [al menos simples] en más idiomas de los que tengo los dedos. Acabo de empezar a aprender VHDL y me preguntaba qué sería un buen proyecto para conocer realmente el idioma y las herramientas relevantes. Estoy teniendo problemas para encontrar uno porque es un estilo de programación realmente diferente para mí.

He hecho cosas simples como sumadores, pero estoy buscando un proyecto a más largo plazo (es decir, un mes o más).

En caso de que sea relevante, tengo Xilinx Webpack y un tablero Digilent Spartan3.

    
pregunta penjuin

8 respuestas

7

Mi proyecto FPGA "hola mundo" era un controlador de matriz de LED con PWM y entrada de flujo en serie. El resultado final fue agradable ( enlace ) pero admito que he hecho una parte con el Altera Quartus Editor de esquemas para ver cómo se describieron las partes VHDL.

    
respondido por el Axeman
9

Como parece interesado en la programación, puede construir un microprocesador simple.

    
respondido por el starblue
5

Debes revisar opencores.org y encontrar un proyecto interesante allí. También puedes descargar el Sigasi HDT , que te ayudará a acelerar la gramática de VHDL.

    
respondido por el user421
4

Disfruté trabajando con Hans en hardhack este año en Rekonstrukt para construir un sintetizador básico en un FPGA. Los proyectos de LED también son buenos, pero no hay nada como conectar el FPGA a un estéreo. No se está construyendo desde cero, como lo haría un proyecto de LED, porque el proyecto se basa en un procesador de núcleo abierto que soporta en adelante. Así que al principio estás aprendiendo cómo cargar básicamente el FPGA con el proyecto, luego puedes jugar con los sobres en FORTH. Pero cuando comienza a aprender más sobre las partes internas de FPGA es cuando desea agregar funcionalidad, que luego requiere profundizar en el VHDL.

    
respondido por el cyphunk
2

Un proyecto que disfruté fue implementar el juego de Milton Bradley Simon en un FPGA.

En mi universidad, nuestra clase de EDA utiliza la misma tabla que mencionas. Algunos de los proyectos implementados incluyen:

  • Procesamiento de imágenes: filtro de mediana, estiramiento de histograma, detección de bordes
  • Criptografía: AES, varios algoritmos de hash, etc.
  • Comunicación: Ethernet, USB, I2C, etc.
  • Juegos: Pong, invasores del espacio, etc.

Eso puede darte algunas ideas.

Secundaré la idea de opencores.org y también implementaré su propio microprocesador. Ya que tienes un Xilinx FPGA, también puedes mirar hacer algo con microblaze o picoblaze.

Editar: formatear.

    
respondido por el David Brenner
1

Escribí código vhdl para xilinx virtex core hace algún tiempo. Fue una implementación de alarma. Esto es lo que hice:

  • Lea mucho a través del manual de vhdl: tendría que revisarlo ahora, pero me pareció bastante sencillo y fácil de usar hdl :-)
  • usó la suite xilinx (compilador, sintetizador) para obtener el flujo de bits
  • Subió los bitstreams usando jtag

Enjuagado, repetido 1-3. Me gustaría señalar que la generación de bitstream está totalmente integrada en el IDE de Xilinx. Solo debe tener un conjunto claro de lógica para implementar en HDL; El resto de las cosas las realiza el IDE.

    
respondido por el Ishwor Gurung
1

El oscilador de control numérico sería divertido. Lo acabo de hacer un diseño con mi placa compatible con Arduino (consulte enlace ) Pero esto sería perfecto para un FPGA.

Aquí hay un par de referencias de diseño.

Snell, John 1988 "Diseño de un oscilador digital que generará hasta 256 ondas sinusoidales de baja distorsión en tiempo real" Fundamentos de la música de computadora. Cambridge, Mass .: MIT Press

Moore, F. Richard 1988 "Rastreo de tabla de ruido para osciladores digitales sinusoidales" Fundamentos de la música de computadora. Cambridge, Mass .: MIT Press

    
respondido por el jluciani
0

Lo que estoy haciendo es hacer un poco de CPU. Es una buena forma redondeada de cubrir todos los aspectos básicos.

Cubrirá todos los aspectos básicos de un proyecto grande en VHDL y estará expuesto a todos los temas centrales en el diseño de VHDL (relojes, entradas, salidas, lógica, buses y diseño secuencial más prominente) así como a muchos núcleos Conceptos de arquitectura y diseño electrónico e informático como registros, operaciones de datos, memoria y aritmética computacional.

Puedes comenzar solo con la suma y la resta y luego agregar más funciones a medida que aprendes, trabajando hasta llegar a una computadora completamente funcional (aunque simple ... o como prefiero llamarlo "retro"). Al menos, ese es mi plan.

Además, tener tu propia computadora personalizada en un chip es simplemente genial :) Como una Raspberry Pi de 16 bits: P

Otros proyectos FPGA comunes:

-Music sintetizador

- generador de efectos DSP

-MIDI controlador / interruptor

-Bitcoin minero

- Emuladores de consola de videojuegos

- Escudos Arduino a medida

-Procesadores paralelos (muy útiles para ciertos problemas matemáticos en los que las computadoras convencionales no funcionan bien)

-Robotics / control systems

- Adquisición de datos (bastante pocos diseños de osciloscopio para FPGA si sabes cómo trabajar con amplificadores operacionales)

VHDL por sí solo no es horriblemente complicado. Lo más importante que debe recordar es que está diseñando un circuito digital electrónico físico, no escribiendo un programa para un microcontrolador. Su simulación no es un programa que se ejecute línea por línea, básicamente, así que no deje que la similitud superficial con C lo engañe, VHDL es un paradigma muy diferente.

    
respondido por el user9892

Lea otras preguntas en las etiquetas