Tengo un curso de diseño digital en este semestre y me encanta. Ahora sé que la mayor parte del trabajo en sistemas integrados y diseño digital se realiza primero en simuladores de computadora y luego se implementa utilizando hardware. Entonces me preguntaba cómo debería aprender sobre HDL. Tengo pocas preguntas
- ¿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 su uso con FPGA. No sé qué.
- ¿Cómo? ¿Debo 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 del semáforo).
- ¿Dónde? ¿Dónde obtendría los recursos?
simulation
vhdl
verilog
hdl
Rick_2047
fuente
fuente
Respuestas:
¿Puedes aclarar qué HDL quieres usar? Las opciones son básicamente Verilog o VHDL, [EDIT], y sus parientes, 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 has trabajado con C anteriormente, pero también facilita el desarrollo de malos hábitos: no puedes programar hardware en C, porque es todo paralelo! También como C, supone que sabes lo que estás haciendo, y 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 te advierta si haces algo extraño. Vea esta discusión de Slashdot , o este artículo .
EDITAR: Los "idiomas de Netlist" no son algo que he usado para el trabajo de diseño (en un editor de texto), pero supongo que podría hacerlo. SPICE, el formato de Cadsoft Eagle y EDIF son ejemplos (con propósitos muy diferentes) que vienen a la mente. Solo he usado netlists para verificar que mi esquema es correcto (cada conexión en mi esquema Eagle tiene sentido), para ajustar la abstracción proporcionada por un simulador (SPICE, similar a la forma en que uno usa declaraciones ASM en C), o para exportar / importar entre diferentes programas (EDIF).
El lenguaje de inclusión en la red de Specter está relacionado con Verilog-A [nalog] y SPICE, y está diseñado para trabajos de diseño y verificación. MÁSTILes 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 a menudo se utilizan herramientas que parecen utilidades de captura esquemática, en lugar de programar en el lenguaje de listas de la red.
También usaré el Xilinx Spartan FPGA y una placa de desarrollo Digilent . Sin embargo, iría con Basys ($ 60) o Nexys ($ 100) si no necesita Ethernet en la placa de inicio ($ 150) mencionada por O Engenheiro (precios con descuento educativo). 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.
fuente
Estoy casi en la misma situación que tú.
Que estoy haciendo:
Había tomado un curso básico muy básico de VHDL en la universidad que había estudiado. Jugué con el tablero Spartan 3E .
Entonces, compré el tablero y comenzaré a jugar.
Unos amigos míos han sugerido estos libros:
Y también ha sugerido este documento:
Guía de diseño de síntesis y simulación Xilinx
fuente
Hay dos lenguajes HDL, VHDL y Verilog, pregunte a su profesor qué idioma aprenderá e intente ver cómo funciona: la sintaxis y cómo podría hacer módulos sobre esto y hacer una gran revisión sobre TODOS los circuitos digitales.
Antes de hacer cualquier cosa, haga 1, asegúrese de saber realmente todo sobre los circuitos digitales, porque ese HDL no crea nada nuevo, solo usa estas cosas de una manera diferente. Para que pueda usar uno de los dos libros anteriores, para hacer algunos ejercicios, pídale al maestro los libros que él recomienda y úselos o uno de los dos anteriores.
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, ISE Webpack, realiza la descarga gratuita de uno de estos y intente aprender sobre uno de los softwares y haga 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 Modelsim y / o el simulador ISIM en xilinx, sus comandos y cómo hacer bancos de pruebas.
fuente
donde sea que termine trabajando, tendrá que usar el mismo HDL que ya usan, por lo tanto, para aumentar las posibilidades de ser contratado, intente pasar un poco de tiempo con Verilog y VHDL. Solía ser bastante simple: Verilog se usaba en los EE. UU. Y VHDL en Europa; en estos días no es simple.
Una vez que alguien mencionó aprender a "pensar de manera diferente" para VHDL, también debe hacer eso para verilog, parece C pero no lo es, 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 el punto en el que puede verlos, y simplemente puede 'ver' los peligros de sincronización en su cabeza, está casi todo el camino allí
fuente
icarus verilog o verilator son 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 sim, etc. y produce un verilog sintetizable. use y aprenda gtkwave para examinar los archivos .vcd generados por los simuladores.
fuente
Aprendí Verilog en la universidad en un curso. La culminación de ese curso fue la implementación de un procesador MIPS Superscalar de 2 vías (el 30% de la clase lo hizo funcionar por completo; yo estaba en el otro 70%). Creo que, en general, las cosas en la industria se están alejando de Verilog hacia VHDL. Dicho esto, hay muchos tutoriales en línea para ambos idiomas. Aquí hay uno en VHDL y aquí hay uno en Verilog .
Probablemente quieras usar ModelSim y probablemente puedas usar la edición para estudiantes (creo que es gratis; tal vez con restricciones). Por cierto, recomiendan usar el diseño de sistemas digitales usando VHDL 2nd Edition como libro de texto.
fuente
Aquí hay un kit de desarrollo FPGA barato que puede ser adecuado para usted. Sin embargo, no estoy seguro del nivel de herramientas de código abierto que funcionan con él. Las cadenas de herramientas del proveedor están disponibles para descarga gratuita. He oído que, en el punto de precio, este kit está disponible, vale la pena ir y obtenerlo.
fuente