¿Cómo aprendo HDL?

24

Tengo un curso de Diseño Digital en este semestre y me encanta. Ahora sé que la mayor parte del trabajo en sistemas embebidos y diseño digital se realiza primero en simuladores de computadora y luego se implementa con hardware. Así que me preguntaba cómo debería aprender HDL. Tengo algunas preguntas

  1. ¿Qué? No sé cuáles son los estándares, pero me gustaría aprender cuál es fácil de aprender. Entiendo que la mayoría de los HDL están diseñados para usarse con FPGA, no sé qué.
  2. ¿Cómo? Debería seguir un libro de texto con ejemplos independientes o debería embarcarme en un proyecto como implementar un sistema pequeño (puede ser algo así como el control de semáforos).
  3. donde? ¿Dónde obtendría los recursos?
pregunta Rick_2047

7 respuestas

8

¿Puedes aclarar qué HDL quieres usar? Las opciones son básicamente Verilog o VHDL, [EDIT], y sus familiares, Verilog-ASM y VHDL-ASM (señal mixta analógica). [/ EDIT] Verilog tiene una sintaxis similar a la de C, lo que hace que sea más fácil de aprender si ya has trabajado con C, pero esto también facilita el desarrollo de malos hábitos. No puedes programar hardware en C, porque todo paralelo! También como C, asume que sabes lo que estás haciendo y que es fácil dispararte en el pie. VHDL te obliga a pensar de una manera totalmente diferente, lo cual es útil, pero difícil. Es más detallado y es más probable que le advierta si hace algo extraño. Consulte esta discusión sobre Slashdot o este artículo .

EDITAR: Los "idiomas de la lista de redes" no son algo que haya usado para el trabajo de diseño (en un editor de texto), pero supongo que sí. SPICE, el formato de Cadsoft Eagle y EDIF son ejemplos (con propósitos muy diferentes) que vienen a la mente. Solo he usado listas de red para verificar que mi esquema sea correcto (¿tiene sentido cada conexión en mi esquema de Eagle), para ajustar la abstracción proporcionada por un simulador (SPICE, similar a la forma en que uno usa las declaraciones ASM en C), o para exportar / importar entre diferentes programas (EDIF).
El Espectro el lenguaje de netlisting está relacionado con Verilog-A [nalog] y SPICE, y está diseñado para trabajos de diseño y verificación. MAST es un lenguaje de modelado de componentes que es compatible con Verilog-AMS y VHDL-AMS. La búsqueda de tutoriales en estos idiomas muestra que las herramientas que se parecen a las utilidades de captura esquemática se usan a menudo, en lugar de programar en el propio lenguaje de creación de listas.

También secundaré el Xilinx Spartan FPGA y un Digilent tablero de desarrollo. Sin embargo, me quedaría con Basys ($ 60) o Nexys ($ 100) si no necesita el Ethernet en la tarjeta de inicio ($ 150) mencionado por O Engenheiro (precios con descuento por educación). Los Basys y Nexys son más baratos y, por lo tanto, más populares en las escuelas, por lo que hay más tutoriales y laboratorios en línea.

    
respondido por el Kevin Vermeer
9

Estoy casi en la misma situación que tú.

Lo que estoy haciendo:

Tomé un curso básico muy básico de VHDL en la universidad que estudié. Jugué con la tablero Spartan 3E .

Entonces, compré el tablero y comenzaré a jugar.

Unos amigos míos han sugerido estos libros:

  1. Prototipado rápido de sistemas digitales , James O. Hamblen, Michael D. Furman
  2. Publicaciones Doone - Diseño de chips HDL , Douglas J Smith

Y él también ha sugerido este documento:

Guía de diseño de síntesis y simulación de Xilinx

    
respondido por el Daniel Grillo
4
  1. Hay dos idiomas HDL, son VHDL y Verilog, pregúntele a su profesor qué idioma aprenderá y trate de ver cómo funciona: la sintaxis y cómo podría crear módulos sobre esto y hacer un gran revisión sobre TODOS los circuitos digitales.

  2. Antes de hacer cualquier cosa, haz 1, asegúrate de que realmente sabes todo acerca de los circuitos digitales, ya que el HDL no crea nada nuevo, solo usas estas cosas de una manera diferente. Así que puedes usar uno de los dos libros de arriba, para hacer algunos ejercicios, pedirte que enseñes los libros que recomienda y usarlos o uno de los dos de arriba.

  3. Pregúntele a su maestro qué FPGA usan en las clases, si es Altera, Xilinx, Lattice u otro, si Altera realiza la descarga de Quartus Web Edition, si Xilinx, el ISE Webpack, lo hace gratis. descargue uno de estos e intente aprender sobre uno de los softwares y realice algunos de sus ejercicios, simulaciones en uno de ellos.

Tienes razón, aproximadamente el 90% del trabajo en HDL se realiza en simuladores, así que aprende sobre el simulador de Modelsim y / o el simulador de ISIM en xilinx, mandan y cómo hacer bancos de prueba.

    
respondido por el Zork
3

donde sea que termines de trabajar, tendrás que usar el mismo HDL que ya usan, para aumentar las posibilidades de ser contratado y pasar un poco de tiempo con Verilog y VHDL. Antes era bastante simple: Verilog se usaba en los EE. UU. Y VHDL en Europa; en estos días no es tan simple.

Más allá de eso, alguien mencionó que aprendió a "pensar de manera diferente" para VHDL; también debe hacerlo para verilog, pero parece que no es C, un buen lugar para comenzar es mirar y ver dónde se crean los cables y los flops durante la síntesis. una vez que llegue al punto en el que puede verlos, y simplemente "vea" los peligros de tiempo en su cabeza, estará en el camino más allá

    
respondido por el Taniwha
2

icarus verilog o verilator es lo que recomendaría para aprender o jugar con verilog. ghdl es lo que usaría para jugar con vhdl. Lejos de la corriente principal, pero también recomendaría cyclicity-cdl.sf.net que tiene su propio entorno de simulación, etc. y produce un registro sintetizable. use y aprenda gtkwave para examinar los archivos .vcd generados por los simuladores.

    
respondido por el old_timer
1

Aprendí Verilog en la universidad en un curso. La culminación de ese curso fue la implementación de un procesador Superscalar MIPS de 2 vías (el 30% de la clase funcionó completamente; yo estaba en el otro 70%). Creo que las cosas en la industria se están alejando de Verilog y hacia VHDL. Dicho esto, hay muchos tutoriales en línea para ambos idiomas. Aquí hay uno en VHDL y aquí está uno en Verilog .

Probablemente querrá usar ModelSim y probablemente pueda usar La edición para estudiantes (creo que es gratis; tal vez con restricciones). Incidentalmente, recomiendan utilizar Diseño de sistemas digitales usando VHDL 2nd Edition como libro de texto.

    
respondido por el vicatcu
1

Aquí hay un kit de desarrollo de FPGA barato que puede ser adecuado para usted. Sin embargo, no estoy seguro sobre el nivel de herramientas de código abierto que funcionan con él. Las cadenas de herramientas del proveedor están disponibles para su descarga gratuita. He escuchado que en el punto de precio para el que está disponible este kit, vale la pena ir y obtenerlo.

    
respondido por el Sushrut J Mair

Lea otras preguntas en las etiquetas