ES2265718A1 - Sistema y metodo para compensar una oblicuidad entre una primera señal de reloj y una segunda señal de reloj. - Google Patents

Sistema y metodo para compensar una oblicuidad entre una primera señal de reloj y una segunda señal de reloj. Download PDF

Info

Publication number
ES2265718A1
ES2265718A1 ES200401000A ES200401000A ES2265718A1 ES 2265718 A1 ES2265718 A1 ES 2265718A1 ES 200401000 A ES200401000 A ES 200401000A ES 200401000 A ES200401000 A ES 200401000A ES 2265718 A1 ES2265718 A1 ES 2265718A1
Authority
ES
Spain
Prior art keywords
clock
signal
synchronizer
obliqueness
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
ES200401000A
Other languages
English (en)
Other versions
ES2265718B2 (es
Inventor
Richard W. Adkisson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of ES2265718A1 publication Critical patent/ES2265718A1/es
Application granted granted Critical
Publication of ES2265718B2 publication Critical patent/ES2265718B2/es
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information

Abstract

Sistema y método para compensar la oblicuidad en un sincronizador programable de reloj para efectuar la transferencia de datos entre unos primeros circuitos dispuestos en un primer dominio de reloj y unos segundos circuitos dispuestos en un segundo dominio de reloj. En una realización del sistema, se proporciona un detector de fase para detectar una fase entre la primera y segunda señales de reloj. Un detector del estado de oblicuidad, dispuesto en comunicación con el detector de fase, es capaz de funcionar para generar una señal de estado de oblicuidad que rastrea una relación de fase entre las señales de reloj. Un generador de señales de control del sincronizador responde a la señal de estado de oblicuidad generando al menos una señal de control para compensar la oblicuidad entre la primera señal de reloj y la segunda señal de reloj.

Description

Sistema y método para compensar una oblicuidad entre una primera señal de reloj y una segunda señal de reloj.
Prioridad bajo la sección 119 del título 35 del código de los Estados Unidos y la sección 1.78 del capítulo 37 del código de reglamentos federales
Esta solicitud no provisional reivindica una prioridad sobre la base de la siguiente solicitud de patente estadounidense provisional anterior titulada: "Programmable Clock Synchronizer and Controller Arrangement Therefor", Nº de Solicitud: 60/469.120, presentada el 9 de marzo de 2003, a nombre de: Richard W. Adkisson, que se incorpora como referencia en el presente documento.
Referencia a solicitud(es) relacionada(s)
Esta solicitud describe un tema relacionado con el tema descrito en las siguientes solicitudes de patente, de propiedad común, en tramitación junto la presente: (i) "Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207722-2), a nombre de: Richard W. Adkisson; (ii) "Controller Arrangement for a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207723-1), a nombre de: Richard W. Adkisson; (iii) "System and Method for Synchronizing Multiple Synchronizer Controllers", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207724-1), a nombre de: Richard W. Adkisson; (iv) "System and Method for Maintaining a Stable Synchronization State in a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200208008-1), a nombre de: Richard W. Adkisson; y (v) "Phase Detector for a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____(Nº de Expediente 200208010-1), a nombre de: Richard W. Adkisson, todas las cuales se incorporan como referencia en el presente
documento.
Antecedentes de la invención
Frecuentemente, los sistemas electrónicos digitales, por ejemplo, sistemas informáticos, necesitan comunicarse empleando diferentes interfaces, funcionando cada una a una velocidad optimizada para un rendimiento mejorado. Habitualmente, se utilizan múltiples señales de reloj que tienen frecuencias diferentes para proporcionar una temporización adecuada a las interfaces. Además, generalmente las frecuencias de este tipo de señales de reloj están relacionadas entre sí de una manera predeterminada. Por ejemplo, un reloj central o del sistema que funciona a una frecuencia (F_{C}) en particular, puede utilizarse como un reloj maestro en un sistema informático típico para proporcionar una base de tiempos con respecto a una parte específica de sus circuitos digitales. Otras partes de los circuitos digitales del sistema informático (tales como un segmento de bus y los circuitos lógicos dispuestos en el mismo) pueden cronometrarse empleando señales de temporización recibidas del reloj maestro, con lo que las frecuencias (F_{D}) obtenidas cumplen la relación: F_{C}/F_{D} \geq 1.
Debido a la naturaleza asíncrona, aunque relacionada, de las partes constituyentes de los circuitos digitales, habitualmente se emplean circuitos sincronizadores en los sistemas informáticos para sincronizar las operaciones de transferencia de datos a través de una frontera de un dominio de reloj con el fin de evitar errores de datos relacionados con la temporización. Típicamente, se requiere que tales circuitos sincronizadores posean una latencia baja (lo que requiere un control preciso de los relojes asíncronos que respectivamente cronometran las partes de circuito en dos dominios de reloj distintos). Típicamente, en las disposiciones convencionales de circuitos sincronizadores se emplean bucles enganchados en fase (phase locked loop - PLL) para producir relojes de frecuencias diferentes, si bien relacionadas. Los PLL pueden tener una gran cantidad de inestabilidad de fase de entrada/salida (input/output - I/O) que tiene como resultado una diferencia de fase de baja frecuencia, u oblicuidad (skew), entre los distintos relojes de los circuitos sincronizadores. Por consiguiente, es esencial proporcionar una compensación de la oblicuidad entre los distintos relojes de los circuitos sincronizadores.
Sumario
Se describe un sistema y un método que proporcionan compensación de la oblicuidad en un sincronizador programable de reloj para efectuar la transferencia de datos entre unos primeros circuitos dispuestos en un primer dominio de reloj y unos segundos circuitos dispuestos en un segundo dominio de reloj. En una realización del sistema, se proporciona un detector de fase para la detección de una fase entre la primera y segunda señales de reloj. Un detector del estado de oblicuidad en comunicación con el detector de fase es capaz de funcionar para generar una señal de estado de oblicuidad que rastree una relación de fase entre las señales de reloj. Un generador de señales de control del sincronizador responde a la señal de estado de oblicuidad generando al menos una señal de control para compensar la oblicuidad entre la primera señal de reloj y la segunda señal de reloj.
Breve descripción de los dibujos
La figura 1 representa un diagrama de bloques de una realización de un sistema sincronizador programable para efectuar la transferencia de datos a través de una frontera entre relojes;
la figura 2 representa un diagrama de temporización asociado con la transferencia de datos desde los circuitos del dominio del reloj de bus a los circuitos del dominio del reloj central, teniendo los dominios una relación de frecuencias de 5:4, con lo que puede utilizarse el sincronizador programable de la figura 1;
la figura 3 representa un diagrama de bloques de una realización de un controlador del sincronizador de reloj central para efectuar la transferencia de datos a través de una frontera entre relojes;
la figura 4 representa un diagrama de bloques de una parte del controlador del sincronizador de reloj central de la figura 3 que ilustra con más detalle una realización de un sistema para compensar la oblicuidad entre distintos relojes de los circuitos del sincronizador;
la figura 5 representa un diagrama esquemático de una realización de una parte de un detector del estado de oblicuidad empleado junto con las enseñanzas descritas en el presente documento;
la figura 6 representa un diagrama de flujos de una realización de un método para compensar la oblicuidad entre una primera señal de reloj y una segunda señal de reloj;
la figura 7 representa una realización de una máquina de estado efectuada por un detector del estado de oblicuidad asociado con el sistema para compensar la oblicuidad entre una primera señal de reloj y una segunda señal de reloj que tiene una relación de frecuencias de 5:4; y
la figura 8 muestra un diagrama de temporización de dos dominios de reloj que tienen una relación de frecuencias de 5:4, en el que se ilustran con más detalle las señales de reloj asociadas con las transiciones del estado de oblicuidad de la figura 7.
Descripción detallada de los dibujos
En los dibujos, los elementos iguales o similares se designan con números de referencia idénticos en las varias vistas de los mismos, y los varios elementos representados no están necesariamente dibujados a escala. Haciendo ahora referencia a la figura 1, en la misma se representa una realización de un sistema 100 sincronizador programable para efectuar la transferencia de datos a través de una frontera entre relojes entre un primer dominio de reloj (es decir, "el dominio de reloj rápido"), que tiene N ciclos de reloj, y un segundo dominio de reloj (por ejemplo, el "dominio de reloj lento"), que tiene M ciclos de reloj, de manera que N/M > 1. Típicamente, M = (N - 1) y, a título de implementación ejemplar, el sistema 100 sincronizador puede proporcionarse como parte de un sistema informático para transferir datos entre un dominio del reloj central más rápido (por ejemplo, que funciona con una señal del reloj central de 250 MHz) y un dominio del reloj de bus más lento (por ejemplo, que funciona con una señal de reloj de bus de 200 MHz), con una relación de frecuencias de 5:4. Por consiguiente, para los objetivos de esta solicitud de patente presente, los términos "primer reloj" y "reloj central" se emplearán indistintamente con respecto a un dominio de reloj rápido; similarmente, los términos "segundo reloj" y "reloj de bus" se emplearán con respecto a un dominio de reloj lento.
Un circuito 104 de bucle enganchado en fase (PLL) es capaz de funcionar para generar un impulso 110 SINC y una señal 108 (designada como reloj_bus) de reloj de bus (es decir, segundo reloj) basada en una señal 106 (designada como reloj_central) de reloj central (es decir, primer reloj) suministrada al mismo. Tal como se verá a continuación, el impulso 110 SINC proporciona un punto de referencia para coordinar las operaciones de transferencia de datos y se eleva cuando las señales reloj_bus y reloj_central tiene bordes ascendentes que coinciden. Las dos señales 106, 108 de reloj y el impulso 110 SINC se proporcionan a un bloque 102 sincronizador/controlador que se extiende a ambos lados de la frontera entre relojes, entre un primer dominio de reloj (es decir, el dominio del reloj central) y un segundo dominio de reloj (es decir, el dominio del reloj de bus) para efectuar la transferencia de datos a través de la frontera. Los números de referencia 103A y 103B hacen referencia a los circuitos dispuestos en el primer y segundo dominios de reloj, respectivamente, por ejemplo, una lógica de dominio del reloj central y una lógica de dominio del reloj de bus, que transmiten y reciben datos entre los mismos según se facilitan a través de los sincronizadores 105A y 105B, que se describirán con más detalle a continuación en el presente documento.
Cada una de las señales 106, 108 de reloj_central y reloj_bus se suministra primero a un respectivo bloque en árbol de distribución de reloj para generar una señal de reloj distribuida que se suministra a varias partes del bloque 102 sincronizador/controlador. El número de referencia 112 se refiere al árbol de distribución de reloj capaz de funcionar con la señal 106 reloj_central para generar la señal reloj_central distribuida, que en la figura 1 se designa como "c" y se muestra con el número de referencia 106'. Asimismo, el número de referencia 114 se refiere al árbol 114 de distribución de reloj capaz de funcionar con la señal 108 reloj_bus para generar la señal reloj_bus distribuida, que en la figura 1 se designa como "b" y se muestra con el número de referencia 108'. Como debería reconocer fácilmente un experto en la técnica, las señales de reloj distribuidas son esencialmente las mismas que las señales de reloj de entrada. Por consiguiente, la señal 106 reloj_central y su contrapartida distribuida c 106' se tratan en lo sucesivo de manera equivalente. Similarmente, también la señal 108 reloj_bus y su contrapartida distribuida b 108' se consideran equivalentes.
Un bloque 116 lógico de muestreo SINC es capaz de funcionar en repuesta a las señales 106', 108' de reloj distribuidas y a la señal 110 de impulso SINC para generar un par de impulsos SINC muestreados que se envían a circuitos controladores apropiados del sincronizador. En una realización, los impulsos SINC muestreados se obtienen de la siguiente manera. El impulso 110 SINC es muestreado dos veces por dos elementos biestables (flip flop - FF) (no mostrados en la figura 1) que se cronometran en el borde ascendente de la señal reloj_central distribuida, c 106'. Tal como puede apreciarse, el muestreo por dos elementos FF es efectivo para eliminar la metaestabilidad asociada con el impulso 110 SINC (que posiblemente surge debido a la oblicuidad entre la señal de entrada, reloj_central 106, y la señal de salida, SINC 110). El impulso SINC muestreado dos veces se designa en la figura 1 como señal 118 "sinc", que se suministra a un primer controlador 124 del sincronizador (o controlador del sincronizador del reloj central) que funciona en el primer dominio de reloj.
Con respecto al segundo dominio de reloj (es decir, el dominio del reloj de bus), el impulso 110 SINC es muestreado en el bloque 116 lógico de muestreo SINC por un único elemento FF (no mostrado en esta figura) que se cronometra en el borde ascendente de la señal reloj_bus distribuida, b 108'. Para indicar que el muestreo se realiza empleando la señal reloj_bus, el impulso SINC muestreado se designa como señal 120 "sinc_B", que se suministra a un segundo controlador 122 del sincronizador que funciona en el segundo dominio de reloj, al que también se hace referencia en la figura 1 como el controlador del sincronizador del reloj de bus.
El controlador 122 del sincronizador del reloj de bus es capaz de funcionar en respuesta a la señal reloj_bus distribuida, b 108', y al impulso 120 sinc_B muestreado para generar una pluralidad de señales de control del sincronizador, una parte de las cuales se dirige a un primer medio 105A de circuito sincronizador, que funciona para controlar la transferencia de datos desde unos primeros circuitos 103A (es decir, la lógica del dominio del reloj central) a unos segundos circuitos 103B (es decir, la lógica del dominio del reloj de bus). El número de referencia 132 se refiere a la trayectoria de las señales de esta parte de las señales de control que proceden del controlador 122 del sincronizador del reloj de bus. Otra parte de las señales de control del sincronizador generadas por el controlador 122 del sincronizador del reloj de bus se dirigen (a través de la trayectoria 134 de señales) a un segundo medio 105B de circuito sincronizador, que funciona para controlar la transferencia de datos desde los segundos circuitos 103B a los primeros circuitos 103A. En concordancia con la nomenclatura empleada en la presente solicitud de patente, los primeros y segundos circuitos sincronizadores también pueden referirse como circuitos de sincronizador central a bus y sincronizador de bus a central, respectivamente. Además, el controlador 122 del sincronizador del reloj de bus también genera un conjunto señales de control entre controladores que se suministran al primer controlador 124 del sincronizador (es decir, el controlador del sincronizador del reloj central), de manera que ambos controladores puedan trabajar juntos. El número de referencia 128 se refiere a la trayectoria de señales de la(s) serial(es) de control de la relación de reloj entre controladores que se proporciona(n) al controlador 124 del sincronizador del reloj central.
Semejante al funcionamiento del controlador 122 del sincronizador del reloj de bus, el controlador 124 del sincronizador del reloj central es capaz de funcionar en respuesta a la señal reloj_central distribuida, c 106', a las señales de control entre controladores y al impulso 118 sinc muestreado para generar una pluralidad señales de control del sincronizador, una parte de las cuales se dirige al primer medio 105A de circuito sincronizador y otra parte de las cuales se dirige al segundo medio 105B de circuito sincronizador. Los números de referencia 138 y 140 se refieren a las correspondientes trayectorias de señales relativas a estas señales de control. El controlador 124 del sincronizador del reloj central también genera señales de control de transmisión/recepción de datos que se suministran a la lógica 103A del dominio del reloj central a través de la trayectoria 136 de señales con el fin de que la lógica 103A del dominio del reloj central sepa cuándo puede enviar datos a la lógica 103B del dominio del reloj de bus (es decir, operaciones de transferencia válidas) y cuándo puede recibir datos procedentes de la lógica 103B del dominio del reloj de bus (es decir, operaciones de recepción válidas).
Todas las señales de control procedentes del controlador 122 del sincronizador del reloj de bus para el primer y segundo sincronizador 105A, 105B se hace pasar por uno o más elementos FF que se cronometran con la señal reloj_bus distribuida, b 108'. Asimismo, las señales de control procedentes del controlador 124 del sincronizador del reloj central se hacen pasar por una serie de elementos FF cronometrados con la señal reloj_central distribuida, c 106', antes de suministrarse a las varias partes del sistema 100 sincronizador. Por consiguiente, tal como se verá con más detalle posteriormente, las varias señales de control asociadas con el sistema 100 sincronizador pueden designarse con una etiqueta de señal que se concatena con un sufijo "_ff" o "_ff_B" para indicar el proceso de registro por la señal reloj_central distribuida o por la señal reloj_bus distribuida.
Un detector 130 de fase detecta las diferencias de fase (es decir, la oblicuidad) entre las dos señales de reloj al funcionar en respuesta a las señales reloj_bus y reloj_central muestreadas. Esta información se proporciona al controlador 124 del sincronizador del reloj central, el cual puede compensar la oblicuidad o determinar los momentos apropiados para coordinarse con el controlador 122 del sincronizador del reloj de bus.
Si la señal de reloj de bus es estable con respecto al impulso SINC, las señales de control de la relación de reloj entre controladores son generadas por el controlador 122 del sincronizador del reloj de bus, que proporcionan información relativa a la relación de frecuencia de las primera y segunda señales de reloj, la información de secuencia de reloj y el retraso SINC, que se transmiten al controlador 124 del sincronizador del reloj central para la sincronización de su señal de reloj central según las mismas. Por otro lado, si la señal de reloj central es estable con respecto al impulso SINC, las señales de control de la relación de reloj entre controladores son generadas por el controlador 124 del sincronizador del reloj central para la transmisión al controlador 122 del sincronizador del reloj de bus, de manera que ambos controladores del sincronizador puedan sincronizarse apropiadamente. Además, una interfaz 126 de configuración, designada en la figura 1 como Config_SINC, se proporciona como parte del sistema 100 sincronizador programable para configurar el controlador 124 del sincronizador del reloj central, de manera que pueda programarse para diferentes tolerancias de oblicuidad, latencias de oblicuidad y modos de funcionamiento En una realización, la interfaz 126 de configuración puede implementarse como un registro que tiene una pluralidad de bits. En otra realización, puede proporcionarse un ajuste basado en la memoria, por ejemplo, unos ajustes almacenados en una EPROM, como una interfaz de configuración SINC.
Pueden encontrarse detalles adicionales relativos a los varios subsistemas descritos anteriormente en el presente documento en las siguientes solicitudes de patente, de propiedad común, en tramitación junto con la presente: (i) "Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207722-2), a nombre de: Richard W. Adkisson; (ii) "Controller Arrangement for a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207723-1), a nombre de: Richard W. Adkisson; (iii) "System and Me-thod for Synchronizing Multiple Synchronizer Controllers", presentada _____; Nº de Solicitud ____ (Nº de Expediente 200207724-1), a nombre de: Richard W. Adkisson; (iv) "System and Method for Maintaining a Stable Synchronization State in a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200208008-1), a nombre de: Richard W. Adkisson; y (v) "Phase Detector for a Programmable Clock Synchronizer", (Detector de Fase para un Sincronizador Programable de Reloj) presentada ____; Nº de Solicitud ____ (Nº de Expediente 200208010-1), a nombre de: Richard W. Adkisson, todas las cuales se incorporan como referencia en el presente documento.
Tal como se ha expuesto anteriormente, el sistema 100 sincronizador puede programarse para diferentes tolerancias y latencias de oblicuidad, de manera que la transferencia de datos a altas velocidades pueda tener lugar apropiadamente incluso cuando existe una oblicuidad elevada o un requisito de baja latencia. Además, el sistema 100 sincronizador puede funcionar con cualquiera de dos dominios de reloj que tengan una relación de N primeros ciclos de reloj a M segundos ciclos de reloj, donde N/M \geq 1. A efectos ilustrativos, a continuación se expone con detalle el funcionamiento de una realización del sistema 100 sincronizador programable para transferir datos desde el dominio del reloj de bus al dominio del reloj central, teniendo los dominios de reloj una relación de frecuencias de 5:4.
La figura 2 representa un diagrama 200 de temporización de dos dominios de reloj que tienen una relación de frecuencias de 5:4, en el que puede utilizarse el sistema sincronizador programable de la figura 1 para efectuar la transferencia de datos a través de la frontera entre relojes desde los circuitos del dominio del reloj de bus hasta los circuitos del dominio del reloj central. En particular, la figura 2 ilustra la relación temporal de las varias señales de control asociadas con el sistema 100 sincronizador de la figura 1 y el efecto de diferentes tolerancias y latencias de oblicuidad. Un recuento 202 de ciclo se refiere a la numeración de ciclos de la señal reloj_central en una secuencia de temporización en particular. Se ilustran dos secuencias [A, B, C, D] y [A2, B2, C2, D2] de datos 204 de bus, teniendo cada bloque una anchura de k bits y estando disponible para un ciclo de reloj en particular, de 0 a 3. Pueden programarse diferentes factores de tolerancia y de latencia de oblicuidad y, en concreto, en un modo 5:4, por ejemplo, un bloque de registro de multiplexor de un circuito sincronizador de bus al central (no mostrado), que es cronometrado por el reloj central, puede captar datos cinco veces pero, puesto que sólo cuatro transferencia de datos pueden proceder del dominio de bus, únicamente se emplearán cuatro (teniendo el ciclo extra una parte de datos no utilizada, marcada con una X en los Paneles 206A-206C). Pueden encontrarse detalles adicionales sobre la funcionalidad de control de la carga y captura de datos de un circuito sincronizador del reloj de bus al central a modo de ejemplo en la antedicha solicitud de patente estadounidense en trámite junto con la presente, titulada "Programmable Clock Synchronizer", presentada ____ Nº de Solicitud ____ (Nº de Expediente 200207722-2), a nombre de: Richard W. Adkisson.
En el Panel A 206A, se muestra la transferencia de datos desde los circuitos del dominio de bus, cargándose los datos de bus, para suministrarse como los datos b0_ff 208A y b1_ff 208B, a través de un par de bloques de registro de multiplexor, en los circuitos del dominio central, como la salida 210 central_ff de datos captados, donde se programa una condición que implica una tolerancia de oblicuidad de 0,25 y una latencia añadida de 0,625. La tolerancia de oblicuidad, que en este caso se mide en ciclos del reloj central, se define como la distancia mínima entre muestra de datos (es decir, central_ff 210) y entrada de datos cambiante (es decir, b0_ff 208A o b1_ff 208B). La latencia añadida también se mide en ciclos del reloj central, obtenidos al promediar los valores asociados con los cuatro bloques de datos (desde el inicio de la entrada de datos, es decir, b0_ff o b1_ff a central_ff). La latencia real se determina como un ciclo de la señal reloj_bus más la latencia añadida, que en el modo 5:4 se traduce en 1,25 ciclos de la señal reloj_central más la latencia añadida.
Tal como se muestra en el Panel A 206A, que ilustra la mejor condición de latencia pero con la peor tolerancia de oblicuidad, el controlador 124 del sincronizador del reloj central genera la señal 212 b2c_válida_ff, de manera que no hay ninguna operación de recepción válida durante el ciclo 0 de la señal reloj_central (es decir, su primer ciclo). La salida, es decir, central_ff 210, incluye el bloque [A] de datos de b1_ff 208B, a continuación, el bloque [B] de datos de b0_ff 208A, a continuación el bloque [C] de datos de b1_ff 208B, y a continuación, de nuevo el bloque [C] de datos (en el ciclo 0 de la segunda secuencia de la señal reloj_central, que es el ciclo extra no utilizado, dando lugar por tanto al bloque C o XC de datos no válido), y por último, el bloque [D] de datos de b0_ff: 208A. Puesto que el bloque [C] válido se cargó en central_ff 210, procedente de b1_ff 208B, 0,25 ciclos de la señal reloj_central después de que b1_ff 208B lo cargara, la tolerancia de oblicuidad es 0,25 ciclos de la señal reloj_central.
El Panel B 206B de la figura 2 ilustra el modo de programación con la siguiente mejor condición de latencia (latencia añadida = 0,875) que tiene la siguiente mejor tolerancia de oblicuidad (= 0,5 ciclos de la señal reloj_central). Bajo estas condiciones, el controlador 124 del sincronizador del reloj central genera bac_válida_ff 212 de manera que se reduce en el quinto ciclo de la señal reloj_central (es decir, el ciclo 4). La salida, es decir, central_ff 210, incluye el bloque [A] de datos de b1_ff 208B, a continuación, el bloque [B] de datos de b0_ff 208A, y de nuevo el bloque [B] de datos que no se emplea (en el ciclo 4 de la primera secuencia de la señal reloj_central, que es el ciclo extra sin utilizar, dando lugar así al bloque B o XB de datos no válido), a continuación el bloque [C] de datos de b1_ff 208B, y por último, el bloque [D] de datos de b0_ff 208A. Puesto que el bloque [B] válido se cargó en central_ff 210, procedente de b0_ff 208A, 0,5 ciclos de la señal reloj_central después de que apareciera en b0_ff 208A, la tolerancia de oblicuidad es 0,5 ciclos de la señal reloj_central.
El modo de programación con la peor latencia (= 1,125) y la mejor tolerancia de oblicuidad (= 0,75 ciclos de la señal reloj_central) se muestra en el Panel C 206C de la figura 2. El controlador 124 del sincronizador del reloj central genera bac_válida ff 212 de manera que se reduce en el cuarto ciclo de la señal reloj_central (es decir, el ciclo 3). La salida, es decir, central_ff 210, incluye el bloque [A] de b1_ff 208B (en el ciclo 2 de la primera secuencia de la señal reloj_central), y de nuevo el bloque [A] de datos que no se emplea (en el ciclo 3 de la primera secuencia de la señal reloj_central, que es el ciclo extra sin utilizar, dando lugar así al bloque A o XA de datos no válido), y a continuación el bloque [B] de datos de b0_ff 208A, a continuación el bloque [C] de datos de b1_ff 208B, y por último el bloque [D] de datos de b0_ff 208A. Puesto que el bloque [A] válido se cargó en central_ff 210 procedente de b1_ff 208A, 0,75 ciclos de la señal reloj_central tras aparecer en b0_ff 208A, la tolerancia es 0,75 ciclos de la señal reloj_central. Tal como se señaló anteriormente, la latencia añadida es el promedio del tiempo (en ciclos de la señal reloj_central) desde b0_ff o b1_ff a central_ff para todos los datos empleados. Por consiguiente, no se muestra valor de latencia alguno en ninguna parte de datos con una X.
Sobre la base de la discusión anterior, debería apreciarse que la realización del sincronizador de la presente invención puede programarse para diferentes latencias y tolerancias de oblicuidad, para la transferencia de datos a través de una frontera entre relojes entre dos dominios de reloj cualesquiera que tengan una relación N:M conocida (por ejemplo, M = N - 1). Sin embargo, debería advertirse que, independientemente de la latencia y la tolerancia de oblicuidad programadas, el reloj central puede ir lo suficientemente retrasado con respecto al reloj de bus como para que los bordes coincidentes se desplacen al siguiente borde del reloj de bus. Alternativamente, el reloj central puede ir lo suficientemente adelantado con respecto al reloj de bus como para que los bordes coincidentes se desplacen al borde anterior del reloj. Las enseñanzas descritas en el presente documento compensan una oblicuidad variablemente grande entre la señal de reloj central y la señal de reloj de bus, por ejemplo, mayor que una diferencia de un periodo de reloj entre la señal de reloj central y la señal de reloj de bus. Además, como se explicará de forma más detallada posteriormente en el presente documento, las enseñanzas descritas en el presente documento pueden compensar una cantidad infinita de oblicuidad.
La figura 3 representa una realización de un sincronizador 124 del reloj central para efectuar la transferencia de datos a través de una frontera entre relojes. El sincronizador del reloj central comprende varios componentes lógicos interconectados, incluyendo un bloque 300 muestreador de relaciones del sincronizador (sinc), un bloque 302 muestreador de secuencias, un bloque 304 detector de secuencias de precisión, un bloque 306 muestreador sincb0, un bloque 308 detector de impulsos del sincronizador, un bloque 310 detector de estados estables, un bloque 312 generador de ciclos y secuencias, un bloque 314 detector del estado de oblicuidad, y un bloque 316 generador de señales de control del sincronizador. Tal como se expone con más detalle en la solicitud de patente estadounidense en tramitación junto con la presente, titulada "Controller Arrangement for a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207723-1), a nombre de: Richard W. Adkisson, se proporcionan varias señales de control de relaciones de reloj entre controladores, concretamente, relación_ sinc_B 320, secuencia_B 322, y sincb0_B 332, como entradas a los circuitos controladores del sincronizador del reloj central procedentes del correspondiente controlador del sincronizador del reloj de bus. Tal como se describe adicionalmente en el presente documento, estas señales de control entre controladores se emplean junto con información de configuración de sincronización suministrada a través de la interfaz 126 de configuración de SINC (mostrada en la figura 1) para generar señales de control interno adicionales dentro del controlador del sincronizador del reloj central, para efectuar la funcionalidad de los varios módulos constituyentes del mismo. Por consiguiente, a continuación sólo se describirán ciertas características destacadas del controlador 124 del sincronizador del reloj central.
El bloque 300 muestreador de relaciones del sincronizador genera una señal 318 relación_sinc de M bits de anchura al muestrear señales 320 relación_sinc_B de M bits de ancho procedentes del dominio del bloque de bus. El bloque 302 muestreador de secuencias muestrea la señal 322 secuencia_B en el borde ascendente del reloj central para producir una señal 324 secuencia_ra. Adicionalmente, el bloque 302 muestreador de secuencias muestrea la señal 322 secuencia_B en el borde descendente del reloj central para producir una señal 326 secuencia_rd. El detector 304 de secuencias de precisión genera una señal 328 estado_sec y una señal 330 secuencia en respuesta a la señal 324 secuencia_ra y la señal 324 secuencia_rd. El controlador 124 del sincronizador del reloj central sincroniza una señal 332 sincb0B empleando el bloque 306 muestreador sincb0, que produce una señal 334 sincb0_ra y una señal 336 sincb0_rd al emplear una técnica similar de muestreo. El bloque 308 detector de impulsos del sincronizador genera una señal 338 sinc_bordea en respuesta a una señal 340 sinc, por ejemplo, sinc 118 proporcionada por la lógica 116 de muestreo SINC (mostrada en la figura 1).
Tal como se tratará con más detalle a continuación en el presente documento, el controlador 124 del sincronizador del reloj central emplea el detector 304 de secuencias de precisión, el detector 310 de estados estables, el generador 312 de ciclos y secuencias, y el detector 314 de estados de oblicuidad para proporcionar el uso de todo el intervalo de oblicuidades en modos en los que la tolerancia de oblicuidad sea mayor que una mitad del reloj central y en los que inicialmente no pueda contarse con que la oblicuidad entre los relojes central y de bus sea menor que la mitad del reloj central. El bloque 310 detector de estados estables recibe la señal 318 relación_sinc proporcionada por el bloque 300 muestreador de relaciones del sincronizador, una señal 342 config_sinc proporcionada por la interfaz 126 de configuración del sincronizador de la figura 1, una señal 344 sinc_bloqueada y una señal 346 pd_c proporcionadas por el bloque 314 detector del estado de oblicuidad, y una señal 348 ciclo y una señal 350 ciclo_se_ha_cargado proporcionadas por el generador 312 de ciclos y secuencias. Sobre la base de las antedichas señales de entrada, el bloque 310 detector de estados estables genera una señal 352 sincronizador_estable que puede transmitirse a los circuitos 103A lógicos del dominio del reloj central (mostrados en la figura 1). También se genera una señal 354 estado_estable que se emplea internamente para generar otras señales de control interno de los circuitos controladores del sincronizador del reloj central.
El bloque 312 generador de ciclos y secuencias recibe la señal 318 relación_sinc procedente del bloque 300 muestreador de relaciones del sincronizador, la señal 342 config_sinc procedente de la interfaz 126 de configuración del sincronizador, de la figura 1, la señal 354 estado_estable procedente del bloque 310 detector de estados estables, las señales 324 y 326 secuencia_ra y secuencia_rd procedentes del bloque 302 muestreador de secuencias, la señal 338 sinc_bordea procedente del bloque 308 detector de impulsos del sincronizador, una señal 356 estado_oblicuidad procedente del bloque 314 detector del estado de oblicuidad, la señal 330 secuencia procedente del bloque 304 detector de secuencias de precisión, las señales 334 y 336 sincb0_ra y sincb0_rd procedentes del bloque 306 muestreador sincb, y las señales 358 y 360 pd_b_ra y pd_b_rd procedentes del bloque 130 detector de fase de la figura 1. En respuesta a las señales de entrada, el generador 312 de ciclos y secuencias hace valer la señal 350 ciclo_se_ha_cargado, la señal 348 ciclo y una señal 362 secuencia.
Tal como se ilustra, el detector 314 de estados de oblicuidad recibe la señal 318 relación_sinc procedente del bloque 300 muestreador de relaciones del sincronizador, la señal 342 config_sinc procedente del bloque 126 de interfaz de configuración del sincronizador de la figura 1, la señal 354 estado_estable procedente del detector 310 de estados estables, la señal 348 ciclo procedente del generador 312 de ciclos y secuencias, la señal 338 sinc_bordea procedente del detector 308 de impulsos del sincronizador, las señales 358 y 360 pd_b_ra y pd_b_rd procedentes del detector 130 de fase de la figura 1, y la señal 328 estado_sec procedente del detector 304 de secuencias de precisión. En respuesta a las señales recibidas, el detector 314 de estados de oblicuidad hace valer la señal 344 sinc_bloqueada, la señal 346 pd_c y la señal 356 estado_oblicuidad.
El bloque 316 generador de señales de control del sincronizador recibe la señal 318 relación_sinc procedente del bloque 300 muestreador de relaciones del sincronizador, la señal 342 config_sinc procedente de la interfaz 126 de configuración del sincronizador, las señales 348 y 362 ciclo y secuencia procedentes del bloque 312 generador de ciclos y secuencias, y la señal 356 estado_oblicuidad procedente del bloque 314 detector del estado de oblicuidad. En respuesta a las señales de entrada, el bloque 312 generador de señales de control del generador hace valer una señal 362 c0_sel, una señal 364 c1_sel, una señal 366 central sel, una señal 368 bac_válida, una señal 370 cab_válida y una señal 372 cab_válida_m. En la antedicha solicitud de patente estadounidense, en tramitación junto con la presente, titulada "Controller Arrangement for a Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207723-1), a nombre de: Richard W. Adkisson, pueden encontrase detalles adicionales relativos a las señales 362-372.
La figura 4 representa una parte 400 lógica del controlador 124 del sincronizador del reloj central de la figura 3 con el fin de poner de relieve con más detalle una realización de un sistema que proporciona una compensación de la oblicuidad. El bloque 130 detector de fase es capaz de funcionar para muestrear la segunda señal de reloj empleando la primera señal de reloj y hace valer la señal 358 pd_b_ra y la señal 360 pd_b_rd. En la antedicha solicitud de patente estadounidense, en tramitación junto con la presente, titulada "Phase Detector for a Programmable Clock Synchronizer", (Detector de Fase para un Sincronizador Programable de Reloj) presentada ____; Nº de Solicitud ____ (Nº de Expediente 200208010-1), a nombre de: Richard W. Adkisson, puede hallarse información adicional sobre el detector de fase. La señal 358 pd_b_ra y la señal 360 pd_b_rd son recibidas en la parte 400 lógica digital del bloque 124 controlador del sincronizador del reloj central por el bloque 314 detector del estado de oblicuidad, que está situado en comunicación con el bloque 130 detector de fase. El bloque 314 detector del estado de oblicuidad determina una señal de estado de oblicuidad, es decir, la señal 356 estado_oblicuidad capaz de funcionar para rastrear una relación de fase entre la primera y segunda señales de reloj, que el bloque 316 generador de señales de control del sincronizador emplea para generar una pluralidad de señales de control del sincronizador (por ejemplo, unas señales 402 de control) en instantes particulares que compensan la diferencia de oblicuidad entre las señales de reloj. En particular, cuando los componentes del bloque 124 controlador del sincronizador del reloj central se encuentran en un modo de infinidad, el sistema descrito en el presente documento puede proporcionar una tolerancia y una compensación de oblicuidad, incluso durante un periodo completo del reloj central o más, entre la primera señal de reloj y la segunda señal de reloj.
Más concretamente, con respecto al funcionamiento del bloque 314 detector del estado de oblicuidad, el bloque 314 detector del estado de oblicuidad emplea una variedad de señales en combinación con la señal 358 pd_b_ra y la señal 360 pd_b_rd para generar la señal 356 estado_oblicuidad. En particular, el bloque 126 de interfaz de configuración de sincronización de la figura 1 suministra la señal 342 config_sinc al bloque 314 detector del estado de oblicuidad con el fin de establecer las diferentes latencias, modos de funcionamiento y tolerancias de oblicuidad. Por ejemplo, la señal 342 config_sinc puede utilizarse para fijar la tolerancia de oblicuidad en el modo 0,75, tal como se describió anteriormente en relación con la figura 2. Adicionalmente, el bloque 314 detector del estado de oblicuidad recibe la señal 348 ciclo procedente del bloque 312 generador de ciclos y secuencias, la señal 318 relación_sinc procedente del bloque 300 muestreador de relaciones del sincronizador, la señal 328 estado_sec procedente del bloque 304 detector de secuencias de precisión, la señal 338 sinc_bordea procedente del bloque 308 detector de impulsos del sincronizador, y la señal 354 estado_estable procedente del bloque 310 detector de estados estables. Empleando las señales anteriormente mencionadas, el bloque detector del estado de oblicuidad determina el estado de oblicuidad determinando la posición de los bordes coincidentes del reloj de bus y del reloj central relativa al reloj de bus. El estado de oblicuidad se trata como un "estado C" al detectarse los bordes ascendentes, coincidentes, del reloj de bus y del reloj central en el punto cero, es decir, el ciclo 0 de la ventana de temporización del reloj de bus. Si se detecta que el borde ascendente del reloj central va retrasado con respecto al borde ascendente del reloj de bus, entonces el estado de oblicuidad es un estado positivo de oblicuidad. Por ejemplo, si el borde ascendente del reloj central tiene un retraso de un cuarto de ciclo con respecto al reloj de bus, entonces el estado es P1, es decir, más uno. Similarmente, si el borde ascendente del reloj central tiene un adelanto de medio ciclo con respecto al reloj de bus, entonces el estado es M2, es decir, menos dos. Una vez que la señal del reloj central va adelantada o retrasada con respecto al reloj de bus en un periodo completo del reloj de bus, el detector del estado de oblicuidad devuelve el estado de oblicuidad a su estado original, C. De esta manera, puede rastrearse y compensarse una cantidad arbitrariamente grande y potencialmente infinita de oblicuidad.
En una realización, cuando se está detectando por primera vez la fase correcta, inicialmente el bloque 314 detector del estado de oblicuidad no puede emplear el bloque 130 detector de fase de la figura 1, puesto que puede haber presente un efecto de dentado (aliasing). Por ejemplo, con la relación de frecuencias de 5:4, la señal del reloj central que va por detrás de la señal del reloj de bus en un cuarto del reloj central, es idéntica a la central que va por delante de la de bus en tres cuartos del reloj central. Por tanto, inicialmente, cuando no se hace valer completamente la señal 354 estado_estable, el cambio (más o menos) de estado sólo se detecta en un ciclo cuando el bloque 308 detector de impulsos del sincronizador detecta el borde y el bloque 130 detector de fase detecta un cambio, o si el bloque 308 detector de impulsos del sincronizador detecta que el borde se ha movido a otro reloj. Tras bloquearse la señal, el cambio, más o menos, se detecta en el ciclo 0 si el bloque 130 detector de fase detecta un cambio o si el bloque 308 detector de impulsos del sincronizador detecta un movimiento grande del borde (por ejemplo, dos relojes). En una realización, para evitar problemas de estabilidad debido al tiempo de retardo, la señal 356 estado_oblicuidad sólo cambia si ha estado en el mismo estado durante al menos dos ciclos. Tras dos ciclos de estabilidad, por ejemplo, si se ha detectado un cambio en el estado de oblicuidad, entonces el cambio se almacena pero sólo se implementa en la última secuencia.
Más concretamente, con respecto al funcionamiento del bloque 316 generador de señales de control del sincronizador, el bloque 316 generador de señales de control del sincronizador emplea una variedad de señales para generar las señales 402 de control, las cuales incluyen la señal 362 c0_sel, la señal 364 c1_sel, la señal 366 central_sel, la señal 368 bac_válida, la señal 370 cab_válida y la señal 372 cab_válida_m, enviadas a los circuitos del sincronizador que incluyen el sincronizador 105A central-al-bus y el sincronizador 105B bus-al-central. Tal como se aludió anteriormente, en la antedicha solicitud de patente estadounidense, en tramitación con la presente, titulada "Programmable Clock Synchronizer", presentada ____; Nº de Solicitud ____ (Nº de Expediente 200207722-2), a nombre de: Richard W. Adkisson, puede encontrarse información adicional sobre las señales 402 de control. No obstante, un experto en la técnica debería reconocer que pueden emplearse otros tipos de controladores del sincronizador que generen diferentes señales de control para poner en práctica la invención expuesta en el presente documento.
Siguiendo haciendo referencia al bloque 316 generador de señales de control del sincronizador, además de la señal 356 estado_oblicuidad, el bloque 316 generador de señales de control del sincronizador recibe la señal 342 config_sinc procedente de la interfaz 126 de configuración del sincronizador, la señal 318 relación_sinc procedente del bloque 300 muestreador de relaciones del sincronizador, y la señal 348 ciclo y la señal 362 secuencia procedentes del bloque 312 generador de ciclos y secuencias. El bloque 316 generador de señales de control del sincronizador decodifica la relación sincronización 318, la señal 342 config_sinc, la señal 348 ciclo, la señal 362 secuencia y la señal 356 estado_oblicuidad para iniciar las señales 402 de control en los instantes apropiados.
Por ejemplo, para una relación de frecuencias de 5:4, es decir, la señal 318 relación sinc = 5:4, cuando el estado de oblicuidad equivale a C, es decir, la señal 356 estado_oblicuidad equivale a C, el bloque 316 generador de señales de control del sincronizador hace valer el patrón "tol oblicuidad = 0,75", en el que la señal 368 bac_válida se hace valer reducida en el ciclo 3. Sin embargo, cuando la señal 356 estado_oblicuidad = P1, el bloque 316 generador de señales de control del sincronizador hace valer la señal 318 bac_válida reducida en el ciclo 4. Cuando la señal 356 estado_oblicuidad = P2, el bloque 316 generador de señales de control del sincronizador hace valer reducida la señal 318 bac_válida reducida en el ciclo 0. Cuando la señal 356 estado_oblicuidad = M1, el bloque 316 generador de señales de control del sincronizador hace valer la señal 318 bac_válida reducida en el ciclo 2. La señal 370 cab_válida realiza una progresión similar desde el ciclo 1 al ciclo 2 y finalmente de vuelta al ciclo 1. Además, la señal 362 c0_sel, la señal 364 c1_sel y la señal 366 central_sel se compensan de una manera similar para permitir una tolerancia de oblicuidad de 0,75 ciclos de reloj central en los nuevos estados de oblicuidad. En una realización, los estados alternantes representados por la señal 362 c0_sel y la señal 364 c1_sel, cambian en relación con la señal 370 cab_válida, y el valor de la señal 366 central sel cambia en relación con el valor de la señal 370 cab_válida. Además, el valor de la señal 372 cab_válida_m puede contemplarse como una indicación temprana del valor de la señal 370 cab_válida y de los varios estados transicionales, por ejemplo C_P1.
La figura 5 representa una realización de una parte de un detector 500 del estado de oblicuidad empleado junto con las enseñanzas descritas en el presente documento. El detector 130 de fase hace valer la señal 358 pd_b_ra y la señal 360 pd_b_rd, que son recibidas por una primera parte 502 de circuito que determina los bordes coincidentes. La primera parte 502 del circuito incluye una serie de tres registradores que muestrean la señal 358 pd_b_ra, y una serie de dos registradores que muestrean la señal 360 pd_b_rd. Las dos señales muestreadas se suministran de forma cruzada a un par de compuertas AND (Y) cuyas salidas se proporcionan a una compuerta OR (O). La primera parte 502 del circuito es capaz de funcionar para detectar el primer borde, que es una transición 1-a-0 en la señal ascendente, es decir, la señal 358 pd_b_ra, y una transición 0-a-1 en la señal descendente, es decir, la señal 360 pd_b_rd. Cuando detecta una condición actual (bien un 0 en la subida, bien un 1 en la bajada) y las dos condiciones anteriores (1 en la subida y 0 en la bajada), la primera parte del circuito hace valer una señal indicativa del borde coincidente detectado a una segunda parte 504 del circuito que determina el estado de oblicuidad y la señalización asociada.
Más concretamente, dentro de la segunda parte 504 del circuito, una serie de registradores 506 funciona para proporcionar una pluralidad de tomas a un primer conjunto de bloques 508 MUX. La señal 356 estado_oblicuidad proporciona control a los bloques 508 MUX, los cuales determinan la transición del estado de oblicuidad para cada relación. Una vez que se ha determinado la transición del estado de oblicuidad, un segundo conjunto de bloques 510 MUX controlados por la señal 318 relación_sinc, determina la transición apropiada de oblicuidad que corresponde con la relación de sincronización de las señales de reloj empleadas. Debería apreciarse que únicamente se representa una parte de la segunda parte 504 del circuito. En particular, una realización de la segunda parte 504 del circuito completa incluiría un bloque 510 MUX para cada transición de oblicuidad (es decir, más, menos o ninguna) y un bloque 508 MUX para cada relación de frecuencias. Tal como se ha ilustrado, se muestran bloques 510 MUX para cada una de las transiciones pd_c (ninguna) y pd_p1 (más uno) de oblicuidad ilustradas, y se muestran bloques 508 MUX para cada relación de frecuencias, 5:4 y 4:3. Asimismo, se proporcionan bloques 510 y 508 MUX con respecto a otras transiciones, por ejemplo, pd_p2 (más 2), pd_m1 (menos 1) y pd_m2 (menos 2).
Durante el funcionamiento, la segunda parte 504 del circuito del bloque 314 detector del estado de oblicuidad hace valer la señal 346 pd_c cuando el bloque 130 detector de fase detecta bordes ascendentes del reloj de bus y del reloj central coincidentes en el punto cero, es decir, la posición en la que el bloque 308 detector de impulsos del sincronizador establece que está colocado el borde coincidente. Con la señal 342 config_sinc ajustada en modo de infinidad, la señal pd_c está activa cuando la señal 356 estado_oblicuidad compensa la oblicuidad.
La figura 6 representa un método para compensar la oblicuidad entre una primera señal de reloj y una segunda señal de reloj. En una realización, este método puede practicarse junto con un detector de fase que es capaz de funcionar para muestrear un reloj (por ejemplo, una segunda señal de reloj) empleando otro reloj (por ejemplo, una primera señal de reloj), para determinar una diferencia de fase entre los mismos. El método comienza en el bloque 600, en el que se determina la posición de los bordes coincidentes relativa a la primera señal de reloj y a la segunda señal de reloj. Los bordes coincidentes pueden ser, bien bordes ascendentes coincidentes, bien bordes descendentes coincidentes. En el bloque 602 se hace una determinación sobre si es necesaria una transición de oblicuidad y, si lo es, por cuánto, lo cual se basa en rastrear la relación de fase entre las señales de reloj. En respuesta a la determinación en el bloque 602, la transición desde el estado actual de oblicuidad hasta un nuevo estado de oblicuidad se efectúa, por ejemplo, en una máquina de estado (bloque 604). Después, en el bloque 606, se genera una señal indicativa del nuevo estado de oblicuidad, la cual emplean los circuitos controladores para ajustar apropiadamente la producción de sus señales de control del sincronizador, compensando así la oblicuidad entre la primera señal de reloj y la segunda señal de reloj. Un experto normal en la técnica debería apreciar que el presente método puede proporcionar compensación para una oblicuidad que oscila entre 1/8 de un ciclo hasta un periodo completo de reloj o más.
La figura 7 representa una realización de una máquina 700 de estado efectuada por el detector del estado de oblicuidad asociado con el sistema para compensar la oblicuidad entre una primer señal de reloj y una segunda señal de reloj para una relación de frecuencias de 5:4. Con referencia al diagrama de estado de transición de la máquina 700 de estado, los óvalos en negrita ilustran los estados, P1, P2, M1, M2 y C, que, a su vez, representan múltiplos de un cuarto de la oblicuidad del reloj central. En particular, el estado P1 (más 1) representa +1/4 de la oblicuidad del reloj, el estado P2 (más 2) representa +1/2 de la oblicuidad del reloj, el estado M1 (menos 1) representa -1/4 de la oblicuidad del reloj, el estado M2 (menos 2) representa -1/2 de la oblicuidad del reloj y el estado C (cero) representa 0 de la oblicuidad del reloj. Tal como se describió anteriormente, el estado de oblicuidad es C cuando se detectan bordes ascendentes, coincidentes, del reloj de bus y del reloj central en el punto cero, es decir, el ciclo 0 de la ventana de temporización del reloj de bus. Si se detecta que el borde ascendente del reloj central va retrasado con respecto al borde ascendente del reloj de bus, entonces el estado de oblicuidad es un estado positivo de oblicuidad, tal como P1 o P2. Por otra parte, si se detecta que el borde ascendente del reloj central va adelantado con respecto al borde ascendente del reloj de bus, entonces el estado de oblicuidad es un estado negativo de oblicuidad, tal como M1 o M2, dependiendo de la cantidad en la que el borde ascendente del reloj central va adelantado respecto al borde ascendente del reloj de bus. Los óvalos, tal como C_P1 y M2_M1, ilustran estados transicionales intermedios. Por ejemplo, la transición C_P1 indica una transición positiva desde el estado C al estado P1, y la transición M1_M2 indica una transición negativa desde el estado M1 al estado M2. El detector 314 de estados de oblicuidad detecta dinámicamente, determina y rastrea el estado de oblicuidad con el fin de compensar la diferencia de fase entre las señales del reloj central y del reloj de bus. Además, con el fin de proporcionar una cantidad infinita de tolerancia de oblicuidad, el detector del estado de oblicuidad prevé la transición del estado de oblicuidad de nuevo a C cuando se detecte un periodo completo de reloj de oblicuidad.
La figura 8 representa un diagrama de temporización de dos dominios de reloj que tiene una relación de frecuencias de 5:4, en el que se ilustra con más detalle una realización de las transiciones del estado de oblicuidad de la figura 7. El recuento 810 de ciclos se refiere a la numeración de los ciclos de la señal reloj_bus en una secuencia de temporización particular. La señal 106' del reloj central y la señal 108' del reloj de bus se ilustran en un periodo de tiempo representado por una serie de paneles, es decir, la Trama A 802, la Trama B 804, la Trama C 806, la Trama D 808 y la Trama E 810. El estado 812 de oblicuidad del sistema en cada panel 802-810 se indica a la derecha del panel. Por ejemplo, en la Trama A 802, el estado 812 de oblicuidad es C, y en la Trama D 808, el estado de oblicuidad es M1. Los bordes 814 coincidentes (bc) indican los bordes ascendentes coincidentes de la señal 106' del reloj central y de la señal 108' del reloj de bus. Tal como se ha ilustrado, en la Trama A 802 m, el estado 812 de oblicuidad equivale a C ya que los bordes 814 coincidentes se encuentran en el ciclo 0. En la Trama B 804, cuando el reloj central va retrasado con respecto al reloj de bus en 1/4 de reloj central, el estado de oblicuidad pasa desde C a P1 a través de una transición C_P1. En este panel, los bordes 814 coincidentes se encuentran situados en el borde ascendente del segundo ciclo, es, el ciclo 1. Tal como se ilustra en la Trama C 806, a medida que el reloj central se retrasa aún más (es decir, 1/2 de la oblicuidad del reloj central), los bordes 814 coincidentes están situados en el borde ascendente del tercer ciclo, es decir, el ciclo 2. En este instante, el estado 812 de oblicuidad en P2, o más dos. Durante la Trama D 808, el reloj central va retrasado con respecto al reloj de bus en otro cuarto de ciclo, de manera que el estado 812 de oblicuidad pasa a M1, que es equivalente a P3 en un esquema de sincronización con relación de frecuencias de 5:4, a través de una transición P2_M1. En la Trama E 810, una diferencia adicional de oblicuidad (es decir, 1/4 de ciclo más) hace que el estado de oblicuidad pase de M1 a C, a través de la transición M1_C. En este instante, se encuentra presente un periodo completo de reloj central de oblicuidad y el estado de oblicuidad ha vuelto de nuevo al estado C de oblicuidad. Tal como se apreciará, esto podría producirse un número de veces arbitrariamente grande. Por consiguiente, aunque la cantidad de oblicuidad puede ser arbitrariamente grande o infinita, la oblicuidad puede rastrearse y compensarse.
Como se ha mencionado anteriormente, las figuras 6 y 8 se han representado un método para compensar la oblicuidad entre dos dominios de reloj, es decir, entre la dicha primera señal de reloj y la segunda señal de reloj, y un diagrama de temporización de dos dominios de reloj, de manera dicha primera señal de reloj y dicha segunda señal de reloj se encuentren espaciadas al menos en un cuarto de ciclo, es decir, 1/4 de la oblicuidad del reloj central.
Aunque la invención se ha descrito particularmente con referencia a ciertas ilustraciones, debe entenderse que las formas de la invención mostrada y descrita deben tratarse únicamente como realizaciones ejemplares. Pueden realizarse varios cambios, sustituciones y modificaciones sin salirse del espíritu y el alcance de la invención tal como se define en las reivindicaciones adjuntas.

