Estoy usando un FPGA Spartan 6 xilinx, logré que todo funcionara, cambiando los parámetros del multiplicador y del divisor en tiempo de ejecución. DCM_CLKGEN que utilizo.
Mi oscilador real es de 66,6 MHz, pero con PLL_BASE, puedo cambiarlo. Como necesitamos una frecuencia de reloj de 1 a 100MHz, me pregunto, ¿qué frecuencia base tomaría? Lo puse a 40MHz, solo para elegir algo, que me pareció bien ...
FREQUENCYout = FREQUENCYbase * MULTIPLICADOR / DIVISOR
Hice una hoja de cálculo simple para ver cómo los diferentes multiplicadores y divisores convierten la frecuencia base, algunos divisores en los encabezados de columna, algunos multiplicadores en cada fila, así que obtengo una matriz de posibles frecuencias de resultados. Aunque no para todas las frecuencias (se volvería voluminoso). No puedo creer que la prueba y el error sean la manera de definir esos parámetros, pero, sorprendentemente, no encuentro mucha información en la red al respecto.
El divisor y el multiplicador tienen que ser enteros (sin puntos flotantes), de lo contrario, podría simplemente seleccionar "cualquier" multiplicador y calcular un divisor, completando la ecuación.
resumen:
- pregunta 1: frecuencia base para una amplia gama de frecuencias de salida.
- pregunta 2: una forma general de trabajar para definir el multiplicador y el divisor.