4 votos

¿Debo usar una salida de la FPGA para un reloj de MCU?

Estamos creando una junta que fue diseñado hace muchos años, el principal objetivo de la actualización es para la parte de la obsolescencia. La junta directiva tiene varios PIC de la uC, así como un FPGA. Cada uno de los PIC necesidades de un reloj y el sistema tiene una 20MHz CTS oscilador para este propósito. ¿Hay alguna razón por la que no deberíamos usar la FPGA para generar estas señales de reloj? El FPGA es la sustitución de otros a la lógica digital en el tablero pero no estoy seguro de si hay problemas con los relojes en particular.

Además del hecho de que la uC tendría que venir después de la FPGA estaba todo hecho salir de restablecer hay otras razones para no reducir el conteo de partes de esta manera? (Y no, no puedo usar el FPGA para reemplazar el PIC).

8voto

Tom Carpenter Puntos 7192

Usted puede conducir el reloj de la FPGA si usted desea reducir el contador de piezas.

En general, existen dos desventajas que puedo pensar:

  1. Reloj de jitter - los terminales de e/S de la FPGA se añade la variación para el reloj - este es básicamente donde el reloj bordes no están exactamente en el lugar correcto y, como resultado, la frecuencia varía de una pequeña cantidad de ciclo a ciclo (el promedio de la frecuencia no cambia). Sin embargo, a menos que usted está haciendo algún súper crítico de ADC/DAC/tiempo de operación que requieren sub picosegundo exactitud, dudo que el jitter es una preocupación. En un 20 mhz MCU reloj no veo que esto podría causar un problema.

  2. Pin I/O Requisitos - usted acaba requiriendo más terminales de e/S de su FPGA para ser utilizado para la distribución de reloj. Si usted tiene suficiente pines de repuesto, que está bien, pero asegúrese de probar que su FPGA puede alimentar a una señal de reloj de todos los pines que desea utilizar. Algunos de los FPGAs tienen requisitos estrictos para que el pin puede ser utilizado para la señal de reloj de salida debido a que el reloj de restricciones de enrutamiento. Además, si pones tu reloj salidas en lados opuestos de la FPGA de empezar a aumentar global reloj de uso de la red como el reloj tiene que llegar a ambos lados de la viruta. La forma más fácil de averiguar si esto es un problema es que la prueba de compilar el diseño antes de enviar la placa de fabricación.

Aparte de eso, hay ventajas para hacerlo:

  1. Parte de Recuento - que necesita menos de reloj de distribución de tampones o los osciladores en su consejo de administración. A veces puede conectar en cadena de los relojes de Mcu si se puede alimentar el reloj de nuevo, pero si no sería necesario separar fuentes de reloj para cada uno de los que iba a aumentar el contador de piezas. El uso de la FPGA como la distribución elimina la necesidad de piezas discretas para ello.

  2. Control de frecuencia - si usted desea cambiar la frecuencia de la MCU de reloj que usted puede hacer los ajustes dentro de la FPGA (por ejemplo, PLL para multiplicar/dividir la frecuencia). Que podría ser útil en el propósito general de la junta donde es posible que desee probar diferentes diseños. Asimismo, permitiría que los diferentes Mcu para que se ejecute en diferentes frecuencias de un solo oscilador.

Posiblemente hay más, pero eso es lo que puedo pensar de la parte superior de mi cabeza.

Si utiliza la FPGA para esto, como se menciono anteriormente, asegúrese de ir sobre el diseño muy cuidado. Asegúrese de que el I/O normas para el FPGA cumplir con los requisitos de la Mcu (y de que tiene la correcta VCCIO de tensión de los bancos de conducción de señales de reloj). También asegúrese de que la prueba de la FPGA firmware antes de comprometerse a la fabricación. Al menos, hacer una prueba de compilación para asegurarse de que el diseño se puede encajar en la FPGA (tanto en reloj de recursos y el pin restricciones) y cumplir con los diseños de los requisitos de tiempo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X