Su problema está en su elección de equipo de prueba. Un osciloscopio generalmente no está diseñado para ser utilizado como una herramienta de medición de frecuencia precisa. Se puede usar un osciloscopio para verificar que una señal tiene aproximadamente la frecuencia correcta, pero debido a que la medición de frecuencia en un osciloscopio generalmente se realiza midiendo el período de un ciclo del señal, no puede ser muy precisa.
Para verificar que el reloj esté funcionando correctamente, usando una cadena divisoria, como lo sugieren Brian Drummond y Dmitry Grigoryev en los comentarios, para reducir la velocidad de su reloj es necesario que sea visible para su osciloscopio. Esto debería ser muy fácil de implementar dentro del FPGA y luego emitir la señal dividida hacia abajo a un puerto de E / S. Sin embargo, a solo 25MSps (supongo que, dada su pregunta. Si este es un ancho de banda de entrada de 25MHz, tiene un mejor alcance), tiene una incertidumbre de 4 ns en el tiempo de los bordes de reloj más lentos.
Para verificar la frecuencia exacta de su fuente de reloj FPGA (la precisión de la frecuencia es necesaria cuando se envían señales a otros dispositivos utilizando, por ejemplo, Ethernet, USB), necesitará un contador de frecuencia. Estos dispositivos cuentan el número de transiciones en un tiempo interno conocido o miden el período entre dos transiciones, luego promedian el resultado para producir la frecuencia medida resultante. Si desea medir el error de frecuencia de partes por millón en la frecuencia de la fuente del reloj de su FPGA, necesitará una referencia de frecuencia calibrada dentro de su contador de frecuencia.
El error de PPM en la frecuencia de los cristales se debe a factores como la tolerancia de fabricación, la temperatura y el envejecimiento. En general, el fabricante especificará los errores típicos y máximos de frecuencia para un dispositivo. Algunos dispositivos vendrán en múltiples grados de precisión donde se especifica que algunos dispositivos tienen un error menor.