Problema de fluctuación a largo plazo del reloj LPDDR2

Tengo un problema con la medición de error acumulativo del período de reloj LPDDR2 tERR (11-50per), pero la medición de longitud más corta está bien con cierto margen. Estoy buscando alguna causa o consejos para comprender o solucionar este problema.

Aquí hay un resumen de la prueba de calificación:

Resumen de la prueba de calificación

He realizado una medición adicional de TIE (Error de intervalo de tiempo, que es un error de fluctuación acumulada) en esta señal de reloj LPDDR2 de 333,33 MHz durante un largo período de tiempo (10 µs):

ingrese la descripción de la imagen aquí

Lo que entiendo de la tendencia temporal de TIE es que la fluctuación en intervalos cortos puede estar bien, pero en períodos más largos puede fallar ya que tenemos una variación rápida.

Aquí está el diseño de este reloj diferencial (100 µm/200 µm/100 µm; 33 mm de largo):

Disposición

La salida del reloj del controlador de memoria FPGA está a la izquierda y LPDDR2 está a la derecha. En el medio, el reloj pasa por debajo de un chip de memoria flash que solo se usa al inicio pero aún está encendido.

Mis conjeturas son:

  • La memoria flash cambia la impedancia y disminuye la calidad de la señal debido a la diafonía de la potencia radiada.
  • Las dos vías de la izquierda que hacen que el par no sea diferencial también disminuyen la calidad de la señal y provocan cierta fluctuación a largo plazo.
  • Jitter debido al controlador de memoria

Si tiene alguna pista para entender este problema, sería realmente útil.

Edición 1:

Captura de pantalla de primer plano de la señal del reloj en el chip LPDDR2. Este es un paquete PoP.

ingrese la descripción de la imagen aquí

Edición 2: captura de reloj

ingrese la descripción de la imagen aquí

Editar 3:

Probable razón por la cual hay grandes caídas en el jitter con el tiempo. Puede estar relacionado con el software que ejecuta pruebas de RAM.

ingrese la descripción de la imagen aquí

Respuestas (2)

¿Hay alguna posibilidad de que pueda cambiar un poco el diseño de su FPGA para que el reloj de la memoria salga en las almohadillas en la periferia del campo de pines BGA? Si es así, abre la posibilidad de obtener un enrutamiento diferencial mucho mejor del reloj en el extremo FPGA.

También debe volver a evaluar el par de vías que se muestran en su diseño en el extremo de la memoria del par de diferencias. La colocación y/o enrutamiento de la vía no está equilibrada.

Finalmente, debe observar de cerca a qué se enrutan las trazas de diferencias y al lado. Parece que puede tener un vertido de cobre cercano que podría tener un acoplamiento de franja de borde a uno de los conductores de par diferencial. Idealmente, este reloj y todas las demás señales de control de memoria como un conjunto se enrutarían directamente sobre un plano GND sin cruces de división de planos o bordes de planos paralelos cercanos.

El controlador de memoria es un controlador de memoria duro con pines fijos, por lo que no es posible cambiar los pines de salida del reloj. Estoy viendo la posibilidad de quitar dos vías a la izquierda para mejorar la señalización diferencial. Podría aumentar un poco la longitud del par del lado derecho para tener una coincidencia de longitud más cercana, pero estoy dentro de las especificaciones. El vertido de cobre cercano es GND, pero sí, puede ser una causa, ya que solo hay un aislamiento de 150 µm, tengo un nuevo diseño por venir, así que aumentaré GND para aislar el par diferencial. Finalmente, esta es la capa SUPERIOR y la capa 2 es GND, por lo que no se observan reglas de diseño de señalización de alta velocidad y división del plano.
@zeqL: está luchando contra un problema y, por lo tanto, debe esforzarse por hacer que todo sea lo más perfecto posible. Decir que "Estoy dentro de las especificaciones" puede no ser lo suficientemente bueno. Las vías de la derecha deben estar lo más juntas posible.
Lo que quise decir con "dentro de las especificaciones" fue sobre la longitud del seguimiento del reloj. La diferencia CKp/CKn es de 500 µm, lo que significa una desviación de alrededor de 3-4 ps. Toda mi calificación automática LPDDR2 está bien, pero este tERR (11-50ps), por lo que me pregunto qué puede causar una inestabilidad a largo plazo. La forma GND cercana a la diferencia parece un buen candidato. Además, este es un proyecto muy peludo ya que no tenemos mucho espacio para enrutar. Edité mi pregunta con una captura de pantalla adicional del diseño. Verá que solo puedo hacer una pequeña mejora, y se hará si puedo (reglas de aislamiento).
@zeqL: en mi libro, la coincidencia a través de simetría en trazos diferenciales es muy importante. Las vías representan un punto de inflexión de impedancia y el desequilibrio exhibirá un comportamiento diferente en las dos trazas.
Lo sé y en mi libro también es importante (el libro de Eric Bogatin es mi libro de cabecera), pero la teoría y lo que puedes hacer en la práctica no es lo mismo. Veré si puedo hacer que el lado izquierdo sea simétrico, pero tengo que seguir las reglas de DFM. He agregado una captura de señal de reloj tomada en vías LPDDR2 (no simétricas)
Traté de hacer algo simétrico, desafortunadamente me hace eliminar la vía 1V2 debajo de la señal CK y usar una traza de 80 µm desde la vía superior para alimentar 1V2 a la bola del paquete. Y no tengo tiempo para redirigir Clock y dirigirme al grupo LPDDR2. Sin embargo, veré cómo mover la vía derecha para que sea más simétrica (la misma longitud en el lado inferior).

Obtenga una sonda FET, incluso una sonda FET diferencial, y examine el ESPECTRO del reloj LVDS en un analizador de espectro. Veo algunas notas de ritmo en la forma de onda del reloj, donde la energía no deseada ha empujado el punto medio de los flancos ascendentes para que sea anterior o posterior.

La inestabilidad a largo plazo proviene de la llegada ocasional de energía agresora. Busca notas de ritmo. Algo está causando la modulación de fase. Pero tu ya sabes eso.

No he pensado en el analizador de espectro. Hice algunas capturas pero nada obvio (estaba usando una sonda diferencial con el software analizador de espectro del osciloscopio). Pero capturé un período prolongado de señal de reloj y creo que el problema también puede estar relacionado con el software, necesito hacer algunas pruebas para confirmarlo. Agregué una captura en la publicación principal (edición 3) y puede ver que el voltaje de alto nivel toma alrededor de 150 mV durante algún tiempo, por lo que esto puede explicar las grandes caídas en la tendencia del tiempo de fluctuación.