Claims (20)

1. Sistema para compensar la oblicuidad en un sincronizador programable de reloj, para efectuar la transferencia de datos entre unos primeros circuitos dispuestos en un primer dominio de reloj y unos segundos circuitos dispuestos en un segundo dominio de reloj, con lo que dicho primer dominio de reloj es capaz de funcionar con una primera señal de reloj y dicho segundo dominio de reloj es capaz de funcionar con una segunda señal de reloj, teniendo dichas primera y segunda señales de reloj una relación de N primeros ciclos de reloj a M segundos ciclos de reloj, donde N/M \geq 1, que comprende:
un detector de fase que es capaz de funcionar para detectar una fase entre dicha primera señal de reloj y dicha segunda señal de reloj;
un detector del estado de oblicuidad dispuesto en comunicación con dicho detector de fase para generar una señal de estado de fase que rastree una relación de fase entre dicha primera señal de reloj y dicha segunda señal de reloj; y
un generador de señales de control del sincronizador, sensible a dicha señal de estado de oblicuidad, que funciona para generar al menos una señal de control para compensar dicha oblicuidad entre dicha primera señal de reloj y dicha segunda señal de reloj.
2. Sistema según la reivindicación 1, en el que dicha señal de estado de oblicuidad es capaz de funcionar para compensar una diferencia mayor que un periodo de reloj entre dicha primera señal de reloj y dicha segunda señal de reloj.
3. Sistema según la reivindicación 1, en el que dicha señal de estado de oblicuidad es capaz de funcionar para rastrear dicha relación de fase entre dicha primera señal de reloj y dicha segunda señal de reloj sobre la base de la situación de los bordes coincidentes de dichas primera y segunda señales de reloj.
4. Sistema según la reivindicación 3, en el que dichos bordes coincidentes comprenden unos bordes ascendentes coincidentes.
5. Sistema según la reivindicación 3, en el que dichos bordes coincidentes comprenden bordes descendentes coincidentes.
6. Sistema según la reivindicación 1, en el que dicho detector del estado de oblicuidad genera dicha señal de estado de oblicuidad (estado_obl) en respuesta a unas señales de reloj muestreadas (pd_b_ra y pd_b_rd) proporcionadas por dicho detector de fase.
7. Sistema según la reivindicación 1, en el que dicha al menos una señal de control del sincronizador se transmite a los circuitos del sincronizador.
8. Sistema según la reivindicación 1, en el que dicha al menos una señal de control del sincronizador se selecciona del grupo de señales que está compuesto por c0_sel, c1_sel, central_sel, bac_válida, cab_válida y cab_válida_m.
9. Método para compensar la oblicuidad en un sincronizador programable de reloj, para efectuar la transferencia de datos entre unos primeros circuitos dispuestos en un primer dominio de reloj y unos segundos circuitos dispuestos en un segundo dominio de reloj, con lo que dicho primer dominio de reloj es capaz de funcionar con una primera señal de reloj y dicho segundo dominio de reloj es capaz de funcionar con una segunda señal de reloj, teniendo dichas primera y segunda señales de reloj una relación de N primeros ciclos de reloj a M segundos ciclos de reloj, donde N/M \geq 1, que comprende:
la determinación de la posición de los bordes coincidentes de dicha primera señal de reloj y de dicha segunda señal de reloj;
la determinación de si es necesaria una transición de estado sobre la base del rastreo de la posición de dichos bordes coincidentes de dichas primera y segunda señales de reloj; y
la generación de una señal de control indicativa de dicha transición de estado, compensando así dicha oblicuidad entre dicha primera señal de reloj y dicha segunda señal de reloj.
10. Método según la reivindicación 9, en el que la operación de determinación de la posición de los bordes coincidentes comprende la determinación de que dicha primera señal de reloj y dicha segunda señal de reloj se encuentren espaciadas al menos un cuarto de ciclo.
11. Método según la reivindicación 9, en el que dicha transición de estado comprende una transición que rastrea una diferencia negativa de oblicuidad entre dichas primera y segunda señales de reloj.
\newpage
12. Método según la reivindicación 9, en el que dicha transición de estado comprende una transición que rastrea una diferencia positiva de oblicuidad entre dichas primera y segunda señales de reloj.
13. Método según la reivindicación 9, en el que dicha señal de control es capaz de funcionar para indicar que no es necesaria ninguna transición de estado de oblicuidad.
14. Método según la reivindicación 9, en el que dicha señal de control es indicativa de una relación temporal entre dichos bordes coincidentes y dicha segunda señal de reloj.
15. Sistema informático que tiene un aparato para compensar la oblicuidad en un sincronizador programable de reloj, para efectuar la transferencia de datos entre unos primeros circuitos dispuestos en un primer dominio de reloj y unos segundos circuitos dispuestos en un segundo dominio de reloj, con lo que dicho primer dominio de reloj es capaz de funcionar con una primera señal de reloj y dicho segundo dominio de reloj es capaz de funcionar con una segunda señal de reloj, teniendo dichas primera y segunda señales de reloj una relación de N primeros ciclos de reloj a M segundos ciclos de reloj, donde N/M \geq 1, que comprende:
un medio para determinar la posición de los bordes coincidentes de dicha primera señal de reloj y dicha segunda señal de reloj;
un medio para determinar si es necesaria una transición de estado sobre la base del rastreo de la posición de dichos bordes coincidentes de dichas primera y segunda señales de reloj; y
un medio para generar una señal de control indicativa de dicho estado de transición, compensando así dicha oblicuidad entre dicha primera señal de reloj y dicha segunda señal de reloj.
16. Sistema informático según la reivindicación 15, en el que dicho medio para determinar la posición de los bordes coincidentes comprende además un medio para determinar que dicha primera señal de reloj y dicha segunda señal de reloj se encuentren espaciadas al menos en un cuarto de ciclo.
17. Sistema informático según la reivindicación 15, en el que dicha transición de estado comprende una transición que rastrea una diferencia negativa de oblicuidad entre dichas primera y segunda señales de reloj.
18. Sistema informático según la reivindicación 15, en el que dicha transición de estado comprende una transición que rastrea una diferencia positiva de oblicuidad entre dichas primera y segunda señales de reloj.
19. Sistema informático según la reivindicación 15, en el que dicha señal de control es capaz de funcionar para indicar que no es necesaria ninguna transición de estado de oblicuidad.
20. Sistema informático según la reivindicación 15, en el que dicha señal de control es indicativa de una relación temporal entre dichos bordes coincidentes y dicha segunda señal de reloj.
ES200401000A 2003-05-09 2004-04-27 Sistema y metodo para compensar una oblicuidad entre una primera señal de reloj y una segunda señal de reloj. Expired - Fee Related ES2265718B2 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US46912003P 2003-05-09 2003-05-09
US60/469120 2003-05-09
US60/469,120 2003-05-09

