Tengo un curso en 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 usando hardware. Así que me preguntaba cómo debo hacer para aprender HDL. tengo pocas preguntas
¿Puedes aclarar qué HDL quieres usar? Las opciones son básicamente Verilog o VHDL, [EDITAR], y sus parientes, Verilog-ASM y VHDL-ASM (señal mixta analógica). [/EDITAR]Verilog tiene una sintaxis similar a C, lo que hace que sea más fácil de aprender si ha trabajado con C antes, pero esto también facilita el desarrollo de malos hábitos: no puede programar hardware en C, porque es todo paralelo! También como C, asume que sabes lo que estás haciendo, y es fácil pegarte un tiro 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 "lenguajes de lista de red" no son algo que haya 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 todos ejemplos (con propósitos muy diferentes) que me vienen a la mente. Solo he usado netlists para verificar que mi esquema sea correcto (¿tiene sentido cada conexión en mi esquema Eagle), para modificar la abstracción proporcionada por un simulador (SPICE, similar a la forma en que se usan las declaraciones ASM en C), o para exportar/importar entre diferentes programas (EDIF).
El lenguaje de netlisting de Spectre 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 sobre estos lenguajes muestra que a menudo se utilizan herramientas que parecen utilidades de captura de esquemas, en lugar de programar en el propio lenguaje de netlisting.
También apoyaré 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 de 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.
Estoy casi en la misma situación que tú.
Que estoy haciendo:
Tomé un curso gratuito muy básico de VHDL en la universidad en la que estudié. Jugué con el tablero Spartan 3E .
Entonces, compré el tablero y comenzaré a jugar.
Unos amigos míos me han sugerido estos libros:
Y también ha sugerido este documento:
Hay dos lenguajes HDL, son VHDL y Verilog, pregúntale a tu profesor qué lenguaje aprenderás e intenta ver cómo funciona: la sintaxis y cómo podrías hacer módulos sobre esto y hacer una gran revisión sobre TODOS los circuitos digitales.
Antes de hacer cualquier cosa, asegúrese de que realmente sabe todo sobre los circuitos digitales, porque HDL no crea nada nuevo, solo usa estas cosas de una manera diferente. Así que puedes usar uno de los dos libros de arriba, para hacer algunos ejercicios, pregúntale a tu maestro los libros que te recomienda y úsalos o uno de los dos de arriba.
Pregúntale a tu profesor que FPGA usan en las clases, si es Altera, Xilinx, Lattice u otro, si Altera hace la descarga de Quartus Web Edition, si es Xilinx, el ISE Webpack, haz la descarga gratis de uno de estos y intente aprender sobre uno de los softwares y haga algunos de sus ejercicios, simulaciones en uno de ellos.
Tiene razón, alrededor del 90 % del trabajo en HDL está en simuladores, así que aprenda sobre el simulador Modelsim y/o el simulador ISIM en xilinx, sus comandos y cómo hacer bancos de pruebas.
donde sea que termine trabajando, tendrá que usar el mismo HDL que ya usan, así que para aumentar las posibilidades de que lo contraten, 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 tan simple.
Upthread alguien mencionó aprender a 'pensar de manera diferente' para VHDL; también debe hacerlo para verilog, parece C pero no lo es. el punto donde puede verlos, y puede simplemente 'ver' los peligros de tiempo en su cabeza, está casi todo el camino allí
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 ciclicity-cdl.sf.net que tiene su propio entorno de simulación, etc. y produce verilog sintetizable. use y aprenda gtkwave para examinar los archivos .vcd generados por los simuladores.
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 logró que funcionara completamente; yo estaba en el otro 70 %). Creo que las cosas en la industria se están alejando en general de Verilog y 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 querrá usar ModelSim y probablemente pueda usar la edición para estudiantes (creo que es gratis; tal vez con restricciones). Por cierto, recomiendan usar Diseño de sistemas digitales con VHDL 2.ª edición como libro de texto.
Aquí hay un kit de desarrollo de FPGA económico 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 kits de herramientas del proveedor están disponibles para su descarga gratuita. Escuché que por el precio de venta de este kit, vale la pena ir y conseguirlo.
kevin vermeer
Rick_2047
Rick_2047