¿Supongo que está intentando actualizar sus proyectos de superposición de video para color? Un trabajo duro. Una de las dificultades que puede encontrar es que si bien una fluctuación de 100 ns en una señal de luminancia es molesta pero tolerable, y 50ns sería apenas perceptible, incluso una fluctuación de 25 ns en su señal de croma será claramente visible (se trata de la diferencia entre rojo y naranja). Para la luminancia, está bien derivar su reloj de puntos pasando un reloj de marcha libre que funciona a más de 24 MHz a través de un contador que se reinicia durante HSync, por lo que mantiene toda su sincronización en el dominio digital. La sincronización de Chroma es lo suficientemente estrecha como para que este enfoque solo produzca buenos resultados si tienes un reloj realmente rápido.
No puedo pensar en ningún producto de electrónica de consumo que haya visto que pueda superponer una imagen en color en una señal de video compuesto que no generaron ni descodificaron internamente. Probablemente hay una razón.
Editar
Si realmente quiere seguir adelante, su mejor opción puede ser sincronizar la lógica con un múltiplo preciso de la frecuencia de croma (por ejemplo, 57.272727MHz si puede obtenerlo - chroma * 16), y luego tener un retardo variable preciso utilizando algo como:
Out0 = MyRef
Out1 = Out0 | (MyRef & (PhaseDelay == 14))
Out2 = Out1 | (MyRef & (PhaseDelay == 13))
Out3 = Out2 | (MyRef & (PhaseDelay == 12))
...
Out14 = Out13 | (MyRef & (PhaseDelay == 1))
Out15 = Out14 | (MyRef & (PhaseDelay == 0))
Idealmente, cada etapa debería demorar aproximadamente 2.5 ns, por lo que la demora total sería de 40 ng, o un poco más larga que el período de su reloj. En cada línea de exploración, determine si se está retrasando o liderando la señal de croma. Si está retrasado, use un valor más bajo de PhaseDelay en la siguiente línea; Si eres líder, usa uno más alto. Si se cae del final, agregue o elimine un ciclo de reloj y ajuste PhaseDelay en una cantidad de autoajuste; use la siguiente línea de la fase de demora o inicial para determinar si debe aumentar o disminuir esa cantidad.
Tal vez la lógica podría simplificarse ligeramente si se garantizara que el croma de referencia sea un poquito más lento que el original, incluso con ambas señales en los extremos de sus regiones de tolerancia. Sin embargo, no estoy seguro de cuáles son los rangos de tolerancia exactos.
PS - Otra simplificación podría ser decir que si antes de tomar el primer pulso de croma de una línea de escaneo está cerca del final de su línea de retardo, agregue / suelte un ciclo y ajuste el Retardo de Fase en una cantidad adecuada ; No agregue / deje caer un ciclo en ningún otro momento. Probablemente hay alrededor de 4 muestras de croma "confiables" por línea (el extremo frontal de la ráfaga de croma a veces es un poco confuso), por lo que si su estimación inicial de cuánto ajustar el tiempo de retardo está incluso cerca, podrá para ajustarlo por +/- 4.
PPS: una simplificación adicional si piensa que siempre habrá (por lo menos) cinco ciclos de croma agradables sería reducir la longitud de su línea de retardo, por lo que es solo una pizca de su ciclo de reloj rápido, luego use el primer ciclo de croma para estar dentro de un reloj rápido de la posición correcta, el segundo para seleccionar entre dos tomas de retardo que están separadas por medio ciclo, y el siguiente para seleccionar entre tomas que estén separadas por un cuarto de ciclo, etc.