Soy un principiante en diseño digital y estoy aprendiendo cosas usando "Advanced Digital Design with the Verilog HDL" junto con una placa Spartan-6 LX9 de Xilinx. Hasta ahora he logrado parpadear algunos leds en el tablero comenzando con un ejemplo del sitio web de Xilinx. El código se puede encontrar aquí . Sin embargo, no pude entender completamente parte del ejemplo de DCM. Según tengo entendido, este es un módulo específico del proveedor que se utiliza para cambiar la fase del reloj, etc. Básicamente, es un módulo que ajusta la entrada del reloj en bruto. No pude encontrar una documentación para ese módulo para mi placa LX9, y la más cercana que encontré es para Spartan-3A ( aquí ). Así que tengo algunas preguntas:
- ¿Existe alguna documentación que sea genérica o que cubra la placa Spartan-6 LX9?
- ¿Es absolutamente necesario usar este módulo en este ejemplo? ¿Es posible hacer lo mismo fácilmente sin usar ese módulo?
- ¿Cómo suele la gente hacer cosas específicas del vendedor, como el reloj? Por ejemplo, si uno quiere apuntar tanto a los FPGA de Altera como a los de Xilinx. ¿Cuál es el proceso para lograrlo? ¿Es similar a los typedefs normales de preprocesadores C, etc.?
También, ¿por qué ahora está permitido mover assign LED[3:0] = led_count[26:23];
dentro del bloque always @
? ¿Es porque el LED no es una variable de registro? ¿Y con qué frecuencia se ejecuta esa "línea de código"? En el libro que estoy leyendo, todo suele ir en el ámbito always @
(pero no funcionan con puertos de salida específicos).
Muchas gracias por tu ayuda.