Publications (2)

Publication Number Publication Date
ES2265718A1 true ES2265718A1 (es) 2007-02-16
ES2265718B2 ES2265718B2 (es) 2007-08-16

Family

ID=35125823

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200401000A Expired - Fee Related ES2265718B2 (es) 2003-05-09 2004-04-27 Sistema y metodo para compensar una oblicuidad entre una primera señal de reloj y una segunda señal de reloj.

Country Status (3)

Country Link
US (4) US7245684B2 (es)
ES (1) ES2265718B2 (es)
SG (1) SG113502A1 (es)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4658050B2 (ja) 2003-09-02 2011-03-23 サーフ テクノロジー インコーポレイテッド 衛星測位信号用の信号処理システム
US7792650B2 (en) * 2003-09-02 2010-09-07 Sirf Technology Inc. Edge-aligned ratio counter
US7268605B2 (en) * 2004-06-14 2007-09-11 Rambus, Inc. Technique for operating a delay circuit
US7230461B1 (en) * 2004-06-29 2007-06-12 Marvell International, Ltd. Retiming circuits for phase-locked loops
US7340631B2 (en) * 2004-07-23 2008-03-04 Hewlett-Packard Development Company, L.P. Drift-tolerant sync pulse circuit in a sync pulse generator
US20060146967A1 (en) * 2004-12-31 2006-07-06 Adarsh Panikkar Keep-out asynchronous clock alignment scheme
US7346795B2 (en) * 2004-12-31 2008-03-18 Intel Corporation Delaying lanes in order to align all lanes crossing between two clock domains
US7428652B2 (en) * 2005-05-10 2008-09-23 Intel Corporation Programmable phase generator for cross-clock communication where the clock frequency ratio is a rational number
US7325152B2 (en) * 2005-06-30 2008-01-29 Infineon Technologies Ag Synchronous signal generator
US7515666B2 (en) * 2005-07-29 2009-04-07 International Business Machines Corporation Method for dynamically changing the frequency of clock signals
KR100971806B1 (ko) * 2005-10-26 2010-07-22 인텔 코오퍼레이션 변화를 탐지하는 클러스터 아키텍처
DE102005061947B4 (de) * 2005-12-23 2008-07-10 Qimonda Ag Synchronisationsverfahren sowie entsprechende Vorrichtung und Digitalschaltung und ein Automat zur Synchronisation einer Digitalschaltung
US8989331B2 (en) * 2006-05-31 2015-03-24 Broadcom Corporation Method and system for advance high performance bus synchronizer
KR101048751B1 (ko) * 2006-06-30 2011-07-14 인텔 코포레이션 누설 전력 추정 장치, 방법 및 컴퓨팅 시스템
US7765315B2 (en) * 2007-01-08 2010-07-27 Apple Inc. Time synchronization of multiple time-based data streams with independent clocks
KR100837278B1 (ko) * 2007-02-27 2008-06-11 삼성전자주식회사 클럭 스큐 컨트롤러 및 그것을 포함하는 집적 회로
US7984400B2 (en) * 2007-05-09 2011-07-19 Synopsys, Inc. Techniques for use with automated circuit design and simulations
US7904859B2 (en) * 2007-05-09 2011-03-08 Synopsys, Inc. Method and apparatus for determining a phase relationship between asynchronous clock signals
US7908574B2 (en) * 2007-05-09 2011-03-15 Synopsys, Inc. Techniques for use with automated circuit design and simulations
US8756557B2 (en) * 2007-05-09 2014-06-17 Synopsys, Inc. Techniques for use with automated circuit design and simulations
US7590789B2 (en) * 2007-12-07 2009-09-15 Intel Corporation Optimizing clock crossing and data path latency
ITMI20072450A1 (it) * 2007-12-31 2009-07-01 St Microelectronics Srl Sistema di comunicazione tra un primo ed un secondo dispositivo sincroni temporalmente non correlati.
US8041981B2 (en) * 2008-09-25 2011-10-18 Apple Inc. Synchronizing timing domains based on state variables
US8258775B2 (en) * 2009-04-15 2012-09-04 Via Technologies, Inc. Method and apparatus for determining phase error between clock signals
US8503458B1 (en) * 2009-04-29 2013-08-06 Tellabs Operations, Inc. Methods and apparatus for characterizing adaptive clocking domains in multi-domain networks
US8918666B2 (en) * 2011-05-23 2014-12-23 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first and second clock domain through FIFO buffering
US8826062B2 (en) * 2011-05-23 2014-09-02 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first clock domain and a second clock domain through phase synchronization
US8994425B2 (en) * 2012-08-03 2015-03-31 Altera Corporation Techniques for aligning and reducing skew in serial data signals
US8977882B2 (en) * 2012-11-21 2015-03-10 Free Scale Semiconductor, Inc. System for data transfer between asynchronous clock domains
KR20140112892A (ko) * 2013-03-14 2014-09-24 삼성디스플레이 주식회사 터치 스크린 패널 및 그 제조 방법
US9344099B2 (en) 2013-10-23 2016-05-17 Advanced Micro Devices Inc. Continuous frequency measurement for predictive periodic synchronization
US9143315B2 (en) 2013-10-25 2015-09-22 Advanced Micro Devices, Inc. Predictive periodic synchronization using phase-locked loop digital ratio updates
US9294263B2 (en) 2014-01-02 2016-03-22 Advanced Micro Devices, Inc. Methods and systems of synchronizer selection
US9614395B2 (en) * 2014-12-30 2017-04-04 Automotive Research & Testing Center Wireless charging system and foreign metal object detection method for the system
US10451676B2 (en) 2015-10-27 2019-10-22 Nvidia Corporation Method and system for dynamic standard test access (DSTA) for a logic block reuse
US10481203B2 (en) * 2015-04-04 2019-11-19 Nvidia Corporation Granular dynamic test systems and methods
US10038450B1 (en) * 2015-12-10 2018-07-31 Xilinx, Inc. Circuits for and methods of transmitting data in an integrated circuit
US11347916B1 (en) * 2019-06-28 2022-05-31 Amazon Technologies, Inc. Increasing positive clock skew for systolic array critical path

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081572A (en) * 1998-08-27 2000-06-27 Maxim Integrated Products Lock-in aid frequency detector
US20020199124A1 (en) * 2001-06-22 2002-12-26 Adkisson Richard W. System and method for synchronizing data transfer across a clock domain boundary

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5223755A (en) * 1990-12-26 1993-06-29 Xerox Corporation Extended frequency range variable delay locked loop for clock synchronization
US5539345A (en) * 1992-12-30 1996-07-23 Digital Equipment Corporation Phase detector apparatus
US5811998A (en) * 1993-01-28 1998-09-22 Digital Equipment Corporation State machine phase lock loop
US5642258A (en) * 1995-08-21 1997-06-24 Compaq Computer Corporation Computer accessory including a pivotably mounted combined handle and power source and associated methods of manufacturing
US5721886A (en) 1995-11-30 1998-02-24 Ncr Corporation Synchronizer circuit which controls switching of clocks based upon synchronicity, asynchronicity, or change in frequency
JP3467975B2 (ja) * 1996-06-27 2003-11-17 安藤電気株式会社 位相検出回路
US6084934A (en) 1997-03-06 2000-07-04 International Business Machines Corporation Natural throttling of data transfer across asynchronous boundaries
US6084447A (en) * 1997-03-28 2000-07-04 Cypress Semiconductor Corp. Pulse discriminating clock synchronizer for logic derived clock signals with synchronous clock suspension capability for a programmable device
US5920213A (en) * 1997-03-28 1999-07-06 Cypress Semiconductor Corp. Pulse discriminating clock synchronizer for logic derived clock signals for a programmable device
US5923195A (en) * 1997-03-28 1999-07-13 Cypress Semiconductor Corp. Fast clock generator and clock synchronizer for logic derived clock signals with synchronous clock suspension capability for a programmable device
US6175603B1 (en) * 1997-08-07 2001-01-16 Cisco Technology, Inc. System for managing signals in different clock domains and a programmable digital filter
GB9720811D0 (en) * 1997-09-30 1997-12-03 Sgs Thomson Microelectronics Dual port buffer
US6075832A (en) * 1997-10-07 2000-06-13 Intel Corporation Method and apparatus for deskewing clock signals
DE69811262T2 (de) * 1997-10-10 2003-11-27 Rambus Inc Verfahren und vorrichtung zur ausfallsicheren resynchronisation mit minimaler latenzzeit
US6037809A (en) * 1998-06-02 2000-03-14 General Electric Company Apparatus and method for a high frequency clocked comparator and apparatus for multi-phase programmable clock generator
US6289068B1 (en) * 1998-06-22 2001-09-11 Xilinx, Inc. Delay lock loop with clock phase shifter
US6182236B1 (en) * 1998-08-26 2001-01-30 Compaq Computer Corporation Circuit and method employing feedback for driving a clocking signal to compensate for load-induced skew
US6166963A (en) * 1998-09-17 2000-12-26 National Semiconductor Corporation Dual port memory with synchronized read and write pointers
US6369624B1 (en) * 1998-11-03 2002-04-09 Altera Corporation Programmable phase shift circuitry
US6448820B1 (en) 1998-11-04 2002-09-10 Altera Corporation Fast locking phase frequency detector
US6114915A (en) * 1998-11-05 2000-09-05 Altera Corporation Programmable wide-range frequency synthesizer
US6188286B1 (en) * 1999-03-30 2001-02-13 Infineon Technologies North America Corp. Method and system for synchronizing multiple subsystems using one voltage-controlled oscillator
US6571106B1 (en) * 1999-07-14 2003-05-27 Texas Instruments Incorporated Method and apparatus for glitchless signal generation
JP2001051747A (ja) 1999-08-12 2001-02-23 Fujitsu Ltd クロック制御回路
US20040028165A1 (en) * 1999-09-20 2004-02-12 Wladyslaw Bogdan Digital phase detector with extended resolution
US6577694B1 (en) * 1999-11-08 2003-06-10 International Business Machines Corporation Binary self-correcting phase detector for clock and data recovery
JP3919990B2 (ja) * 1999-11-10 2007-05-30 富士通株式会社 タイミング同期システム、そのシステムに用いられる装置およびタイミング同期方法
US6718477B1 (en) * 2000-03-06 2004-04-06 William C. Plants Delay locked loop for an FPGA architecture
DE10048590B4 (de) 2000-09-30 2008-02-28 Infineon Technologies Ag Phasenregelkreis
US6856206B1 (en) * 2001-06-25 2005-02-15 Silicon Laboratories, Inc. Method and apparatus for acquiring a frequency without a reference clock
US6614314B2 (en) * 2001-12-03 2003-09-02 Gennum Corporation Non-linear phase detector
JP3983575B2 (ja) * 2002-03-19 2007-09-26 三菱電機株式会社 周波数比較器およびそれを用いるロック検出回路
US6759881B2 (en) * 2002-03-22 2004-07-06 Rambus Inc. System with phase jumping locked loop circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081572A (en) * 1998-08-27 2000-06-27 Maxim Integrated Products Lock-in aid frequency detector
US20020199124A1 (en) * 2001-06-22 2002-12-26 Adkisson Richard W. System and method for synchronizing data transfer across a clock domain boundary

