Soy un estudiante de EE y puedo escribir programas [al menos simples] en más idiomas de los que tengo en 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. Tengo 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 más o menos).
En caso de que sea relevante, tengo Xilinx Webpack y una placa Digilent Spartan3.
Como parece interesado en la programación, puede construir un microprocesador simple.
fuente
Deberías visitar opencores.org y encontrar un proyecto interesante allí. También puede descargar Sigasi HDT , que lo ayudará a acelerar la gramática VHDL.
fuente
Disfruté trabajando con Hans en hardhack este año en el proyecto 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 LED, porque el proyecto se basa en un procesador de núcleo abierto que admite. Entonces, al principio está aprendiendo cómo cargar básicamente el FPGA con el proyecto, luego puede jugar con los sobres en FORTH. Pero cuando comienza a aprender más acerca de los aspectos internos de FPGA es cuando desea agregar funcionalidad, que luego requiere profundizar en el VHDL.
fuente
Un proyecto que disfruté fue implementar el juego Milton Bradley Simon en un FPGA.
En mi universidad, nuestra clase de EDA usa la misma pizarra que mencionas. Algunos de los proyectos implementados incluyen:
Eso puede darte algunas ideas.
Apoyaré la idea de opencores.org así como también implementaré tu propio microprocesador. Dado que tiene un FPGA Xilinx, también podría considerar hacer algo con microblaze o picoblaze.
Editar: formateo.
fuente
Escribí el código vhdl para xilinx virtex core hace algún tiempo. fue una implementación de despertador. Esto es lo que hice:
Enjuagado, repetido 1-3. Señalaría que la generación de flujo de bits está muy integrada en el IDE de Xilinx. Solo tiene que tener un conjunto claro de lógica para implementar en HDL; todo lo demás lo hace el IDE.
fuente
Oscilador controlado numéricamente sería divertido. Acabo de hacer un diseño con mi placa compatible con Arduino (ver http://tinyurl.com/ydmz2su ) 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 por computadora. Cambridge, Massachusetts: MIT Press
Moore, F. Richard 1988 "Ruido de búsqueda de tabla para osciladores digitales sinusoidales" Fundamentos de la música por computadora. Cambridge, Massachusetts: MIT Press
fuente
Lo que estoy haciendo es hacer un poco de CPU. Es una buena forma redondeada para cubrir todos los conceptos básicos.
Cubrirá todos los conceptos básicos de un gran proyecto 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 de manera más destacada), así como a muchos equipos electrónicos y de computadora centrales. conceptos de diseño y arquitectura como registros, operaciones de datos, memoria y aritmética informática.
Puede comenzar con solo sumar y restar y luego agregar más funcionalidades a medida que aprende, hasta llegar a una computadora completamente funcional (aunque simple ... o como prefiero llamarla "retro"). Al menos, ese es mi plan.
Además, tener tu propia computadora personalizada en un chip es simplemente genial :) Como un Raspberry Pi de 16 bits: P
Otros proyectos comunes de FPGA:
-Sintetizador de música
-Generador de efectos DSP
-Midi controlador / interruptor
-Bitcoin minero
-Emuladores de consola de videojuegos
Escudos personalizados de Arduino
-Procesadores paralelos (muy útiles para ciertos problemas matemáticos en los que las computadoras convencionales no son excelentes)
-Robótica / sistemas de control
-Adquisición de datos (algunos diseños de osciloscopio disponibles para FPGA si sabes cómo trabajar con amplificadores operacionales)
VHDL por sí solo no es terriblemente complicado. Lo más importante para 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 vaya a ejecutarse 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.
fuente