definiendo frecuencia base, multiplicador y divisor para el administrador dinámico de reloj

0

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.
pregunta lode

1 respuesta

1

ok, sé que son las matemáticas de la escuela primaria, pero las necesito de vez en cuando. Así que hice una herramienta rápida para ver si existe un Divisor y un entero Multiplicador (inferior a 255 para mi aplicación) para una frecuencia requerida, o en la vecindad de esa frecuencia en particular.

es una hoja de cálculo pública de Google

Lea otras preguntas en las etiquetas