Also Published As

Publication number Publication date
US20040223570A1 (en) 2004-11-11
US20040222857A1 (en) 2004-11-11
US7239681B2 (en) 2007-07-03
US20050116783A1 (en) 2005-06-02
US6864722B2 (en) 2005-03-08
SG113502A1 (en) 2005-08-29
US7002376B2 (en) 2006-02-21
ES2265718B2 (es) 2007-08-16
US20040223565A1 (en) 2004-11-11
US7245684B2 (en) 2007-07-17

Similar Documents

Publication Publication Date Title
ES2265718B2 (es) Sistema y metodo para compensar una oblicuidad entre una primera señal de reloj y una segunda señal de reloj.
US8824224B2 (en) Frequency-agile strobe window generation
US6671753B2 (en) Elastic interface apparatus and method therefor
KR102314767B1 (ko) 지연-고정 루프에서 루프 카운트를 검출하기 위한 장치들 및 방법들
US6577174B2 (en) Phase lock loop system and method
JPH0779236B2 (ja) ディジタル位相ロック・ループ及びディジタル・システム
CN103219997B (zh) 多谱段多焦面拼接红外探测器控制与信号采样电路
US7100065B2 (en) Controller arrangement for synchronizer data transfer between a core clock domain and bus clock domain each having its own individual synchronizing controller
US20040193931A1 (en) System and method for transferring data from a first clock domain to a second clock domain
US7436917B2 (en) Controller for clock synchronizer
US7486752B1 (en) Alignment of clock signal with data signal
US7119582B2 (en) Phase detection in a sync pulse generator
US7219251B2 (en) Programmable clock synchronizer
ES2297979B1 (es) Sincronizador de reloj.
KR102256556B1 (ko) 반도체 장치 및 그를 포함하는 반도체 시스템
US7382847B2 (en) Programmable sync pulse generator
WO2021128701A1 (zh) 亚稳态检测装置和方法、adc电路
US7194650B2 (en) System and method for synchronizing multiple synchronizer controllers
US7340631B2 (en) Drift-tolerant sync pulse circuit in a sync pulse generator
JP2005339519A (ja) 再同期回路
JPH04178047A (ja) スキュー補償方式
US6859912B2 (en) Method and circuit arrangement for clock recovery
KR100863781B1 (ko) 위상 동기 회로
JPH08102732A (ja) フレーム同期回路
JPH036118A (ja) 同期化回路

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20070216

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2265718B2

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20180809