ES2441951T3 - Methods and apparatus for clock signal synchronization in a configuration of semiconductor devices connected in series - Google Patents

Methods and apparatus for clock signal synchronization in a configuration of semiconductor devices connected in series Download PDF

Info

Publication number
ES2441951T3
ES2441951T3 ES11009644T ES11009644T ES2441951T3 ES 2441951 T3 ES2441951 T3 ES 2441951T3 ES 11009644 T ES11009644 T ES 11009644T ES 11009644 T ES11009644 T ES 11009644T ES 2441951 T3 ES2441951 T3 ES 2441951T3
Authority
ES
Spain
Prior art keywords
clock signal
devices
configuration
command
clock
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.)
Active
Application number
ES11009644T
Other languages
Spanish (es)
Inventor
Hakjune Oh
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.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
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
Priority claimed from US11/959,996 external-priority patent/US7865756B2/en
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Application granted granted Critical
Publication of ES2441951T3 publication Critical patent/ES2441951T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Dram (AREA)

Abstract

Un aparato (502), que comprende: - un controlador del sistema (102); y - una configuración de dispositivos semiconductores conectados en serie (104-0, 104-1, ... , 104-7); - estando adaptado el controlador del sistema (102) para comunicar con dicha configuración, comprendiendo elcontrolador del sistema: - una salida configurada para proporcionar una primera señal de reloj a un primer dispositivo (104-0) en laconfiguración; - una entrada configurada para recibir una segunda señal de reloj procedente de un último dispositivo (104-7) en laconfiguración, correspondiendo la segunda señal de reloj a una versión de la primera señal de reloj que ha sidosometida a procesamiento mediante el sincronizador de reloj (110), por lo menos, en uno de los dispositivos (104-0,104-1, ..., 104-7) en la configuración; - un detector para procesar la primera y la segunda señales de reloj a efectos de detectar una diferencia de faseentre ambas; y - un controlador (106) configurado para ordenar un ajuste al sincronizador de reloj, por lo menos en uno de dichosdispositivos en la configuración, en base a la diferencia de fase detectada por el detector.An apparatus (502), comprising: - a system controller (102); and - a configuration of semiconductor devices connected in series (104-0, 104-1, ..., 104-7); - the system controller (102) being adapted to communicate with said configuration, the system controller comprising: - an output configured to provide a first clock signal to a first device (104-0) in the configuration; - an input configured to receive a second clock signal from a last device (104-7) in the configuration, the second clock signal corresponding to a version of the first clock signal that has been processed by the clock synchronizer ( 110), at least, in one of the devices (104-0,104-1, ..., 104-7) in the configuration; - a detector to process the first and second clock signals in order to detect a phase difference between both; and - a controller (106) configured to order an adjustment to the clock synchronizer, at least in one of said devices in the configuration, based on the phase difference detected by the detector.

Description

Métodos y aparatos para la sincronización de señal de reloj en una configuración de dispositivos semiconductores conectados en serie. Methods and apparatus for clock signal synchronization in a configuration of semiconductor devices connected in series.

REFERENCIA CRUZADA A SOLICITUD RELACIONADA CROSS REFERENCE TO RELATED APPLICATION

Esta solicitud reivindica el beneficio de la anterior solicitud de patente provisional de U.S.A. número 60/894 246, presentada el 12 de marzo de 2007. This application claims the benefit of the previous U.S. provisional patent application. No. 60/894 246, filed on March 12, 2007.

CAMPO DE LA INVENCIÓN FIELD OF THE INVENTION

La presente invención se refiere, en general, a dispositivos semiconductores, y más en particular, a métodos y aparatos para sincronizar una señal de reloj propagada a lo largo de una configuración de dichos dispositivos conectados en serie. The present invention relates, in general, to semiconductor devices, and more particularly, to methods and apparatus for synchronizing a clock signal propagated along a configuration of said devices connected in series.

ANTECEDENTES BACKGROUND

Los sistemas basados en ordenadores contienen habitualmente dispositivos semiconductores, tales como, por ejemplo, memorias. Los dispositivos semiconductores están controlados por medio de un controlador, que puede formar parte de la unidad central de procesamiento (CPU, central processing unit) del ordenador o puede ser independiente de la misma. El controlador tiene una interfaz para comunicar información con los dispositivos semiconductores. Cuando se desea una comunicación con una serie de dispositivos semiconductores, son posibles varias configuraciones. En particular, puede formarse una configuración de dispositivos semiconductores conectados en serie mediante conectar dispositivos semiconductores entre sí a través de sus interfaces, en un esquema punto a punto. Computer-based systems usually contain semiconductor devices, such as, for example, memories. The semiconductor devices are controlled by means of a controller, which can be part of the central processing unit (CPU) of the computer or can be independent of it. The controller has an interface to communicate information with semiconductor devices. When communication with a series of semiconductor devices is desired, various configurations are possible. In particular, a configuration of semiconductor devices connected in series can be formed by connecting semiconductor devices to each other through their interfaces, in a point-to-point scheme.

El documento US 2004/148482 A1 se refiere a un sistema de memoria que tiene una serie de dispositivos de memoria y un controlador de memoria. Los dispositivos de memoria están acoplados entre sí en una cadena. El controlador de memoria está acoplado a la cadena y configurado para emitir un comando de acceso a la memoria, que es recibido por cada uno de los dispositivos de memoria de la cadena, y se selecciona un conjunto de dos o más de dichos dispositivos de memoria para su acceso. Document US 2004/148482 A1 refers to a memory system that has a series of memory devices and a memory controller. Memory devices are coupled to each other in a chain. The memory controller is coupled to the chain and configured to issue a memory access command, which is received by each of the memory devices in the chain, and a set of two or more of said memory devices is selected. for your access

El documento US 2007/046346 A1 da a conocer un controlador de reloj para utilizar con un excitador externo al chip, e incluye un primer elemento de retardo, un segundo elemento de retardo, un circuito de restablecimiento y un circuito de ajuste. El controlador de reloj incluye un nodo que recibe un reloj de referencia representado, por lo menos, por una señal de reloj. El primer elemento de retardo está configurado para retardar una de dicha por lo menos una señal de reloj, mediante un primer tiempo de retardo, y el segundo elemento de retardo está configurado para retardar una de dicha por lo menos una señal de reloj, mediante un segundo tiempo de retardo. El circuito de restablecimiento está configurado para proporcionar por lo menos un primer reloj de salida al excitador externo al chip, en el que el excitador externo al chip proporciona datos de salida en base, por lo menos, al primer reloj de salida. El circuito de ajuste está configurado para ajustar el primer y el segundo tiempos de retardo a efectos de ajustar los flancos del primer reloj de salida, de manera que los datos de salida procedentes del excitador externo al chip estén alineados con los flancos del reloj de referencia, y para ajustar el segundo tiempo de retardo a efectos de mantener el primer reloj de salida en un ciclo de trabajo deseado. US 2007/046346 A1 discloses a clock controller for use with an exciter external to the chip, and includes a first delay element, a second delay element, a reset circuit and an adjustment circuit. The clock controller includes a node that receives a reference clock represented, at least, by a clock signal. The first delay element is configured to delay one of said at least one clock signal, by means of a first delay time, and the second delay element is configured to delay one of said at least one clock signal, by means of a Second delay time. The reset circuit is configured to provide at least a first output clock to the exciter external to the chip, in which the exciter external to the chip provides output data based on at least the first output clock. The adjustment circuit is configured to adjust the first and second delay times to adjust the flanks of the first output clock, so that the output data from the exciter external to the chip is aligned with the flanks of the reference clock , and to adjust the second delay time in order to keep the first output clock in a desired duty cycle.

RESUMEN DE LA INVENCIÓN SUMMARY OF THE INVENTION

De acuerdo con un primer aspecto general, la presente invención pretende dar a conocer un dispositivo semiconductor para su utilización en una configuración de dispositivos conectados en serie. El dispositivo semiconductor comprende una entrada para recibir una señal de reloj originada en un dispositivo anterior en la configuración; una salida para proporcionar una señal de reloj sincronizada destinada a un dispositivo sucesivo en la configuración; un sincronizador de reloj configurado para producir la señal de reloj sincronizada mediante procesar la señal de reloj recibida y la versión anterior de la señal de reloj sincronizada; y un controlador configurado para ajustar un parámetro utilizado por el sincronizador de reloj en el procesamiento de dicha versión anterior de la señal de reloj sincronizada. In accordance with a first general aspect, the present invention aims to disclose a semiconductor device for use in a configuration of devices connected in series. The semiconductor device comprises an input to receive a clock signal originated from a previous device in the configuration; an output to provide a synchronized clock signal for a successive device in the configuration; a clock synchronizer configured to produce the synchronized clock signal by processing the received clock signal and the previous version of the synchronized clock signal; and a controller configured to adjust a parameter used by the clock synchronizer in the processing of said previous version of the synchronized clock signal.

De acuerdo con un segundo aspecto general, la presente invención pretende dar a conocer un método, que comprende recibir una señal de reloj originada en un dispositivo anterior en una configuración de dispositivos conectados en serie; producir una señal de reloj sincronizada destinada a un dispositivo sucesivo en dicha configuración, mediante procesar la señal de reloj recibida y una versión anterior de la señal de reloj sincronizada; ajustar un parámetro utilizado por el sincronizador de reloj en el procesamiento de la versión anterior de dicha señal de reloj sincronizada; y entregar dicha señal de reloj sincronizada. According to a second general aspect, the present invention aims to disclose a method, which comprises receiving a clock signal originating from a previous device in a configuration of devices connected in series; produce a synchronized clock signal for a successive device in said configuration, by processing the received clock signal and an earlier version of the synchronized clock signal; setting a parameter used by the clock synchronizer in the processing of the previous version of said synchronized clock signal; and deliver said synchronized clock signal.

De acuerdo con un tercer aspecto general, la presente invención pretende dar a conocer un sistema, que comprende: una configuración de dispositivos semiconductores conectados en serie; y un controlador configurado para producir una señal de reloj que es transmitida a un primer dispositivo de los dispositivos en dicha configuración, propagada en serie a través de otros de los dispositivos en la configuración, y devuelta al controlador mediante el último de los dispositivos de la configuración, en el que una versión respectiva de la señal de reloj en cada uno de los dispositivos en la configuración controla el funcionamiento de dicho dispositivo. Por lo menos uno de los dispositivos de la configuración comprende un respectivo sincronizador de reloj configurado para procesar la versión respectiva de la señal de reloj para su distribución a un dispositivo sucesivo de los dispositivos de la configuración, o para devolverla al controlador. El controlador está configurado además para ajustar un parámetro de, por lo menos, un sincronizador de reloj, en base al procesamiento de la señal de reloj transmitida al primero de los dispositivos de la configuración y a la señal de reloj devuelta por el último de los dispositivos en la configuración. In accordance with a third general aspect, the present invention aims to disclose a system, comprising: a configuration of semiconductor devices connected in series; and a controller configured to produce a clock signal that is transmitted to a first device of the devices in said configuration, propagated serially through other devices in the configuration, and returned to the controller by the last of the devices of the configuration, in which a respective version of the clock signal in each of the devices in the configuration controls the operation of said device. At least one of the configuration devices comprises a respective clock synchronizer configured to process the respective version of the clock signal for distribution to a successive device of the configuration devices, or to return it to the controller. The controller is further configured to set a parameter of at least one clock synchronizer, based on the processing of the clock signal transmitted to the first of the configuration devices and the clock signal returned by the last of the devices in the configuration.

De acuerdo con un cuarto aspecto general, la presente invención pretende dar a conocer un método, que comprende proporcionar una primera señal de reloj a un primer dispositivo en una configuración de dispositivos semiconductores conectados en serie; recibir una segunda señal de reloj desde un segundo dispositivo en dicha configuración, correspondiendo dicha segunda señal de reloj a una versión de la primera señal de reloj que ha sido sometida a procesamiento mediante el sincronizador de reloj en, por lo menos, uno de los dispositivos de la configuración; procesar la primera y la segunda señales de reloj para detectar una diferencia de fase entre ambas; y ordenar un ajuste al sincronizador de reloj, por lo menos, en uno de los dispositivos de la configuración, en base a la diferencia de fase. According to a fourth general aspect, the present invention aims to disclose a method, which comprises providing a first clock signal to a first device in a configuration of semiconductor devices connected in series; receiving a second clock signal from a second device in said configuration, said second clock signal corresponding to a version of the first clock signal that has been processed by the clock synchronizer in at least one of the devices of the configuration; process the first and second clock signals to detect a phase difference between the two; and order an adjustment to the clock synchronizer, at least, in one of the configuration devices, based on the phase difference.

De acuerdo con un quinto aspecto general, la presente invención pretende dar a conocer un controlador para una configuración de dispositivos semiconductores conectados en serie. El controlador comprende una salida configurada para proporcionar una primera señal de reloj a un primer dispositivo de la configuración; una entrada configurada para recibir una segunda señal de reloj procedente de un segundo dispositivo de la configuración, correspondiendo la segunda señal de reloj a una versión de la primera señal de reloj que ha sido sometida a procesamiento mediante un sincronizador de reloj, por lo menos, en uno de los dispositivos de la configuración; un detector para procesar la primera y la segunda señales de reloj a efectos de detectar una diferencia de fase entre ambas; y un controlador de sincronización configurado para ordenar un ajuste al sincronizador de reloj, por lo menos, en uno de los dispositivos de la configuración, en base a la diferencia de fase detectada por el detector. According to a fifth general aspect, the present invention aims to disclose a controller for a configuration of semiconductor devices connected in series. The controller comprises an output configured to provide a first clock signal to a first device of the configuration; an input configured to receive a second clock signal from a second device of the configuration, the second clock signal corresponding to a version of the first clock signal that has been processed by a clock synchronizer at least on one of the configuration devices; a detector to process the first and second clock signals in order to detect a phase difference between the two; and a synchronization controller configured to order an adjustment to the clock synchronizer, at least, in one of the devices of the configuration, based on the phase difference detected by the detector.

Estos y otros aspectos y características de la presente invención resultarán más evidentes a los expertos en la materia tras examinar la siguiente descripción de realizaciones específicas de la invención, junto con los dibujos adjuntos. These and other aspects and features of the present invention will become more apparent to those skilled in the art after examining the following description of specific embodiments of the invention, together with the accompanying drawings.

BREVE DESCRIPCIÓN DE LOS DIBUJOS BRIEF DESCRIPTION OF THE DRAWINGS

A continuación se describirán realizaciones de la presente invención, solo a modo de ejemplo, haciendo referencia a los dibujos adjuntos, en los cuales: Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

la figura 1 es un diagrama de bloques que muestra un sistema acorde con una realización de la presente invención, incluyendo el sistema una configuración de dispositivos semiconductores conectados en serie, en comunicación con un controlador del sistema; Figure 1 is a block diagram showing a system according to an embodiment of the present invention, the system including a configuration of semiconductor devices connected in series, in communication with a system controller;

la figura 2A es un diagrama de bloques que muestra detalles de uno de los dispositivos de la figura 1, de acuerdo con un ejemplo no limitativo de realización de la presente invención; Figure 2A is a block diagram showing details of one of the devices of Figure 1, in accordance with a non-limiting embodiment of the present invention;

la figura 2B es un diagrama de bloques que muestra detalles adicionales de uno de los dispositivos mostrados en la figura 1, incluyendo una unidad de retardo ajustable y una unidad de retardo de retroalimentación ajustable externamente (EA-FDU, externally adjustable feedback delay unit), de acuerdo con una realización ejemplar no limitativa de la presente invención; Figure 2B is a block diagram showing additional details of one of the devices shown in Figure 1, including an adjustable delay unit and an externally adjustable feedback delay unit (EA-FDU, externally adjustable feedback delay unit), according to an exemplary non-limiting embodiment of the present invention;

la figura 3A es un diagrama de temporización que muestra la progresión de ciertas señales dentro o de uno de los dispositivos mostrados en la figura 1, cuando se considera un componente fijo de un retardo aplicado mediante la EA-FDU; Figure 3A is a timing diagram showing the progression of certain signals within or one of the devices shown in Figure 1, when a fixed component of a delay applied by the EA-FDU is considered;

la figura 3B es un diagrama de temporización que muestra la progresión de las mismas señales de la figura 3A, pero considerando tanto el componente fijo como un componente variable del retardo aplicado mediante la EA-FDU; Figure 3B is a timing diagram showing the progression of the same signals of Figure 3A, but considering both the fixed component and a variable component of the delay applied by the EA-FDU;

la figura 4A es un diagrama de temporización que muestra la progresión de ciertas señales dentro de uno de los dispositivos mostrados en la figura 1, en un escenario en el que el controlador del sistema emite un comando de escritura dirigido específicamente al dispositivo y que lleva información que incide sobre el retardo aplicado por la EA-FDU; Figure 4A is a timing diagram showing the progression of certain signals within one of the devices shown in Figure 1, in a scenario in which the system controller issues a write command specifically directed to the device and that carries information that affects the delay applied by the EA-FDU;

la figura 4B es un diagrama de temporización que muestra la progresión de las mismas señales de la figura 4A, pero en un escenario en el que el comando es difundido por el controlador del sistema; Figure 4B is a timing diagram showing the progression of the same signals in Figure 4A, but in a scenario in which the command is broadcast by the system controller;

la figura 5 es un diagrama de bloques que muestra detalles de interconexiones entre dispositivos vecinos en la configuración de la figura 1; Figure 5 is a block diagram showing details of interconnections between neighboring devices in the configuration of Figure 1;

la figura 6 es un diagrama de flujo que muestra etapas en un proceso de sincronización ejecutado por el controlador de sistema de la figura 1, de acuerdo con una realización ejemplar no limitativa de la presente invención; Figure 6 is a flow chart showing steps in a synchronization process executed by the system controller of Figure 1, in accordance with an exemplary non-limiting embodiment of the present invention;

la figura 7 es un diagrama de temporización que muestra la progresión de ciertas señales intercambiadas entre los dispositivos de la figura 5, en ausencia de un sincronizador de reloj dentro de los dispositivos; Figure 7 is a timing diagram showing the progression of certain signals exchanged between the devices of Figure 5, in the absence of a clock synchronizer within the devices;

la figura 8 es un diagrama de temporización que muestra la progresión de ciertas señales intercambiadas entre los dispositivos de la figura 5, cuando está dispuesto un sincronizador de reloj dentro de cada uno de los dispositivos, de acuerdo con una realización ejemplar no limitativa de la presente invención; Figure 8 is a timing diagram showing the progression of certain signals exchanged between the devices of Figure 5, when a clock synchronizer is disposed within each of the devices, in accordance with an exemplary non-limiting embodiment of the present invention;

figura 9 es un diagrama de temporización que muestra la progresión de ciertas señales dentro de uno de los dispositivos mostrados en la figura 1, en un escenario en el que el controlador del sistema emite un comando de lectura dirigido al dispositivo y que solicita información sobre el retardo aplicado por la EA-FDU; Figure 9 is a timing diagram showing the progression of certain signals within one of the devices shown in Figure 1, in a scenario in which the system controller issues a read command addressed to the device and requests information about the delay applied by the EA-FDU;

la figura 10 es un diagrama de bloques que muestra detalles de un ejemplo de uno de los dispositivos de la figura 1, de acuerdo con otra realización ejemplar no limitativa de la presente invención, que proporciona un ajuste en la intensidad de excitación de salida; Figure 10 is a block diagram showing details of an example of one of the devices of Figure 1, in accordance with another exemplary non-limiting embodiment of the present invention, which provides an adjustment in the output excitation intensity;

la figura 11A es un diagrama de temporización que muestra la progresión de ciertas señales dentro de uno de los dispositivos mostrados en la figura 1, en un escenario en el que el controlador del sistema emite un comando de escritura dirigido específicamente al dispositivo y que lleva información para ajustar la intensidad de excitación de salida; Figure 11A is a timing diagram showing the progression of certain signals within one of the devices shown in Figure 1, in a scenario in which the system controller issues a write command specifically directed to the device and that carries information to adjust the output excitation intensity;

la figura 11B es un diagrama de temporización que muestra la progresión de las mismas señales de la figura 11A, pero en un escenario en el que el comando es difundido por el controlador del sistema; Figure 11B is a timing diagram showing the progression of the same signals as in Figure 11A, but in a scenario in which the command is broadcast by the system controller;

la figura 12 es un diagrama de temporización que muestra la progresión de ciertas señales dentro de uno de los dispositivos mostrados en la figura 1, en un escenario en el que el controlador del sistema emite un comando de lectura dirigido el dispositivo y que solicita información sobre la intensidad de excitación de salida; y Figure 12 is a timing diagram showing the progression of certain signals within one of the devices shown in Figure 1, in a scenario in which the system controller issues a read command directed at the device and requesting information on the output excitation intensity; Y

la figura 13 es un diagrama de bloques que muestra detalles adicionales de uno de los dispositivos mostrados en la figura 1, que incluye un oscilador controlado por tensión y la EA-FDU. Figure 13 is a block diagram showing additional details of one of the devices shown in Figure 1, which includes a voltage controlled oscillator and the EA-FDU.

Queda entendido expresamente que la descripción y los dibujos tienen el único propósito de ilustrar ciertas realizaciones de la invención y son una ayuda para la comprensión. No pretenden ser una definición de los límites de la invención. It is expressly understood that the description and drawings have the sole purpose of illustrating certain embodiments of the invention and are an aid to understanding. They are not intended to be a definition of the limits of the invention.

DESCRIPCIÓN DETALLADA DETAILED DESCRIPTION

En la siguiente descripción detallada de realizaciones de la presente invención, se hace referencia a los dibujos adjuntos que forman parte de la misma, mostrando ciertas realizaciones ilustrativas de posibles maneras de poner en práctica la presente invención. Estas realizaciones se describen con el suficiente detalle como para permitir a un experto en la materia poner en práctica la presente invención, y debe entenderse que pueden utilizarse otras realizaciones, y que pueden realizarse cambios lógicos, eléctricos y otros, sin apartarse del alcance de la presente invención. Por lo tanto, la siguiente descripción detallada no debe tomarse en un sentido limitativo, y el alcance de la presente invención está definido por las reivindicaciones adjuntas. In the following detailed description of embodiments of the present invention, reference is made to the accompanying drawings that are part of it, showing certain illustrative embodiments of possible ways of practicing the present invention. These embodiments are described in sufficient detail to allow a person skilled in the art to practice the present invention, and it should be understood that other embodiments can be used, and that logical, electrical and other changes can be made, without departing from the scope of the present invention Therefore, the following detailed description should not be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

En general, la presente invención se refiere a una configuración de dispositivos semiconductores conectados en serie, y a un aparato y métodos para comunicar con los dispositivos en dicha configuración. Por "configuración de dispositivos semiconductores conectados en serie" se entiende que los dispositivos semiconductores en dicha configuración están conectados mediante sus interfaces de forma punto a punto. Por ejemplo, dos dispositivos vecinos en la configuración están interconectados mediante la salida de un dispositivo y la entrada del otro dispositivo. Se dan a conocer ejemplos de una configuración de dispositivos semiconductores conectados en serie en las siguientes solicitudes de patente de U.S.A.: In general, the present invention relates to a configuration of semiconductor devices connected in series, and to an apparatus and methods for communicating with the devices in said configuration. By "configuration of semiconductor devices connected in series" means that the semiconductor devices in said configuration are connected via their interfaces point-to-point. For example, two neighboring devices in the configuration are interconnected by the output of one device and the input of the other device. Examples of a configuration of semiconductor devices connected in series are given in the following U.S. patent applications:

--
Número de serie 60/722 368, presentada el 30 de septiembre de 2005; Serial number 60/722 368, filed September 30, 2005;

--
Número de serie 11/324 023, presentada el 30 de septiembre de 2005; Serial number 11/324 023, filed September 30, 2005;

--
Número de serie 11/496 278, presentada el 31 de julio de 2006; Serial number 11/496 278, filed July 31, 2006;

--
Número de serie 11/521 734, presentada el 15 de septiembre de 2006; Serial number 11/521 734, filed September 15, 2006;

--
Número de serie 11/606 407, presentada el 29 de noviembre de 2006; Serial number 11/606 407, filed on November 29, 2006;

--
Número de serie 11/771 023, presentada el 29 de junio de 2007; y Serial number 11/771 023, filed June 29, 2007; Y

--
Número de serie 11/771 241, presentada el 29 de junio de 2007. Serial number 11/771 241, filed June 29, 2007.

Los dispositivos semiconductores contemplados en la presente descripción pueden ser dispositivos de circuito integrado (IC, integrated circuit) semiconductor tales como, por ejemplo, dispositivos de memoria, unidades centrales de procesamiento, unidades de procesamiento de gráficos, ICs controladores de visualización, ICs de unidad de disco y unidades de estado sólido. En lo que respecta a los dispositivos de memoria, estos pueden ser de un tipo tal como memoria de sólo lectura programable borrable eléctricamente (EEPROM, electrically erasable programmable read-only memory) Flash NAND, EEPROM Flash NOR, EEPROM Flash AND, EEPROM Flash DiNOR, EEPROM Flash en serie, memoria dinámica de acceso aleatorio (DRAM, dynamic random access memory), memoria estática de acceso aleatorio (SRAM, static random access memory), memoria de sólo lectura (ROM, read-only memory), memoria de sólo lectura programable eléctricamente (EPROM, programmable read-only memory), memoria de acceso aleatorio ferroeléctrico (FeRAM o FRAM, ferroelectric random access memory), memoria de acceso aleatorio magnetorresistiva (MRAM, magnetoresistive random access memory), memoria de acceso aleatorio de cambio de fase (PRAM o PCRAM, phase change random access memor), para nombrar unas pocas posibilidades no limitativas. The semiconductor devices contemplated in the present description may be semiconductor integrated circuit (IC) devices such as, for example, memory devices, central processing units, graphics processing units, display controller ICs, unit ICs of disk and solid state drives. With regard to memory devices, these can be of a type such as electrically erasable programmable read-only memory (EEPROM), Flash NAND, EEPROM Flash NOR, EEPROM Flash AND, EEPROM Flash DiNOR , Serial Flash EEPROM, dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), read-only memory, memory only electrically programmable read (EPROM), ferroelectric random access memory (FeRAM or FRAM), magnetoresistive random access memory (MRAM), random change access memory phase (PRAM or PCRAM, phase change random access memor), to name a few non-limiting possibilities.

Ejemplos de dispositivos semiconductores contemplados en el presente documento incluyen dispositivos que realizan acciones en respuesta a señales recibidas en uno o varios puertos de entrada y los cuales son muestreados en momentos que dependen del comportamiento de una señal de reloj. Un enfoque es suministrar una señal de reloj común a lo largo de una línea de señal compartida procedente de un controlador del sistema; esto se conoce como un sistema de distribución de reloj "de acometida múltiple". Sin embargo, el trayecto recorrido por la señal de reloj a lo largo de la línea de señal compartida es ligeramente diferente para cada dispositivo y conduce a un sesgo de reloj, especialmente a frecuencias de funcionamiento elevadas. Además, la línea de señal compartida debe tener la suficiente potencia como para soportar la carga de múltiples dispositivos. Por lo tanto, la utilización de un sistema de distribución de reloj de acometida múltiple no es una opción ideal dado que el número de dispositivos conectados en serie, y su frecuencia operativa, aumentan. Examples of semiconductor devices contemplated herein include devices that perform actions in response to signals received at one or more input ports and which are sampled at times that depend on the behavior of a clock signal. One approach is to provide a common clock signal along a shared signal line from a system controller; This is known as a "multiple rush" clock distribution system. However, the path traveled by the clock signal along the shared signal line is slightly different for each device and leads to a clock bias, especially at high operating frequencies. In addition, the shared signal line must have enough power to support the load of multiple devices. Therefore, the use of a multiple rush clock distribution system is not an ideal option since the number of devices connected in series, and their operating frequency, increase.

Otro enfoque para la distribución de reloj es utilizar un bloque de circuito DLL (delay-locked loop, bucle de enganche de retardo) o PLL (phase-locked loop, bucle de enganche de fase) en cada dispositivo, para propagar una señal de reloj desde el dispositivo a su vecino en la configuración, tal como se describe, por ejemplo, en la solicitud de patente provisional de U.S.A. número 60/868 773, presentada el 6 de diciembre de 2006, y en la solicitud de patente provisional de U.S.A. número 60/890 935, presentada el 21 de febrero de 2007. Sin embargo, cuando aumenta el número de dispositivos conectados en serie, el retardo parásito entre dispositivos vecinos se acumula debido a factores tales como la carga de cableado chip a chip, etc. Por lo tanto, las señales que son registradas por el último dispositivo en la configuración (y registradas de vuelta por el controlador del sistema), pueden estar desfasadas con respecto a la señal de reloj utilizada por el controlador del sistema para activar el primer dispositivo en la configuración. Esta pérdida de fase puede ser tan grande que sea irrecuperable mediante un DLL o PLL que sea implementado en el controlador del sistema. Another approach to clock distribution is to use a DLL (delay-locked loop) or PLL (phase-locked loop) circuit block in each device, to propagate a clock signal from the device to its neighbor in the configuration, as described, for example, in the US provisional patent application No. 60/868 773, filed on December 6, 2006, and in the provisional U.S. patent application. No. 60/890 935, filed on February 21, 2007. However, when the number of devices connected in series increases, the parasitic delay between neighboring devices accumulates due to factors such as chip-to-chip wiring load, etc. Therefore, the signals that are registered by the last device in the configuration (and recorded back by the system controller), may be out of phase with respect to the clock signal used by the system controller to activate the first device in the configuration. This phase loss can be so great that it is unrecoverable through a DLL or PLL that is implemented in the system controller.

Por lo tanto, se comprenderá que los enfoques existentes para conectar dispositivos semiconductores en serie pueden imponer un límite superior demasiado restrictivo sobre el número total de dispositivos que pueden conectarse de esta manera y/o sobre su frecuencia operativa. Esto puede limitar la capacidad de las configuraciones de dispositivos conectados en serie para competir con sus equivalentes en paralelo. Por lo tanto, existe la necesidad en la industria de mejorar la sincronización de una señal de reloj propagada de un dispositivo a otro en una configuración de dispositivos semiconductores conectados en serie. Therefore, it will be understood that existing approaches for connecting semiconductor devices in series may impose an excessively restrictive upper limit on the total number of devices that can be connected in this way and / or on their operating frequency. This may limit the ability of serially connected device configurations to compete with their equivalents in parallel. Therefore, there is a need in the industry to improve the synchronization of a clock signal propagated from one device to another in a configuration of semiconductor devices connected in series.

La figura 1 muestra un sistema acorde con una realización no limitativa de la presente invención. Haciendo referencia a la figura 1, un controlador del sistema 102 comunica con una configuración de N dispositivos que están conectados en serie. En la realización mostrada, la configuración incluye un "primer" dispositivo semiconductor 1040,…, un dispositivo semiconductor intermedio 104-j-1, otro dispositivo semiconductor intermedio 104-j, un dispositivo semiconductor intermedio mas 104-j+1,…, y un "último" dispositivo semiconductor 104-N-1, siendo N un entero, donde 1 � j � N-2. Cabe destacar que el número de dispositivos semiconductores 104-0 --- N-1 en la configuración no está limitado en particular. Figure 1 shows a system according to a non-limiting embodiment of the present invention. Referring to Figure 1, a system controller 102 communicates with a configuration of N devices that are connected in series. In the embodiment shown, the configuration includes a "first" semiconductor device 1040, ..., an intermediate semiconductor device 104-j-1, another intermediate semiconductor device 104-j, an intermediate semiconductor device plus 104-j + 1, ..., and a "last" semiconductor device 104-N-1, where N is an integer, where 1 � j � N-2. It should be noted that the number of semiconductor devices 104-0 --- N-1 in the configuration is not limited in particular.

Los dispositivos semiconductores 104-0 --- N-1 pueden ser dispositivos semiconductores, tales como dispositivos de memoria, por ejemplo. En caso de que los dispositivos semiconductores 104-0-N-1 sean dispositivos de memoria, el controlador del sistema 102 está implementado como un controlador de memoria. Debe entenderse que el controlador del sistema 102 puede ser en si mismo un dispositivo semiconductor. Semiconductor devices 104-0 --- N-1 may be semiconductor devices, such as memory devices, for example. In case the semiconductor devices 104-0-N-1 are memory devices, the system controller 102 is implemented as a memory controller. It should be understood that the system controller 102 may itself be a semiconductor device.

En el sistema mostrado en la figura 1, durante un procedimiento de inicialización, los dispositivos semiconductores de la configuración son asignados a direcciones de dispositivo (o identificadores de dispositivo) mediante el controlador del sistema 102. Por ejemplo, se generan direcciones de dispositivos de números ascendentes consecutivos, y se asignan a los dispositivos semiconductores 104-0-104-N-1. Cada uno de los dispositivos semiconductores 104-0 --- 104-N-1 tiene su propio registro de dirección (no mostrado) y el registro de dirección contiene la dirección de dispositivo asignada. In the system shown in Figure 1, during an initialization procedure, the semiconductor devices of the configuration are assigned to device addresses (or device identifiers) by the system controller 102. For example, addresses of number devices are generated consecutive risers, and are assigned to semiconductor devices 104-0-104-N-1. Each of the semiconductor devices 104-0 --- 104-N-1 has its own address register (not shown) and the address register contains the assigned device address.

Después de que sean asignadas las direcciones de dispositivo a los dispositivos semiconductores 104-0 --- 104-N-1, y para controlar el funcionamiento de los dispositivos de la configuración, el controlador del sistema 102 envía un comando de acceso y otra información al primer dispositivo semiconductor 104-0 de los mismos, incluyendo dicha operación, por ejemplo, reconocimiento de la dirección del dispositivo y procesamiento de datos. En general, un ejemplo de procesamiento de datos es acceder a una memoria (no mostrada) incluida en cada uno de los dispositivos. Por ejemplo, en el caso de que un comando de acceso sea un comando de escritura, los datos proporcionados se escriben en la memoria del dispositivo objetivo (o de destino), de acuerdo con la dirección del dispositivo. En el caso de que el comando de acceso sea un comando de lectura, los datos de la memoria son leídos de acuerdo con la dirección de memoria, y los datos leídos son transmitidos a otro dispositivo y enviados al controlador del sistema 102. Se dan a conocer ejemplos de asignación de direcciones de dispositivo, reconocimiento de direcciones de dispositivo y acceso a datos en las siguientes solicitudes de patente de U.S.A.: After the device addresses are assigned to the semiconductor devices 104-0 --- 104-N-1, and to control the operation of the configuration devices, the system controller 102 sends an access command and other information to the first semiconductor device 104-0 thereof, including said operation, for example, recognition of the device address and data processing. In general, an example of data processing is to access a memory (not shown) included in each of the devices. For example, in the case that an access command is a write command, the data provided is written to the memory of the target (or destination) device, according to the address of the device. In the event that the access command is a read command, the memory data is read according to the memory address, and the read data is transmitted to another device and sent to the system controller 102. They are given to Know examples of device address assignment, device address recognition and data access in the following US patent applications:

--
Solicitud de patente provisional de U.S.A. número 60/787 710, presentada el 28 de marzo de 2006; U.S.A. Provisional Patent Application No. 60/787 710, filed on March 28, 2006;

--
Solicitud de patente provisional de U.S.A. número 60/802 645, presentada el 23 de marzo de 2006; y U.S.A. Provisional Patent Application No. 60/802 645, filed on March 23, 2006; Y

--
Solicitud de patente provisional de U.S.A. número 60/868 773, presentada el 6 de diciembre de 2006. U.S.A. Provisional Patent Application No. 60/868 773, filed on December 6, 2006.

En el sistema de la figura 1, los dispositivos semiconductores 104-0 --- N-1 están todos configurados de forma similar. El comportamiento de los dispositivos 104-0 ---N-1 está sincronizado mediante relojes (no mostrados) proporcionados a los mismos por el dispositivo maestro 102. Por ejemplo, los relojes pueden proporcionarse en un modo de reloj común o bien en un modo de transferencia de reloj, tal como se describe más adelante. In the system of Figure 1, the semiconductor devices 104-0 --- N-1 are all similarly configured. The behavior of the devices 104-0 --- N-1 is synchronized by clocks (not shown) provided to them by the master device 102. For example, the clocks can be provided in a common clock mode or in a mode clock transfer, as described below.

La figura 2A muestra detalles del sistema de la figura 1. Haciendo referencia a las figuras 1 y 2A, el controlador del sistema 102 (en adelante, denominado un "dispositivo maestro") está en comunicación con el dispositivo semiconductor 104-j (en adelante, denominado un "dispositivo esclavo"). En caso de que el dispositivo esclavo 104-j sea un dispositivo de memoria, el dispositivo maestro 102 puede implementarse como un controlador de memoria. Figure 2A shows details of the system of Figure 1. Referring to Figures 1 and 2A, the system controller 102 (hereinafter referred to as a "master device") is in communication with the semiconductor device 104-j (hereinafter , called a "slave device"). In case the slave device 104-j is a memory device, the master device 102 can be implemented as a memory controller.

El dispositivo esclavo 104-j incluye un controlador esclavo 106, una matriz de memoria 108, un sincronizador de reloj 110 y una interfaz que comprende una serie de puertos. Tal como se describirá en mayor detalle más adelante, el controlador esclavo 106 lleva a cabo diversas funciones de control y proceso con acceso a la matriz de memoria 108, en respuesta a señales que llegan a través de puertos de entrada de la interfaz, y proporciona señales de salida mediante puertos de salida de la interfaz. El controlador esclavo 106 proporciona asimismo una señal de control SCTRL al sincronizador de reloj 110. La señal de control SCTRL se genera en respuesta a comandos recibidos desde el dispositivo maestro 102 mediante los puertos de entrada de la interfaz del dispositivo esclavo 104-j. Slave device 104-j includes a slave controller 106, a memory matrix 108, a clock synchronizer 110 and an interface comprising a series of ports. As will be described in greater detail below, the slave controller 106 performs various control and process functions with access to the memory matrix 108, in response to signals arriving through the interface's input ports, and provides output signals through interface output ports. The slave controller 106 also provides an SCTRL control signal to the clock synchronizer 110. The SCTRL control signal is generated in response to commands received from the master device 102 via the interface input ports of the slave device 104-j.

La interfaz del dispositivo esclavo 104-j incluye un puerto de entrada en serie (en adelante, el "puerto SIP-j") y un puerto de salida en serie (en adelante, el "puerto SOP-j"). El puerto SIP-j se utiliza para transferir información (por ejemplo, información de comandos, direcciones y datos) transportada mediante una señal de información de entrada SSIP-j al dispositivo esclavo 104-j; parte de esta información puede estar destinada al controlador esclavo 106 y parte puede estar destinada a la matriz de memoria 108. El puerto SOP-j se utiliza para transferir o transmitir información (por ejemplo, información de comandos, direcciones y datos) desde el dispositivo esclavo 104-j sobre una señal de información de salida SSOP-j, habiéndose originado posiblemente parte de esta información en la matriz de memoria The interface of the slave device 104-j includes a serial input port (hereinafter, the "SIP-j port") and a serial output port (hereinafter, the "SOP-j port"). The SIP-j port is used to transfer information (for example, command, address and data information) carried by an SSIP-j input information signal to the slave device 104-j; Some of this information may be intended for slave controller 106 and part may be intended for memory matrix 108. The SOP-j port is used to transfer or transmit information (for example, command information, addresses and data) from the device slave 104-j on an output information signal SSOP-j, possibly having originated part of this information in the memory array

108. Debe entenderse que SIP-j y SOP-j pueden ser puertos de un solo bit de anchura o de múltiples bits de anchura. Es decir, cada uno de los puertos SIP-j y SOP-j pueden transportar uno, dos, cuatro, ocho o cualquier número concebible de líneas de señal. 108. It should be understood that SIP-j and SOP-j can be single-bit wide or multi-bit wide ports. That is, each of the SIP-j and SOP-j ports can carry one, two, four, eight or any conceivable number of signal lines.

Además, la interfaz del dispositivo esclavo 104-j incluye un puerto de entrada de habilitación del puerto de entrada (en adelante, el "puerto IPE-j") y un puerto de entrada de habilitación del puerto de salida (en adelante, el "puerto OPE-j"). El puerto IPE-j recibe una señal de habilitación de los puertos de entrada SIPE-j. La señal de habilitación del puerto de entrada SIPE-j es utilizada por el dispositivo esclavo 104-j para habilitar el puerto SIP-j, de manera que cuando se afirma la señal de habilitación del puerto de entrada SIPE-j, se introduce información al dispositivo esclavo In addition, the interface of the slave device 104-j includes an enable input port of the input port (hereinafter, the "IPE-j port") and an enable input port of the output port (hereinafter, the " OPE-j port "). The IPE-j port receives an enable signal from the SIPE-j input ports. The enable signal of the SIPE-j input port is used by the slave device 104-j to enable the SIP-j port, so that when the enable signal of the SIPE-j input port is asserted, information is entered into the slave device

104-j mediante el puerto SIP-j. Análogamente, el puerto OPE-j recibe una señal de habilitación del puerto de salida SOPE-j. La señal de habilitación del puerto de salida SOPE-j es utilizada por el dispositivo esclavo 104-j para habilitar el puerto SOP-j, de manera que cuando se afirma la señal de habilitación del puerto de salida SOPE-j, se emite información desde el dispositivo esclavo 104-j mediante el puerto SOP-j. 104-j through the SIP-j port. Similarly, the OPE-j port receives an enable signal from the SOPE-j output port. The enable signal of the SOPE-j output port is used by the slave device 104-j to enable the SOP-j port, so that when the enable signal of the SOPE-j output port is asserted, information is output from the slave device 104-j via the SOP-j port.

Además, la interfaz del dispositivo esclavo 104-j incluye un puerto de salida de réplica de la habilitación del puerto de entrada (en adelante, el "puerto IPEQ-j") y un puerto de salida de réplica de la habilitación del puerto de salida (en adelante, el "puerto OPEQ-j"). Los puertos IPEQ-j y OPEQ-j emiten señales SIPEQ-j y SOPEQ-j, respectivamente, desde el dispositivo esclavo 104-j. Las señales SIPEQ-j y SOPEQ-j son versiones propagadas de la señal de habilitación del puerto de entrada SIPE-j y la señal de habilitación del puerto de salida SOPE-j, respectivamente. In addition, the interface of the slave device 104-j includes a replica output port of the input port enable (hereinafter, the "IPEQ-j port") and a replica output port of the output port enable (hereinafter, the "OPEQ-j port"). The IPEQ-j and OPEQ-j ports emit SIPEQ-j and SOPEQ-j signals, respectively, from the slave device 104-j. The SIPEQ-j and SOPEQ-j signals are propagated versions of the SIPE-j input port enable signal and the SOPE-j output port enable signal, respectively.

Además, la interfaz del dispositivo esclavo 104-j incluye un puerto de entrada de reloj (en adelante, el "puerto RCKj"). El puerto RCK-j recibe una señal de reloj de entrada SRCK-j, que se utiliza para controlar la retención de las señales presentes en el puerto SIP-j (que pueden tener una anchura de una o varias líneas de señal) en registros internos del dispositivo esclavo 104-j, así como la retención de señales en el puerto SOP-j desde registros internos del dispositivo esclavo 104-j. La señal de reloj de entrada SRCK-j se utiliza asimismo para controlar la retención de las señales presentes en los puertos IPE-j y OPE-j en registros internos del dispositivo esclavo 104-j y en los puertos IPEQ-j y OPE-j, respectivamente. In addition, the interface of the slave device 104-j includes a clock input port (hereinafter, the "RCKj port"). The RCK-j port receives an SRCK-j input clock signal, which is used to control the retention of the signals present in the SIP-j port (which can have a width of one or several signal lines) in internal registers of the slave device 104-j, as well as the retention of signals in the SOP-j port from internal registers of the slave device 104-j. The SRCK-j input clock signal is also used to control the retention of the signals present in the IPE-j and OPE-j ports in internal registers of the slave device 104-jy in the IPEQ-j and OPE-j ports, respectively.

Además, la interfaz del dispositivo esclavo 104-j incluye un puerto de salida de reloj (en adelante, el "puerto TCK-j"). El puerto TCK-j proporciona una señal de reloj de salida STCKj, que se propaga a un dispositivo sucesivo, que puede ser otro dispositivo esclavo o el dispositivo maestro 102, por ejemplo. La señal de reloj STCK-j se origina en el sincronizador de reloj 110, que recibe una versión almacenada en memoria tampón de la señal de reloj de entrada SRCK-j procedente del puerto RCK-j junto con la señal de control SCTRL procedente del controlador esclavo 106. In addition, the interface of the slave device 104-j includes a clock output port (hereinafter, the "TCK-j port"). The TCK-j port provides an STCKj output clock signal, which propagates to a successive device, which may be another slave device or the master device 102, for example. The STCK-j clock signal originates from the clock synchronizer 110, which receives a buffer version of the SRCK-j input clock signal from the RCK-j port together with the SCTRL control signal from the controller. slave 106.

Durante el funcionamiento, la señal de habilitación del puerto de entrada SIPE-j controla el "comienzo" y la "finalización" de una ventana para información válida transportada por la señal de información de entrada SSIP-j, que es síncrona con la señal de reloj de entrada SRCK-j. La señal de habilitación del puerto de salida SOPE-j controla el "comienzo" y la "finalización" de una ventana para información válida transportada por la señal de formación de salida SSOP-j, que es síncrona con la señal de reloj de salida STCK-j. During operation, the enable signal of the SIPE-j input port controls the "start" and "end" of a window for valid information carried by the SSIP-j input information signal, which is synchronous with the signal of SRCK-j input clock. The enable signal of the SOPE-j output port controls the "start" and "end" of a window for valid information carried by the SSOP-j output formation signal, which is synchronous with the STCK output clock signal -j.

Además, la interfaz del dispositivo esclavo 104-j puede incluir un puerto de selección de chip (no mostrado), que recibe una señal de selección de chip que habilita el funcionamiento del dispositivo esclavo 104-j y posiblemente de otros dispositivos esclavos simultáneamente. Puede disponerse asimismo un puerto de reseteo (no mostrado), con el propósito de transportar una señal de reseteo procedente del dispositivo maestro 102 para resetear una o varias funciones del dispositivo esclavo 104-j. Los expertos en la materia apreciarán que en una configuración no limitativa específica, la señal de selección de chip puede proporcionarse a modo de acometida múltiple, y que la señal de reseteo puede proporcionarse de modo punto a punto. Por supuesto, son posibles otras configuraciones sin apartarse del alcance de la presente invención. In addition, the interface of the slave device 104-j may include a chip selection port (not shown), which receives a chip select signal that enables the operation of the slave device 104-j and possibly other slave devices simultaneously. A reset port (not shown) may also be provided for the purpose of transporting a reset signal from the master device 102 to reset one or more functions of the slave device 104-j. Those skilled in the art will appreciate that in a specific non-limiting configuration, the chip selection signal can be provided by way of multiple connection, and that the reset signal can be provided point-to-point. Of course, other configurations are possible without departing from the scope of the present invention.

Los expertos en la materia apreciarán asimismo que pueden disponerse otros componentes en el dispositivo esclavo 104-j sin apartarse del alcance de la invención, tales como memorias tampón, desplazadores de fase, otros subcircuitos lógicos, etc., dependiendo del tipo de velocidad de reloj (por ejemplo, velocidad de datos simple frente a velocidad de datos doble), el tipo de respuesta de reloj (por ejemplo, síncrona con la fuente frente a desfasada) y algunos otros aspectos de la funcionalidad del dispositivo esclavo 104-j. Those skilled in the art will also appreciate that other components may be arranged in the slave device 104-j without departing from the scope of the invention, such as buffers, phase shifters, other logical subcircuits, etc., depending on the type of clock speed. (for example, simple data rate versus double data rate), the type of clock response (for example, synchronous with the source versus outdated) and some other aspects of the functionality of the slave device 104-j.

Por ejemplo, en la realización mostrada, el dispositivo esclavo 104-j incluye una serie de memorias tampón de entrada 120-1, 120-2, 120-3 y 120-4 conectadas a los puertos RCK-j, SIP-j, OPE-j e IPE-j, respectivamente, y una serie de memorias tampón de salida 122-1, 122-2, 122-3 y 122-4 conectadas a los puertos TCK-j, SOP-j, OPEQ-j y IPEQ-j, respectivamente. For example, in the embodiment shown, the slave device 104-j includes a series of input buffer memories 120-1, 120-2, 120-3 and 120-4 connected to the RCK-j, SIP-j, OPE ports -j and IPE-j, respectively, and a series of output buffers 122-1, 122-2, 122-3 and 122-4 connected to the TCK-j, SOP-j, OPEQ-j and IPEQ ports- j, respectively.

Asimismo, en el lado del trayecto de entrada, el dispositivo esclavo 104-j puede incluir un primer conjunto de biestables de tipo D 124-1, 124-2, 124-3 (u otros circuitos de retención) para retener las señales de entrada no de reloj en sincronismo con una señal de reloj, que puede ser la señal de reloj de entrada SRCK-j o (tal como se muestra) una señal de reloj de retroalimentación SCLK_FB obtenida desde el sincronizador de reloj 110. En otras realizaciones, la señal de reloj utilizada para excitar los biestables de tipo D 124-1, 124-2, 124-3 puede obtenerse a partir de un esquema de excitación por reloj interno obtenido de la señal de reloj de entrada SRCK-j o la señal de reloj de retroalimentación SCLK_FB. Se contempla que pueden utilizarse una amplia variedad de esquemas de excitación por reloj interno, incluyendo árboles de reloj en diversas configuraciones. Also, on the side of the input path, the slave device 104-j may include a first set of flip-flops type D 124-1, 124-2, 124-3 (or other retention circuits) to retain the input signals clock no in synchronism with a clock signal, which may be the input clock signal SRCK-j or (as shown) a feedback clock signal SCLK_FB obtained from the clock synchronizer 110. In other embodiments, the Clock signal used to drive flip-flops type D 124-1, 124-2, 124-3 can be obtained from an internal clock excitation scheme obtained from the SRCK-j input clock signal or the clock signal feedback SCLK_FB. It is contemplated that a wide variety of excitation schemes can be used per internal clock, including clock shafts in various configurations.

En la realización que se está describiendo en este caso, se asume que el tipo de respuesta de reloj del dispositivo esclavo 104-j es síncrona con la fuente alineada en los flancos, y por lo tanto la señal de reloj de retroalimentación SCLK_FB atraviesa un desplazador 130 de fase de 180° antes de ser proporcionada realmente a los biestables de tipo D 124-1, 124-2, 124-3. Esto se debe a que el sincronismo síncrono con la fuente proporciona un alineamiento de In the embodiment described in this case, it is assumed that the type of clock response of the slave device 104-j is synchronous with the source aligned on the flanks, and therefore the feedback clock signal SCLK_FB crosses a displacer 130 phase 180 ° before actually being provided to flip-flops type D 124-1, 124-2, 124-3. This is because synchronous synchronism with the source provides an alignment of

fase de cero grados (0°) entre señales de reloj y datos. Si el tipo de respuesta de reloj es diferente (por ejemplo, síncrona con la fuente alineada en el centro), entonces la cantidad de desplazamiento de fase a aplicar a la señal de reloj de retroalimentación SCLK_FB puede ser correspondientemente diferente. También en la realización que se está describiendo en este caso, el tipo de velocidad de reloj del dispositivo esclavo 104-j es una velocidad de datos simple (SDR, single data rate); si se utiliza un tipo de velocidad de reloj de velocidad de datos doble (DDR, double data rate), un desplazador de fase de 90° puede sustituir el desplazador de fase 130. zero degree (0 °) phase between clock and data signals. If the type of clock response is different (for example, synchronous with the source aligned in the center), then the amount of phase shift to be applied to the feedback clock signal SCLK_FB may be correspondingly different. Also in the embodiment described in this case, the clock speed type of the slave device 104-j is a simple data rate (SDR); if a double data rate clock rate (DDR) is used, a 90 ° phase shifter can replace the phase shifter 130.

Las señales de entrada no de reloj emitidas por los biestables de tipo D 124-1, 124-2, 124-3 son proporcionadas al controlador esclavo 106 para su posterior procesamiento. En respuesta, el controlador esclavo 106 produce señales de salida no de reloj que son proporcionadas a un segundo conjunto de biestables de tipo D 126-1, 126-2, 126-3 (u otros circuitos de retención) en el lado del trayecto de salida. Los biestables de tipo D 126-1, 126-2, 126-3 son operativos para retener las señales de salida no de reloj en sincronismo con una señal de reloj, que puede ser una señal de reloj de salida intermedia SCLK_INT obtenida desde el sincronizador de reloj 110. Un elemento de la memoria tampón 134 representa un modelo de retardo de ajuste para el segundo conjunto de biestables de tipo D 126-1, 1262, 126-3, y está situado entre el sincronizador de reloj 110 y la memoria tampón de salida 122-1 conectada al puerto TCK-j. Non-clock input signals emitted by flip-flops type D 124-1, 124-2, 124-3 are provided to slave controller 106 for further processing. In response, slave controller 106 produces non-clock output signals that are provided to a second set of flip-flops type D 126-1, 126-2, 126-3 (or other retention circuits) on the side of the path of exit. Type D flip-flops 126-1, 126-2, 126-3 are operative to retain non-clock output signals in synchronism with a clock signal, which may be an intermediate output clock signal SCLK_INT obtained from the synchronizer clock 110. An element of buffer memory 134 represents an adjustment delay model for the second set of flip-flops type D 126-1, 1262, 126-3, and is located between the clock synchronizer 110 and the buffer memory output 122-1 connected to the TCK-j port.

La figura 2B muestra detalles adicionales del dispositivo esclavo de la figura 2A. Haciendo referencia a las figuras 1, 2A y 2B, el sincronizador de reloj 110 del dispositivo esclavo 104 implementa un bucle de enganche de retardo "ajustable externamente" (EA-DLL). A este respecto, el sincronizador de reloj 110 comprende una unidad de retardo ajustable 202, un detector de fase y controlador de línea de retardo (PD-DLC) 204, y una unidad de retardo de retroalimentación ajustable externamente (EA-FDU) 206. Figure 2B shows additional details of the slave device of Figure 2A. Referring to Figures 1, 2A and 2B, the clock synchronizer 110 of the slave device 104 implements an "externally adjustable delay delay loop" (EA-DLL). In this regard, the clock synchronizer 110 comprises an adjustable delay unit 202, a phase detector and delay line controller (PD-DLC) 204, and an externally adjustable feedback delay unit (EA-FDU) 206.

La unidad de retardo ajustable 202 tiene un puerto de entrada para recibir una señal de reloj de referencia SCLK_REF, que es una señal entregada por la memoria tampón de entrada 120-1 conectada al puerto RCK-j. En otras palabras, la señal de reloj de referencia SCLK_REF corresponde a la señal de reloj de entrada SRCK-j después de haber atravesado la memoria tampón de entrada 120-1. La unidad de retardo ajustable 202 aplica un retardo controlable a la señal de reloj de referencia SCLK_REF para producir la señal de reloj intermedia SCLK_INT, que aparece en el puerto de salida de la unidad de retardo ajustable 202. Puede utilizarse una memoria tampón 210 para manejar la carga elevada de la señal de reloj intermedia SCLK_INT. The adjustable delay unit 202 has an input port to receive a reference clock signal SCLK_REF, which is a signal delivered by the input buffer 120-1 connected to the RCK-j port. In other words, the reference clock signal SCLK_REF corresponds to the input clock signal SRCK-j after having passed the input buffer memory 120-1. The adjustable delay unit 202 applies a controllable delay to the reference clock signal SCLK_REF to produce the intermediate clock signal SCLK_INT, which appears at the output port of the adjustable delay unit 202. A buffer memory 210 can be used to handle the high load of the intermediate clock signal SCLK_INT.

La unidad de retardo ajustable 202 puede implementarse de diversas maneras, incluyendo una línea de retardo digital o una línea de retardo analógica, cualquiera de las cuales puede ser de una sola etapa o de múltiples etapas. Por ejemplo, en una unidad de retardo de múltiples etapas, pueden disponerse múltiples elementos de retardo en cascada, a cada uno de los cuales está conectado un conmutador que puede ser activado mediante un contador a efectos de conmutar la señal de salida del elemento de retardo respectivo a través del puerto de salida de la unidad de retardo ajustable 202. El número de elementos de retardo que son activados entre los puertos de entrada y de salida de la unidad de retardo, determina el retardo instantáneo aplicado mediante la unidad de retardo ajustable The adjustable delay unit 202 can be implemented in various ways, including a digital delay line or an analog delay line, any of which can be single-stage or multi-stage. For example, in a multi-stage delay unit, multiple cascade delay elements may be arranged, to each of which a switch that can be activated by a counter is connected in order to switch the output signal of the delay element through the output port of the adjustable delay unit 202. The number of delay elements that are activated between the input and output ports of the delay unit determines the instantaneous delay applied by the adjustable delay unit

202. Por supuesto, son posibles otras implementaciones sin apartarse del alcance de la presente invención. 202. Of course, other implementations are possible without departing from the scope of the present invention.

El control de la cantidad de retardo aplicada por la unidad de retardo ajustable 202 se proporciona mediante una señal de comando SDLY recibida en un puerto de control de la unidad de retardo ajustable 202. La señal de comando SDLY es suministrada mediante el PD-DLC 204 a través de un puerto de salida del mismo. El PD-DLC 204 es operativo para generar la señal de comando SDLY en base a dos señales recibidas en puertos de entrada respectivos. La primera señal es la señal de reloj de referencia SCLK_REF, que es alimentada asimismo al puerto de entrada de la unidad de retardo ajustable 202. La segunda señal es la señal de reloj de retroalimentación SCLK_FB, que es emitida desde el sincronizador de reloj 110. Control of the amount of delay applied by the adjustable delay unit 202 is provided by an SDLY command signal received at a control port of the adjustable delay unit 202. The SDLY command signal is supplied by the PD-DLC 204 through an exit port of it. The PD-DLC 204 is operative to generate the SDLY command signal based on two signals received at respective input ports. The first signal is the reference clock signal SCLK_REF, which is also fed to the input port of the adjustable delay unit 202. The second signal is the feedback clock signal SCLK_FB, which is emitted from the clock synchronizer 110.

La señal de reloj de retroalimentación SCLK_FB es suministrada mediante la EA-FDU 206 a través de un puerto de salida del mismo. La EA-FDU 206 tiene asimismo un puerto de entrada para recibir la señal de reloj de salida intermedia SCLK_INT, qué es alimentada asimismo al elemento de memoria tampón 134. La EA-FDU 206 comprende asimismo un puerto de control para recibir la señal de control SCTRL desde el controlador esclavo 106. La EA-FDU 206 es operativa para generar la señal de reloj de retroalimentación SCLK_FB mediante aplicar un retardo a la señal de reloj de salida intermedia SCLK_INT, siendo dicho retardo una función de la señal de control SCTRL. El valor actual del retardo que se está aplicando mediante la EA-FDU 206 es un ejemplo de un parámetro que puede ser controlado por el controlador esclavo 106. The feedback clock signal SCLK_FB is supplied by the EA-FDU 206 through its output port. The EA-FDU 206 also has an input port to receive the intermediate output clock signal SCLK_INT, which is also fed to the buffer element 134. The EA-FDU 206 also comprises a control port to receive the control signal. SCTRL from the slave controller 106. The EA-FDU 206 is operative to generate the feedback clock signal SCLK_FB by applying a delay to the intermediate output clock signal SCLK_INT, said delay being a function of the SCTRL control signal. The current delay value that is being applied by EA-FDU 206 is an example of a parameter that can be controlled by slave controller 106.

Durante el funcionamiento, el PD-DLC 204 detecta una diferencia de fase entre la señal de reloj de retroalimentación SCLK_FB y la señal de reloj de referencia SCLK_REF, y entrega la señal de comando SDLY en base a la diferencia de fase detectada. De este modo, la salida del PD-DLC 204 será cero cuando la fase de la señal de reloj de retroalimentación SCLK_FB corresponda a la fase de la señal de reloj de referencia SCLK_REF. En este momento, el sincronizador de reloj 110 ha alcanzado un estado de "bloqueo de retardo". En dicho estado, se observará que la señal de reloj de retroalimentación SCLK_FB será una versión retardada de la señal de reloj intermedia SCLK_INT. En otras palabras, la señal de reloj intermedia SCLK_INT es una versión anterior de la señal de reloj de retroalimentación During operation, the PD-DLC 204 detects a phase difference between the feedback clock signal SCLK_FB and the reference clock signal SCLK_REF, and delivers the SDLY command signal based on the phase difference detected. Thus, the output of the PD-DLC 204 will be zero when the phase of the feedback clock signal SCLK_FB corresponds to the phase of the reference clock signal SCLK_REF. At this time, the clock synchronizer 110 has reached a "delay lock" state. In that state, it will be noted that the feedback clock signal SCLK_FB will be a delayed version of the intermediate clock signal SCLK_INT. In other words, the SCLK_INT intermediate clock signal is an earlier version of the feedback clock signal.

SCLK_FB, que tendrá la misma fase que la señal de reloj de referencia SCLK_REF durante un estado de bloqueo de retardo. SCLK_FB, which will have the same phase as the reference clock signal SCLK_REF during a delay lock state.

La cantidad de tiempo mediante el cual la señal de reloj intermedia SCLK_INT está adelantada a la señal de reloj de referencia SCLK_REF (a saber, la cantidad de tiempo de ventaja) corresponderá al valor actual del retardo que está siendo aplicado por la EA-FDU 206. Este retardo puede dividirse en dos componentes, a saber un componente fijo tF y un componente variable tEAFD. El componente fijo tF, que puede determinarse durante una fase de diseño en base al resultado de simulaciones, se aproxima al retardo de propagación de la señal de reloj de entrada SRCK-j a través del dispositivo esclavo 104-j (es decir, desde el puerto RCK-j al sincronizador de reloj 110, y desde el sincronizador de reloj 110 al puerto TCK-j). Específicamente, asumiendo que el componente variable tF_AFD es cero, el componente fijo tF tendrá como resultado que el sincronizador de reloj 110 produce la señal de reloj de retroalimentación SCLK_FB en una fase que está adelantada con respecto a la fase de la señal de reloj de salida intermedia SCLK_INT (y asimismo, con respecto a la fase de la señal de reloj de referencia SCLK_REF) en una cantidad correspondiente al retardo de propagación aproximado a través del dispositivo esclavo 104-j. Como resultado, la fase de la señal de reloj de salida STCK-j, después de los efectos de la propagación a través del dispositivo esclavo 104-j, estará aproximadamente alineada con la fase de la señal de reloj de entrada SRCK-j. The amount of time by which the intermediate clock signal SCLK_INT is ahead of the reference clock signal SCLK_REF (ie, the amount of lead time) will correspond to the current value of the delay being applied by the EA-FDU 206 This delay can be divided into two components, namely a fixed component tF and a variable component tEAFD. The fixed component tF, which can be determined during a design phase based on the simulation result, approximates the propagation delay of the SRCK-j input clock signal through the slave device 104-j (i.e. from the RCK-j port to clock synchronizer 110, and from clock synchronizer 110 to TCK-j port). Specifically, assuming that the variable component tF_AFD is zero, the fixed component tF will result in the clock synchronizer 110 producing the feedback clock signal SCLK_FB in a phase that is ahead of the output clock signal phase. intermediate SCLK_INT (and also, with respect to the phase of the reference clock signal SCLK_REF) in an amount corresponding to the approximate propagation delay through the slave device 104-j. As a result, the phase of the output clock signal STCK-j, after the effects of propagation through the slave device 104-j, will be approximately aligned with the phase of the input clock signal SRCK-j.

Para tomar un ejemplo específico, considérese que el retardo de propagación a través de cada una de las memorias tampón de entrada 120-1, 120-2, 120-3, 120-4 es tD1 y que el retardo de propagación a través de cada una de las memorias tampón de salida 122-1, 122-2, 122-3, 122-4 es tD2. El componente fijo del retardo que está siendo aplicado por la EA-FDU 206 puede fijarse, por lo tanto, a tF = tD1+tD2 durante la fase de diseño. Por supuesto, pueden identificarse durante la fase de diseño otras fuentes de retardo de propagación a través del dispositivo esclavo 104-j y tenerse en cuenta para el componente fijo tF. To take a specific example, consider that the propagation delay through each of the input buffer 120-1, 120-2, 120-3, 120-4 is tD1 and that the propagation delay through each one of the output buffers 122-1, 122-2, 122-3, 122-4 is tD2. The fixed delay component that is being applied by EA-FDU 206 can therefore be set at tF = tD1 + tD2 during the design phase. Of course, other propagation delay sources through the slave device 104-j can be identified during the design phase and taken into account for the fixed component tF.

La figura 3A es un diagrama de temporización que muestra el efecto del componente fijo del retardo siendo aplicado por la EA-FDU 206 de la figura 2B (en este caso, habiéndose configurado como tF = tD1 + tD2). Haciendo referencia a las figuras 2B y 3A, específicamente, se muestra la señal de reloj de entrada SRCK-j, la señal de reloj de salida STCK-j, la señal de reloj de referencia SCLK_REF, la señal de reloj intermedia SCLK_INT, la señal de reloj de retroalimentación SCLK_FB y la salida del desplazador de fase de 180 grados 130, indicada como SCLK_FB. A efectos de comparación se proporciona asimismo una versión de la señal de información de entrada SSIP-j en su salida de la memoria tampón de entrada 120-1 conectada al puerto SSIP-j. Esta señal se indica como SSIP-j_1. Puede verse que la fase de la señal de reloj de salida STCK-j está alineada con la fase de la señal de reloj de entrada SRCK-j. Por supuesto, esta alineación puede ser solamente aproximada, dependiendo de lo bien que se haya aproximado el retardo de propagación a través de las memorias tampón de entrada 120-1, 120-2, 120-3, 120-4 y las memorias tampón de salida 122-1, 1222, 122-3, 122-4 durante la fase de diseño. Se apreciará que el diagrama de temporización presentaría características diferentes para un diferente tipo de velocidad de reloj o tipo de respuesta de reloj. Figure 3A is a timing diagram showing the effect of the fixed delay component being applied by EA-FDU 206 of Figure 2B (in this case, having been configured as tF = tD1 + tD2). Referring to Figures 2B and 3A, specifically, the input clock signal SRCK-j, the output clock signal STCK-j, the reference clock signal SCLK_REF, the intermediate clock signal SCLK_INT, the signal is shown. SCLK_FB feedback clock and 180 degree phase shifter output 130, indicated as SCLK_FB. For comparison purposes a version of the SSIP-j input information signal is also provided at its output of the input buffer 120-1 connected to the SSIP-j port. This signal is indicated as SSIP-j_1. It can be seen that the phase of the output clock signal STCK-j is aligned with the phase of the input clock signal SRCK-j. Of course, this alignment can only be approximate, depending on how well the propagation delay has been approximated through the input buffer 120-1, 120-2, 120-3, 120-4 and the buffer memories of output 122-1, 1222, 122-3, 122-4 during the design phase. It will be appreciated that the timing diagram would have different characteristics for a different type of clock speed or type of clock response.

Volviendo a continuación a la figura 2B, y de acuerdo con una realización de la presente invención, el componente variable tEAFD del retardo que está siendo aplicado por la EA-FDU 206 es manipulado para un ajuste fino de la fase de la señal de reloj de salida STCK-j, en base a comandos recibidos desde el dispositivo maestro 102. Estos comandos son interpretados por el controlador esclavo 106 y traducidos en la señal de control SCTRL alimentada al puerto de control de la EA-FDU 206. Turning next to Figure 2B, and in accordance with an embodiment of the present invention, the tEAFD variable component of the delay being applied by EA-FDU 206 is manipulated for a fine adjustment of the phase of the clock signal of STCK-j output, based on commands received from the master device 102. These commands are interpreted by the slave controller 106 and translated into the SCTRL control signal fed to the control port of the EA-FDU 206.

Cuando se realizan ajustes al componente variable tEAFD, la señal de reloj de retroalimentación SCLK_FB experimentará un desplazamiento de tiempo correspondiente. El PD-DLC 204 detecta una nueva diferencia de fase entre la señal de reloj de retroalimentación SCLK_FB (ahora, desfasada) y la señal de reloj de referencia SCLK_REF, y entrega una nueva particularización de la señal de comando SDLY en base a la diferencia de fase detectada. Esta nueva particularización de la señal de comando SDLY será distinta de cero (positiva o negativa), en respuesta a lo cual la unidad de retardo ajustable 202 ajusta el valor actual del retardo que está siendo aplicado a la señal de reloj de referencia SCLK_REF, produciendo de ese modo una versión retardada de la señal de reloj intermedia SCLK_INT en el puerto de salida de la unidad de retardo ajustable 202. Esta versión desfasada de la señal de reloj intermedia SCLK_INT se devuelve a la EA-FDU 206, que produce otra versión desfasada de la señal de reloj de retroalimentación SCLK_FB. El proceso anterior prosigue hasta que se alcanza a un estado de bloqueo de retardo, momento en el que la fase de la señal de reloj de retroalimentación SCLK_FB corresponde a la fase de la señal de reloj de referencia SCLK_REF. When adjustments to the tEAFD variable component are made, the feedback clock signal SCLK_FB will experience a corresponding time offset. The PD-DLC 204 detects a new phase difference between the feedback clock signal SCLK_FB (now outdated) and the reference clock signal SCLK_REF, and delivers a new particularization of the SDLY command signal based on the difference in phase detected. This new particularization of the SDLY command signal will be non-zero (positive or negative), in response to which the adjustable delay unit 202 adjusts the current value of the delay being applied to the reference clock signal SCLK_REF, producing thereby a delayed version of the intermediate clock signal SCLK_INT at the output port of the adjustable delay unit 202. This outdated version of the intermediate clock signal SCLK_INT is returned to the EA-FDU 206, which produces another outdated version of the feedback clock signal SCLK_FB. The above process continues until a delay blocking state is reached, at which time the phase of the feedback clock signal SCLK_FB corresponds to the phase of the reference clock signal SCLK_REF.

Haciendo referencia a la figura 3B, se muestra un diagrama de temporización similar al de la figura 3A, pero que muestra el efecto adicional del componente variable tEAFD. Puede observarse que el valor actual del retardo que está siendo aplicado por la EA-FDU 206 (a saber, tEAFD = tD1 + tD2 + tEAFD) provoca que la fase de la señal de reloj de salida STCK-j deje de estar alineada con la fase de la señal de reloj de entrada SRCK-j. La cantidad de desalineación depende del componente variable tEAFD y se causa deliberadamente por razones que pueden incluir tener en cuenta retardos parásitos entre el dispositivo esclavo 104-j y otros dispositivos (no mostrados) conectados al mismo en serie. Referring to Figure 3B, a timing diagram similar to that of Figure 3A is shown, but showing the additional effect of the tEAFD variable component. It can be seen that the current value of the delay being applied by EA-FDU 206 (ie, tEAFD = tD1 + tD2 + tEAFD) causes the phase of the STCK-j output clock signal to cease to be aligned with the SRCK-j input clock signal phase. The amount of misalignment depends on the tEAFD variable component and is deliberately caused by reasons that may include taking into account parasitic delays between the slave device 104-j and other devices (not shown) connected to it in series.

Por supuesto, si bien en el presente ejemplo se toma el componente variable tEAFD con un valor positivo, lo que causa que la señal de reloj de salida STCK-j se anticipe a la señal de reloj de entrada SRCK-j, se apreciará que el componente variable tEAFD puede tener un valor negativo, lo que causa que la señal de reloj de salida STCK-j vaya con retraso respecto a la señal de reloj de entrada SRCK-j. Of course, although in the present example the variable component tEAFD is taken with a positive value, which causes the STCK-j output clock signal to anticipate the SRCK-j input clock signal, it will be appreciated that the Variable component tEAFD may have a negative value, which causes the STCK-j output clock signal to be delayed with respect to the SRCK-j input clock signal.

5 Deberá apreciarse asimismo que la flexibilidad proporcionada por la señal de control SCTRL permite relajar los requisitos de la fase de diseño del sincronizador de reloj 110. Por ejemplo, durante la fase de diseño, se puede inicializar el componente fijo simplemente a una estimación aproximada de tD1 + tD2, y utilizar la señal de control SCTRL para ajustar el componente variable tEAFD hasta que se compensen cualesquiera errores, además de proporcionar el retardo o anticipo de fase necesario entre la señal de reloj de salida STCK-j y la señal de reloj de 5 It should also be appreciated that the flexibility provided by the SCTRL control signal allows the requirements of the design phase of the clock synchronizer 110 to be relaxed. For example, during the design phase, the fixed component can be initialized simply at an approximate estimate of tD1 + tD2, and use the SCTRL control signal to adjust the tEAFD variable component until any errors are compensated, in addition to providing the necessary phase delay or advance between the output clock signal STCK-j and the clock signal of

10 entrada SRCK-j. De hecho, se puede incluso reducir el componente fijo tF a cero y utilizar una estimación de tD1 + tD2 como valor inicial para el componente variable tEAFD, a partir de la cual pueden realizarse ajustes en virtud de la señal de control SCTRL. 10 SRCK-j input. In fact, you can even reduce the fixed component tF to zero and use an estimate of tD1 + tD2 as the initial value for the variable component tEAFD, from which adjustments can be made under the control signal SCTRL.

Se recuerda que la señal de control SCTRL es proporcionada por el controlador esclavo 106 y está generada en base a comandos recibidos desde el dispositivo maestro 102. Más específicamente, y en un ejemplo que hace referencia 15 la figura 2B, el controlador esclavo 106 puede comprender un registro 220 de retardo de retroalimentación ajustable externamente (EA-FD, externally adjustable feedback delay) en el que puede escribir el dispositivo maestro 102. En una realización específica, el registro EA-FD 220 contiene un patrón de bits que especifica un ajuste deseado del retardo con respecto al valor actual del retardo que está siendo aplicado por la EA-FDU 206. El controlador esclavo 106 está configurado para emitir la señal de control SCTRL indicativa de los contenidos del registro EA-FD 220. En 20 particular, la señal de control SCTRL está formateada de manera que, cuando es interpretada por la EA-FDU 206 tras la recepción en su puerto de control, la señal de control SCTRL provocará un correspondiente ajuste del retardo con respecto al valor actual del retardo que está siendo aplicado a la señal de reloj intermedia SCLK_INT. El ajuste del retardo puede especificarse en un número de "unidades de retardo", donde la duración de una unidad de retardo es un parámetro de diseño que puede hacerse tan grande o pequeño como se requiera para satisfacer requisitos It is recalled that the SCTRL control signal is provided by the slave controller 106 and is generated based on commands received from the master device 102. More specifically, and in an example referenced in Figure 2B, the slave controller 106 may comprise an externally adjustable feedback delay register 220 (EA-FD) into which the master device 102 can write. In a specific embodiment, the EA-FD 220 register contains a bit pattern that specifies a desired setting. of the delay with respect to the current value of the delay that is being applied by the EA-FDU 206. The slave controller 106 is configured to issue the SCTRL control signal indicative of the contents of the EA-FD 220 register. In particular, the signal SCTRL control is formatted so that, when interpreted by EA-FDU 206 after receiving at its control port, the SCTR control signal L will cause a corresponding delay adjustment with respect to the current value of the delay that is being applied to the intermediate clock signal SCLK_INT. The delay setting can be specified in a number of "delay units", where the duration of a delay unit is a design parameter that can be made as large or small as required to meet requirements

25 operacionales. 25 operational.

Pueden contenerse varios patrones de bits en el registro EA-FD 220, y en la siguiente tabla 1 se proporciona el posible significado de cada uno de dichos patrones de bits en términos del ajuste de retardo deseado con respecto al valor actual del retardo que está siendo aplicado por la EA-FDU 206: Several bit patterns can be contained in register EA-FD 220, and the following table 1 provides the possible meaning of each of said bit patterns in terms of the desired delay setting with respect to the current value of the delay being Applied by EA-FDU 206:

Tabla 1 Table 1

Ajuste de retardo deseado Desired Delay Setting
Patrón de bits escrito en el registro EA FD 220 en el controlador esclavo 106 Bit pattern written in EA FD 220 register on slave controller 106

Bit 7 Bit 7
Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Aumento de retardo (+) Delay Increase (+)
+1 unidad de retardo 0 0 Irrelevante 0 0 0 +1 delay unit 0 0 Irrelevant 0 0 0

+2 unidades de retardo +2 delay units
0 0 1 0 0 one

+4 unidades de retardo +4 delay units
0 1 0 0 one 0

+8 unidades de retardo +8 delay units
0 1 1 0 one one

Máximo retardo Maximum delay
1 1 1 one one one

Reservado Reserved
Todas las demás combinaciones All other combinations

Disminución de retardo (-) Delay Decrease (-)
-1 unidad de retardo 0 1 0 0 0 Irrelevante -1 delay unit 0 one 0 0 0 Irrelevant

-2 unidades de retardo -2 delay units
0 0 1 0 0 one

-4 unidades de retardo -4 delay units
0 1 0 0 one 0

-8 unidades de retardo -8 delay units
0 1 1 0 one one

Máximo retardo Maximum delay
1 1 1 one one one

Reservado Reserved
Todas las demás combinaciones All other combinations

ResetearTo reset
Resetear valores por defecto 1 0 Irrelevante Reset default values one 0 Irrelevant

ReservadoReserved
1 1  one one

Debe entenderse que la tabla 1 muestra definiciones de patrón de bits a modo de ejemplo, únicamente con 5 propósitos ilustrativos. Los patrones de bits pueden ser modificados y/o expandidos fácilmente si se requiere una granularidad más fina o más gruesa para el ajuste de retardo deseado. It should be understood that Table 1 shows exemplary bit pattern definitions, for illustrative purposes only. Bit patterns can be easily modified and / or expanded if a finer or thicker granularity is required for the desired delay setting.

Los expertos en la materia apreciarán que el controlador esclavo 106 puede diseñarse de manera que borre el registro EA-FD 220 inmediatamente después de leerlo, o puede diseñarse para leer el registro EA-FD 220 solamente una vez después de cada ocasión en la que éste es escrito por el dispositivo maestro 102. Those skilled in the art will appreciate that the slave controller 106 may be designed to erase the EA-FD 220 register immediately after reading it, or it may be designed to read the EA-FD 220 register only once after each occasion on which it It is written by the master device 102.

10 Se recuerda que el controlador esclavo 106 escribe en el registro EA-FD 220 tras la recepción y el reconocimiento de un comando procedente del dispositivo maestro 102. Dicho comando, denominado en adelante un comando de "Escribir EA-FDU", puede señalizarse mediante controlar las señales que aparecen en los puertos SIP-j e IPE-j. Más específicamente, asumiendo que la señal en el puerto IPE-j se mantiene afirmada, un ejemplo de un comando "Escribir EA-FDU" puede tener el siguiente formato de 3 octetos: 10 It is recalled that slave controller 106 writes to register EA-FD 220 after receipt and recognition of a command from master device 102. Said command, hereinafter referred to as a "Write EA-FDU" command, can be signaled by control the signals that appear on the SIP-j and IPE-j ports. More specifically, assuming that the signal on the IPE-j port remains asserted, an example of a "Write EA-FDU" command can have the following 3 octet format:

Comando Command
1er octeto 2º octeto 3er octeto 1st octet 2nd octet 3rd octet

Escribir EA-FDU Write EA-FDU
"dirección de dispositivo" B0h DATA "device address" B0h DATA

En el formato del ejemplo anterior, el primer octeto ("dirección de dispositivo") identifica el dispositivo esclavo 104-j, bien en base individual o como parte de un grupo. En otras palabras, el dispositivo esclavo 104-j tiene una o varias direcciones de las que está al corriente. Estas direcciones pueden conocerse durante un procedimiento de inicialización. Una de estas direcciones puede ser una "dirección especifica", que es única con respecto a otros dispositivos esclavos, mientras que otra de estas direcciones puede ser una "dirección común", que es reconocida en común mediante el dispositivo esclavo 104-j y un (o varios, o todos) dispositivo esclavo (si hay alguno) conectado al dispositivo maestro 102. Reconociendo su dirección propia (o una de sus direcciones propias) en la información recibida, el controlador esclavo 106 esperará a recibir más octetos de un comando, y esperará a tener que responder al mismo. In the format of the previous example, the first octet ("device address") identifies the slave device 104-j, either individually or as part of a group. In other words, the slave device 104-j has one or more addresses from which it is aware. These addresses can be known during an initialization procedure. One of these addresses may be a "specific address", which is unique with respect to other slave devices, while another of these addresses may be a "common address", which is recognized in common by the slave device 104-j and a ( or several, or all) slave device (if any) connected to master device 102. Recognizing its own address (or one of its own addresses) in the information received, slave controller 106 will wait to receive more octets of a command, and will wait to have to respond to it.

En el formato de ejemplo anterior, el segundo octeto (B0h) es un "octeto adicional" del comando "Escribir EA-FDU", y representa un valor hexadecimal que indica que el comando es un comando de "Escribir EA-FDU" y ningún otro comando. Esto sirve para ayudar a diferenciar este comando de otros comandos en relación con los cuales el controlador esclavo 106 puede estar configurado para responder. Por supuesto, el valor hexadecimal preciso del comando "Escribir EA-FDU" es un parámetro de diseño y no tiene, en este ejemplo, ningún otro significado que el de servir a un propósito ilustrativo. In the previous example format, the second octet (B0h) is an "additional octet" of the "Write EA-FDU" command, and represents a hexadecimal value indicating that the command is a "Write EA-FDU" command and no another command This serves to help differentiate this command from other commands in relation to which slave controller 106 may be configured to respond. Of course, the precise hexadecimal value of the "Write EA-FDU" command is a design parameter and has, in this example, no other meaning than serving an illustrative purpose.

En el formato de ejemplo anterior, el tercer octeto (DATA) representa el patrón de bits a escribir en el registro EA-FD 220, que puede ser acorde con la tabla anterior. In the previous example format, the third octet (DATA) represents the pattern of bits to be written to register EA-FD 220, which may be in accordance with the previous table.

Supongamos ahora que el dispositivo esclavo 104-j tiene una dirección específica de "00h" y una dirección común de "FFh". Las figuras 4A y 4B muestran cada una un diagrama de temporización básico para el comando "Escribir EA-FDU", en el caso en que el ajuste de retardo deseado con respecto al valor actual del retardo que está siendo aplicado por la EA-FDU 206 es un aumento de +1 unidad de retardo. En el caso de la figura 4A, el comando "Escribir EA-FDU" está destinado específicamente al dispositivo esclavo 104-j, en este caso de la figura 4B, dispositivo esclavo 104-j que no es sino uno de varios posibles receptores previstos del comando "Escribir EA-FDU". Suppose now that the slave device 104-j has a specific address of "00h" and a common address of "FFh". Figures 4A and 4B each show a basic timing diagram for the "Write EA-FDU" command, in the case where the desired delay setting with respect to the current value of the delay being applied by the EA-FDU 206 It is an increase of +1 delay unit. In the case of figure 4A, the "Write EA-FDU" command is specifically intended for slave device 104-j, in this case of figure 4B, slave device 104-j which is only one of several possible intended receivers of the "Write EA-FDU" command.

En estos diagramas de temporización, se muestra un esquema de sincronismo diferencial a modo de ejemplo no limitativo, utilizando un par de señales de reloj de entrada SRCK-j + SRCK-j#. Asimismo, se muestra un enfoque de velocidad de datos doble (DDR) a modo de ejemplo no limitativo. Además, la latencia de entrada a salida (o "latencia de flujo continuo", indicada como tIOL) corresponde a un (1) ciclo de reloj (o dos (2) ciclos DDR) en este ejemplo específico. Por supuesto, en otras implementaciones, puede utilizarse un esquema de sincronismo uniterminal, así como un tipo de velocidad de reloj y una anchura de puerto diferentes. In these timing diagrams, a differential synchronism scheme is shown as a non-limiting example, using a pair of SRCK-j + SRCK-j # input clock signals. Also, a dual data rate (DDR) approach is shown as a non-limiting example. In addition, the input to output latency (or "continuous flow latency", indicated as tIOL) corresponds to one (1) clock cycle (or two (2) DDR cycles) in this specific example. Of course, in other implementations, a uniterminal synchronism scheme can be used, as well as a different type of clock speed and port width.

A continuación se hace referencia a la figura 5, que muestra un sistema 502 que incluye una configuración de dispositivos semiconductores conectados en serie 104-0 --- 7. En este ejemplo, el sistema 502 incluye el dispositivo maestro 102 descrito anteriormente y ocho (8) dispositivos esclavos 104-0 --- 7, cada uno similar en estructura al dispositivo esclavo 104-j descrito anteriormente. Por supuesto, deberá resultar evidente para los expertos en la materia que el sistema 502 puede incluir cualquier cantidad de dispositivos esclavos conectados de forma punto a punto. Reference is now made to Figure 5, which shows a system 502 that includes a configuration of semiconductor devices connected in series 104-0 --- 7. In this example, system 502 includes the master device 102 described above and eight ( 8) slave devices 104-0 --- 7, each similar in structure to the slave device 104-j described above. Of course, it should be apparent to those skilled in the art that the system 502 can include any number of slave devices connected point-to-point.

Cada uno de los dispositivos esclavos 104-0 ---7 es similar en estructura al dispositivo esclavo 104-j descrito anteriormente. Es decir, cada uno de los dispositivos esclavos 104-0 --- 7 tiene una interfaz compatible con la interfaz del dispositivo esclavo 104-j descrita anteriormente. Por consiguiente, cada uno de los dispositivos esclavos 104-0 --- 7 tiene una interfaz que comprende un puerto de entrada en serie (SIP-0 --- 7) un puerto de salida en serie (SOP-0 --- 7), un puerto de entrada de habilitación del puerto de entrada (IPE-0--- 7), un puerto de entrada de habilitación del puerto de salida (OPE-0 --- 7), un puerto de salida de réplica de habilitación del puerto de entrada (IPEQ-0 --- 7), un puerto de salida de réplica de habilitación del puerto de salida (OPEQ-0 --- 7), un puerto de entrada de reloj (RCK-0 --- 7) y un puerto de salida de reloj (TCK-0 --- 7). Además, la interfaz de cada uno de los dispositivos esclavos 104-0 --- 7 puede incluir un puerto de selección de chip (no mostrado) y un puerto de reseteo (no mostrado). Each of the slave devices 104-0 --- 7 is similar in structure to the slave device 104-j described above. That is, each of the slave devices 104-0 --- 7 has an interface compatible with the slave device interface 104-j described above. Accordingly, each of the slave devices 104-0 --- 7 has an interface comprising a serial input port (SIP-0 --- 7) a serial output port (SOP-0 --- 7 ), an input port enabling input port (IPE-0 --- 7), an input input enabling output port (OPE-0 --- 7), an output port enabling replication of the input port (IPEQ-0 --- 7), an output port for replication of the output port enable (OPEQ-0 --- 7), a clock input port (RCK-0 --- 7 ) and a clock output port (TCK-0 --- 7). In addition, the interface of each of the slave devices 104-0 --- 7 may include a chip selection port (not shown) and a reset port (not shown).

Debe apreciarse que pueden utilizarse diferentes tipos de dispositivos esclavos siempre que tengan interfaces compatibles. En general, el sistema 502 puede comprender varias clases de dispositivos de circuito integrado semiconductor como dispositivos esclavos en la configuración. Por ejemplo, cuando los dispositivos esclavos son dispositivos de memoria, dichos dispositivos de memoria pueden ser del mismo tipo (por ejemplo, teniendo todos un It should be appreciated that different types of slave devices can be used as long as they have compatible interfaces. In general, the system 502 can comprise several kinds of semiconductor integrated circuit devices as slave devices in the configuration. For example, when slave devices are memory devices, said memory devices may be of the same type (for example, all having a

núcleo de memoria flash NAND) o pueden ser de tipos diferentes (por ejemplo, algunos teniendo un núcleo de memoria flash NAND y otros teniendo un núcleo de memoria DRAM). Están dentro del alcance de la presente invención otras combinaciones de tipos de memoria y tipos de dispositivos que se ocurran a los expertos en la materia. NAND flash memory core) or they can be of different types (for example, some having a NAND flash memory core and others having a DRAM memory core). Other combinations of types of memory and types of devices that occur to those skilled in the art are within the scope of the present invention.

El dispositivo maestro 102 tiene una interfaz que comprende una serie de puertos de salida para proporcionar un grupo de señales a un primer dispositivo esclavo 104-0 de la configuración. Específicamente, la interfaz del dispositivo maestro 102 comprende un puerto de salida de reloj maestro (en adelante, el "puerto TCK") sobre el que se entrega una señal de reloj de salida maestra STCK, un puerto de salida en serie maestro (en adelante, el "puerto SOP") sobre el que se proporciona una señal de información de salida en serie maestra SSOP, un puerto de salida de habilitación del puerto de entrada en serie maestro (en adelante, el "puerto IPE") sobre el que se proporciona una señal de habilitación del puerto de entrada en serie maestro SIPE, y un puerto de salida de habilitación del puerto de salida en serie maestro (en adelante, el puerto "OPE") sobre el que se proporciona una señal de habilitación del puerto de salida en serie maestro SOPE. The master device 102 has an interface comprising a series of output ports to provide a group of signals to a first slave device 104-0 of the configuration. Specifically, the interface of the master device 102 comprises a master clock output port (hereinafter, the "TCK port") on which a STCK master output clock signal is delivered, a master serial output port (hereinafter , the "SOP port") on which an SSOP master serial output signal is provided, an enable output port of the master serial input port (hereinafter, the "IPE port") on which provides an enable signal from the SIPE master serial input port, and an enable output port from the master serial output port (hereafter referred to as the "OPE" port) on which an enable signal is provided from the input port of SOPE master serial output.

La interfaz del dispositivo maestro 102 puede comprender además varios puertos sobre los que puede proporcionarse la señal de selección de chip, la señal de reseteo y algunas otras informaciones de datos y control destinadas a los dispositivos esclavos 104-0 --- 7. The interface of the master device 102 may further comprise several ports on which the chip selection signal, the reset signal and some other data and control information for the slave devices 104-0 --- 7 can be provided.

La interfaz del dispositivo maestro 102 comprende además una serie de puertos de entrada sobre los que se recibe un grupo de señales procedentes del último dispositivo esclavo 104-7 de la configuración. Específicamente, la interfaz del dispositivo maestro 102 comprende un puerto de entrada de reloj maestro (en adelante, el "puerto RCK") sobre el que se recibe una señal de reloj de entrada maestra SRCK, un puerto de entrada en serie maestro (en adelante, el "puerto SIP") sobre el que se proporciona una señal de información de entrada en serie maestra SSIP, un puerto de entrada de réplica de habilitación del puerto de entrada en serie maestro (en adelante, el "puerto IPEQ") sobre el que se proporciona una señal de réplica de la habilitación del puerto de entrada en serie maestro SIPEO, y un puerto de entrada de réplica de habilitación del puerto de salida en serie maestro (en adelante, el "puerto OPEQ") sobre el que se proporciona una señal de réplica de habilitación del puerto de salida en serie maestro SOPEQ. The interface of the master device 102 further comprises a series of input ports on which a group of signals from the last slave device 104-7 of the configuration is received. Specifically, the interface of the master device 102 comprises a master clock input port (hereinafter, the "RCK port") on which an SRCK master input clock signal is received, a master serial input port (hereinafter , the "SIP port") on which an SSIP master serial input information signal is provided, an enable replication input port of the master serial input port (hereinafter, the "IPEQ port") on the that a replication signal of the enablement of the SIPEO master serial input port is provided, and an enable replication input port of the master serial output port (hereinafter, the "OPEQ port") on which it is provided an enable replication signal from the SOPEQ master serial output port.

El sistema 502 forma un bucle de retroalimentación cerrado de tipo anillo. Es decir, los puertos de salida del dispositivo maestro 102 (es decir, los puertos TCK, SOP, IPE y OPE) están conectados a los puertos de entrada del primer dispositivo esclavo 104-0 (es decir, los puertos RCK-0, SIP-0, IPE-0 y OPE-0, respectivamente), cuyos puertos de salida (es decir, los puertos TCK-0, SOP-0, IPEQ-0 y OPEQ-0) están conectados a los puertos de entrada del dispositivo esclavo 104-1 (es decir, los puertos RCK-1, SIP-1, IPE-1 y OPE-1, respectivamente). A continuación, los puertos de salida del dispositivo esclavo 104-1 (es decir, los puertos TCK-1, SOP-1, IPEQ-1 y OPEQ-1) están conectados a los puertos de entrada del dispositivo esclavo 104-2 (es decir, los puertos RCK-2, SIP2, IPE-2 y OPE-2, respectivamente), cuyos puertos de salida (es decir, los puertos TCK-2, SOP-2, IPEQ-2 y OPEQ2) están conectados a los puertos de entrada del dispositivo esclavo 104-3 (es decir, los puertos RCK-3, SIP-3, IPE3 y OPE-3, respectivamente). Esto continúa hasta el dispositivo esclavo 104-7, cuyos puertos de entrada (es decir, los puertos RCK-7, SIP-7, IPE-7 y OPE-7, respectivamente) están conectados a los puertos de salida del dispositivo esclavo 104-6 (es decir, los puertos TCK-6, SOP-6, IPEQ-6 y OPEQ-6), y cuyos puertos de salida (es decir, los puertos TCK-7, SOP-7, IPEQ-7 y OPEQ-7) están conectados a los puertos de entrada del dispositivo maestro 102 (es decir, los puertos RCK, SIP, IPEQ y OPEQ, respectivamente. System 502 forms a closed feedback loop of the ring type. That is, the output ports of the master device 102 (i.e., the TCK, SOP, IPE and OPE ports) are connected to the input ports of the first slave device 104-0 (i.e., the RCK-0, SIP ports -0, IPE-0 and OPE-0, respectively), whose output ports (ie, the ports TCK-0, SOP-0, IPEQ-0 and OPEQ-0) are connected to the input ports of the slave device 104-1 (that is, the RCK-1, SIP-1, IPE-1 and OPE-1 ports, respectively). Next, the output ports of the slave device 104-1 (i.e., the ports TCK-1, SOP-1, IPEQ-1 and OPEQ-1) are connected to the input ports of the slave device 104-2 (en that is, the RCK-2, SIP2, IPE-2 and OPE-2 ports, respectively), whose output ports (i.e., the TCK-2, SOP-2, IPEQ-2 and OPEQ2 ports) are connected to the ports input of slave device 104-3 (i.e., the RCK-3, SIP-3, IPE3 and OPE-3 ports, respectively). This continues until slave device 104-7, whose input ports (ie, the RCK-7, SIP-7, IPE-7 and OPE-7 ports, respectively) are connected to the output ports of the slave device 104- 6 (i.e., ports TCK-6, SOP-6, IPEQ-6 and OPEQ-6), and whose output ports (i.e., ports TCK-7, SOP-7, IPEQ-7 and OPEQ-7 ) are connected to the input ports of the master device 102 (that is, the RCK, SIP, IPEQ and OPEQ ports, respectively.

Con objeto de simplificar la descripción, el sistema 502 muestra (y el resto de la descripción se centra en) señales de entrada y de salida de anchura de un solo bit (x1); sin embargo, deberá resultar evidente que las señales de entrada y de salida pueden ser más anchas de x1, tal como de x2, x4 y x8, para nombrar unas pocas posibilidades no limitativas. In order to simplify the description, the system 502 shows (and the rest of the description focuses on) single-bit width input and output signals (x1); however, it should be clear that the input and output signals may be wider than x1, such as x2, x4 and x8, to name a few non-limiting possibilities.

La configuración mostrada en la figura 5 permite la propagación de la señal de salida de reloj maestro STCK así como de la señal de habilitación de puerto de entrada en serie maestro SIPE y la señal de habilitación de puerto de salida en serie maestro SOPE desde un dispositivo esclavo al siguiente, hasta que estas señales vuelven finalmente al dispositivo maestro 102 en forma de la señal de entrada de reloj maestro SRCK, la señal de réplica de habilitación del puerto de entrada en serie maestro SIPEQ y la señal de réplica de habilitación del puerto de salida en serie maestro SOPEQ, respectivamente. The configuration shown in Figure 5 allows the propagation of the STCK master clock output signal as well as the SIPE master serial input port enable signal and the SOPE master serial output port enable signal from a device slave to the next, until these signals finally return to the master device 102 in the form of the SRCK master clock input signal, the enable replication signal of the SIPEQ master serial input port and the enable replication signal of the SOPEQ master serial output, respectively.

Debe apreciarse que las interconexiones entre los puertos de dispositivos vecinos se producen a través de una "carga de interconexión", mostrada en los dibujos como 504. La carga de interconexión en 504 puede consistir en uno o varios de: carga de hilos de conexión en el interior del paquete; carga de pistas de PCB (printed circuit board, placa de circuito impreso); carga de bolas de soldadura en el paquete; y similares. Cuando el sistema 502 es implementado en un único paquete que incluye una serie de dispositivos esclavos (en este caso, los ocho dispositivos esclavos 104-0 --- 7 pero, en general, cualquier número) y un dispositivo maestro 102, esto se conoce como un paquete multichip (MCP, Multi-Chip-Package) y, en dichos casos, la carga de interconexión 504 puede consistir en una carga de interconexión de hilo entre los chips del MCP. La carga de interconexión 504 entre los dispositivos puede variar debido a diversas condiciones tales como, desajustes en las capas de la PCB en longitud y It should be noted that the interconnections between the ports of neighboring devices are produced through an "interconnection load", shown in the drawings as 504. The interconnection load in 504 may consist of one or more of: connection wire load in the inside of the package; PCB track loading (printed circuit board); loading of welding balls in the package; and the like When the system 502 is implemented in a single package that includes a series of slave devices (in this case, the eight slave devices 104-0 --- 7 but, in general, any number) and a master device 102, this is known as a multichip package (MCP, Multi-Chip-Package) and, in such cases, the interconnection load 504 may consist of a thread interconnection load between the MCP chips. The interconnection load 504 between the devices may vary due to various conditions such as, mismatches in the PCB layers in length and

formas; asimismo en la realización del MCP, la carga de interconexión 504 en el interior del MCP es diferente a la carga de interconexión 504 que resulta de la PCB. Por lo tanto, aunque la carga de interconexión 504 se indica en los dibujos mediante un único numeral, en realidad debe entenderse que esta carga puede variar de una interconexión a otra. shapes; also in the realization of the MCP, the interconnection load 504 inside the MCP is different from the interconnection load 504 resulting from the PCB. Therefore, although the interconnection load 504 is indicated in the drawings by a single numeral, it should actually be understood that this load may vary from one interconnection to another.

En funcionamiento, el dispositivo maestro 102 genera la señal de reloj maestra STCK, que es enviada al primer dispositivo esclavo 104-0 y llega al puerto RCK-0 de éste a través de la carga de interconexión 504, en forma de la señal de reloj de entrada SRCK-0. El dispositivo maestro 102 genera asimismo información en serie en forma de la señal de información de salida en serie maestra SSOP, que es enviada al primer dispositivo esclavo 104-0 en sincronismo con la señal de reloj maestra STCK. La información en serie es recibida por el primer dispositivo esclavo 104-0 en el puerto SIP-0 de éste a través de la carga de interconexión 504, en forma de la señal de información de entrada en serie SSIP-0. El dispositivo maestro 102 asegura asimismo que la señal de información de salida en serie maestra SSOP está alineada con la señal de habilitación del puerto de entrada en serie maestro SIPE, que es recibida por el primer dispositivo esclavo 104-0 en el puerto IPE-0 de éste, mediante la carga de interconexión 504, en forma de la señal de habilitación del puerto de entrada SIPE-0. In operation, the master device 102 generates the STCK master clock signal, which is sent to the first slave device 104-0 and arrives at the RCK-0 port of the latter via the interconnection load 504, in the form of the clock signal SRCK-0 input. The master device 102 also generates serial information in the form of the SSOP master serial output information signal, which is sent to the first slave device 104-0 in synchronism with the STCK master clock signal. The serial information is received by the first slave device 104-0 at its SIP-0 port through the interconnection load 504, in the form of the SSIP-0 serial input information signal. The master device 102 also ensures that the SSOP master serial output information signal is aligned with the enable signal of the SIPE master serial input port, which is received by the first slave device 104-0 on the IPE-0 port. of this, by means of the interconnection load 504, in the form of the enable signal of the SIPE-0 input port.

El controlador esclavo 106 en el primer dispositivo esclavo 104-0 determina si la información en serie está destinada al primer dispositivo esclavo 104-0. Si la información en serie está destinada al primer dispositivo esclavo 104-0, el controlador esclavo 106 interpreta esta información y actúa. Por ejemplo, cuando el primer dispositivo esclavo 104-0 es un dispositivo de memoria, la información en serie puede ser un comando de lectura o un comando de escritura. En el caso de un comando de escritura, se espera que llegue información adicional de datos y dirección mediante el puerto SIP-0, siendo transferida la información de datos por el controlador esclavo 106 a la matriz de memoria 108. En el caso de un comando de lectura, se espera que llegue información adicional de dirección mediante puerto SIP0, e indicará qué información de la matriz de memoria 108 debe ser situada en el puerto SOP-0. El controlador esclavo 106 asegura asimismo que la información leída desde la matriz de memoria 108 está alineada con la señal de habilitación del puerto de salida en serie maestro SOPE, que es recibida por el primer dispositivo esclavo 104-0 en el puerto OPE-0 de éste mediante la carga de interconexión 504, en forma de la señal de habilitación del puerto de salida SOPE-0. The slave controller 106 in the first slave device 104-0 determines whether the serial information is intended for the first slave device 104-0. If the serial information is intended for the first slave device 104-0, the slave controller 106 interprets this information and acts. For example, when the first slave device 104-0 is a memory device, the serial information may be a read command or a write command. In the case of a write command, additional data and address information is expected to arrive via the SIP-0 port, the data information being transferred by the slave controller 106 to the memory matrix 108. In the case of a command For reading, additional address information is expected to arrive via SIP0 port, and will indicate what information from memory array 108 should be located at port SOP-0. The slave controller 106 also ensures that the information read from the memory matrix 108 is aligned with the enable signal of the SOPE master serial output port, which is received by the first slave device 104-0 on the OPE-0 port of this by means of the interconnection load 504, in the form of the enable signal of the output port SOPE-0.

Por otra parte, si la información en serie no está destinada al primer dispositivo esclavo 104-0, el primer dispositivo esclavo 104-0 simplemente retransmite la información en serie recibida hacia el siguiente dispositivo esclavo 104-1, en sincronismo con la señal de reloj de salida STCK-0. Es decir, el controlador esclavo 106 transfiere la información en serie recibida mediante el puerto SIP-0 sobre el puerto SOP-0. On the other hand, if the serial information is not intended for the first slave device 104-0, the first slave device 104-0 simply retransmits the serial information received to the next slave device 104-1, in synchronism with the clock signal. STCK-0 output. That is, the slave controller 106 transfers the serial information received via the SIP-0 port over the SOP-0 port.

Adicionalmente, e independientemente de si la información en serie está o no destinada al primer dispositivo esclavo 104-0, el controlador esclavo 106 transfiere las señales que aparecen en los puertos IPE-0 y OPE-0 sobre los puertos IPEQ-0 y OPEQ-0, respectivamente. Additionally, and regardless of whether or not the serial information is intended for the first slave device 104-0, the slave controller 106 transfers the signals that appear on the IPE-0 and OPE-0 ports over the IPEQ-0 and OPEQ- ports. 0, respectively.

Adicionalmente, la señal de reloj de entrada SRCK-0 es propagada siguiente dispositivo esclavo 104-1. Específicamente, la señal de reloj de entrada SRCK-0 es procesada por el sincronizador de reloj 110, que emite una señal de reloj intermedia SCLK_INT. La señal de reloj intermedia atraviesa el elemento de memoria tampón 134 y la memoria tampón de salida 122-1 antes de ser entregada mediante el puerto TCK-0, en forma de una señal de reloj de salida STCK-0. Bajo condiciones iniciales, la señal de reloj de salida STCK-0 estará aproximadamente bloqueada en fase con la señal de reloj de entrada SRCK-0. Additionally, the SRCK-0 input clock signal is propagated following slave device 104-1. Specifically, the input clock signal SRCK-0 is processed by the clock synchronizer 110, which emits an intermediate clock signal SCLK_INT. The intermediate clock signal passes through the buffer memory element 134 and the output buffer 122-1 before being delivered via the TCK-0 port, in the form of an STCK-0 output clock signal. Under initial conditions, the STCK-0 output clock signal will be approximately locked in phase with the SRCK-0 input clock signal.

Las mismas operaciones básicas se llevan a cabo en el siguiente dispositivo esclavo 104-1. Debe observarse que en algún momento, la información que aparece en el puerto SOP-j de uno dado de los dispositivos esclavos 104-0 --- 7, puede contener información que está destinada al dispositivo maestro 102. Este es particularmente el caso cuando ha sido emitido un comando de lectura para dicho dispositivo esclavo. Esta información sigue propagándose hasta que es transmitida en forma de la señal de información de salida en serie SSOP-7 por el último dispositivo esclavo 104-7 mediante el puerto SOP-7 de éste. El controlador esclavo 106 del último dispositivo esclavo 104-7 entrega la señal de información de salida en serie SSOP-7 en sincronismo con la señal de reloj de salida STCK-7. La señal de información de salida en serie SSOP-7 es recibida a través de la carga de interconexión 504 en el puerto SIP de dispositivo maestro 102, en forma de la señal de información de entrada en serie maestra SSIP. De manera similar, la señal de reloj de salida STCK-7 atraviesa una carga de interconexión 504 antes de ser recibida en el puerto RCK de dispositivo maestro 102, en forma de la señal de reloj de entrada maestra SRCK. The same basic operations are carried out on the following slave device 104-1. It should be noted that at some point, the information that appears on the SOP-j port of a given one of the slave devices 104-0 --- 7, may contain information that is intended for the master device 102. This is particularly the case when a read command has been issued for said slave device. This information continues to be propagated until it is transmitted in the form of the SSOP-7 serial output information signal by the last slave device 104-7 via its SOP-7 port. Slave controller 106 of the last slave device 104-7 delivers the SSOP-7 serial output information signal in synchronism with the STCK-7 output clock signal. The SSOP-7 serial output information signal is received through the interconnection load 504 on the master device SIP port 102, in the form of the SSIP master serial input information signal. Similarly, the output clock signal STCK-7 crosses an interconnection load 504 before being received at the RCK port of master device 102, in the form of the master input clock signal SRCK.

Tal como puede apreciarse a partir de la descripción anterior, el dispositivo maestro 102 puede enviar instrucciones para controlar el comportamiento de un dispositivo (o varios) seleccionado de los dispositivos esclavos 104-0 --- 7 en la configuración, mediante la utilización de los puertos TCK, SIP, IPE y OPE. A continuación, el dispositivo o dispositivos esclavos responden a las instrucciones procedentes del dispositivo maestro 102 y transmiten hacia delante en la configuración una respuesta adecuada. Finalmente, el dispositivo maestro 102 recibe la respuesta a través de sus puertos SIP, IPEQ y OPEQ. As can be seen from the above description, the master device 102 can send instructions to control the behavior of a device (or several) selected from the slave devices 104-0 --- 7 in the configuration, by using the TCK, SIP, IPE and OPE ports. Next, the slave device or devices respond to the instructions coming from the master device 102 and transmit an appropriate response forward in the configuration. Finally, the master device 102 receives the response through its SIP, IPEQ and OPEQ ports.

Debe observarse adicionalmente que las cargas de interconexión 504 presentes entre dispositivos esclavos, y entre el dispositivo maestro 102 y el primer dispositivo esclavo 104-0 así como el último dispositivo esclavo 104-7, añaden retardo a las señales de propagación (incluyendo las señales de reloj). Por lo tanto, la carga de interconexión 504 entre el dispositivo maestro 102 y el primer dispositivo esclavo 104-0 provocará que el segundo dispositivo esclavo 104-1 vea una señal de reloj de entrada ligeramente modificada o retardada SRCK-1, en comparación con la señal de reloj de salida STCK-0. El sincronizador de reloj 110 en el segundo dispositivo esclavo 104-1 lleva a cabo a continuación un procedimiento de bloqueo en base a la señal de reloj de entrada SRCK-1 y produce la señal de reloj de salida STCK-1 que, bajo condiciones iniciales, estará aproximadamente bloqueada en fase con la señal de reloj de entrada SRCK-1. A continuación, la carga de interconexión 504 entre el segundo y el tercer dispositivos esclavos 1041 y 104-2 provoca que el tercer dispositivo esclavo 104-2 vea una señal de reloj de entrada ligeramente modificada o retardada SRCK-2, en comparación con la señal de reloj de salida STCK-1. El sincronizador de reloj 110 en el tercer dispositivo esclavo 104-2 lleva a cabo a continuación un procedimiento de bloqueo en base a la señal de reloj de entrada SRCK-2 y produce la señal de reloj de salida STCK-2 que, bajo condiciones iniciales, estará aproximadamente bloqueada en fase con la señal de reloj de entrada SRCK-2. Este proceso continúa, hasta que el dispositivo esclavo 104-7 produce la señal de reloj de salida STCK-7, que es recibida mediante la carga de interconexión 504 en el puerto RCK del dispositivo maestro 102. It should be further noted that interconnection loads 504 present between slave devices, and between the master device 102 and the first slave device 104-0 as well as the last slave device 104-7, add delay to the propagation signals (including the signals of watch). Therefore, the interconnection load 504 between the master device 102 and the first slave device 104-0 will cause the second slave device 104-1 to see a slightly modified or delayed input clock signal SRCK-1, compared to the STCK-0 output clock signal. The clock synchronizer 110 in the second slave device 104-1 then performs a blocking procedure based on the input clock signal SRCK-1 and produces the output clock signal STCK-1 which, under initial conditions , will be approximately locked in phase with the SRCK-1 input clock signal. Next, the interconnection load 504 between the second and third slave devices 1041 and 104-2 causes the third slave device 104-2 to see a slightly modified or delayed input clock signal SRCK-2, compared to the signal STCK-1 output clock. The clock synchronizer 110 in the third slave device 104-2 then performs a blocking procedure based on the SRCK-2 input clock signal and produces the STCK-2 output clock signal which, under initial conditions , will be approximately locked in phase with the SRCK-2 input clock signal. This process continues, until the slave device 104-7 produces the output clock signal STCK-7, which is received by the interconnection load 504 on the RCK port of the master device 102.

Por lo tanto, la señal de reloj de entrada maestra SRCK en el puerto RCK es una versión propagada de la señal de reloj de salida maestra STCK que ha sido resincronizada mediante el sincronizador de reloj 110, en cada uno de los dispositivos esclavos 104-0 --- 7. Las diversas cargas de interconexión 504 pueden causar un "retado por cargas de interconexión" que, bajo condiciones iniciales, provocará que la señal de reloj de entrada maestra SRCK presente un error de fase significativo en comparación con la señal de reloj de salida maestra STCK. Si se conociera el retardo por cargas de interconexión, entonces podría elegirse en la fase de diseño un valor adecuado para el componente fijo del retardo aplicado por la EA-FDU 206 en cada uno de los dispositivos esclavos 104-0 --- 7 (a saber, el componente fijo tF), para compensar el retardo por cargas de interconexión. Sin embargo, el retardo por cargas de interconexión es variable e impredecible, de manera que no se puede tener en cuenta en la fase de diseño. Por consiguiente, en una realización de la presente invención, el dispositivo maestro 102 está configurado para actualizar dinámicamente el registro EA-FD 220 en cada uno de los dispositivos esclavos 104-0 --- 7. Therefore, the SRCK master input clock signal at the RCK port is a propagated version of the STCK master output clock signal that has been resynchronized by the clock synchronizer 110, in each of the slave devices 104-0 --- 7. The various interconnection loads 504 can cause a "interconnection load challenge" which, under initial conditions, will cause the SRCK master input clock signal to present a significant phase error compared to the clock signal. STCK master output. If the interconnection load delay was known, then a suitable value for the fixed component of the delay applied by the EA-FDU 206 in each of the slave devices 104-0 --- 7 (a namely, the fixed component tF), to compensate for the delay due to interconnection loads. However, the delay due to interconnection loads is variable and unpredictable, so it cannot be taken into account in the design phase. Accordingly, in one embodiment of the present invention, the master device 102 is configured to dynamically update the EA-FD 220 register in each of the slave devices 104-0 --- 7.

Más específicamente, tal como se muestra en la figura 5, además de sus otros componentes útiles en la generación de varias señales de salida y el procesamiento de varias señales de entrada, el dispositivo maestro 102 comprende un detector de fase y de frecuencia (PFD, phase frequency detector) 506 y un controlador maestro 508. El PFD 506 tiene un primer puerto de entrada conectado al puerto RCK, y recibe desde el mismo la señal de entrada de reloj maestro SRCK. Además, el PFD 506 tiene un segundo puerto de entrada que recibe una versión de la señal de reloj de salida maestra STCK. A este respecto, el segundo puerto de entrada del PFD 506 puede estar ramificado desde el puerto TCK, o puede obtener la señal de reloj de salida maestra STCK mediante un árbol de distribución de reloj, interno al dispositivo maestro 102. El PFD 506 está configurado para determinar una diferencia de fase y/o de frecuencia entre las señales de reloj en sus dos puertos de entrada, y para proporcionar una señal de diferencia, indicativa de esta diferencia, en un puerto de salida del PFD 506. More specifically, as shown in Figure 5, in addition to its other components useful in generating several output signals and processing several input signals, the master device 102 comprises a phase and frequency detector (PFD, phase frequency detector) 506 and a 508 master controller. The PFD 506 has a first input port connected to the RCK port, and receives from it the SRCK master clock input signal. In addition, the PFD 506 has a second input port that receives a version of the STCK master output clock signal. In this regard, the second input port of the PFD 506 may be branched from the TCK port, or it may obtain the STCK master output clock signal via a clock distribution tree, internal to the master device 102. The PFD 506 is configured to determine a phase and / or frequency difference between the clock signals at its two input ports, and to provide a difference signal, indicative of this difference, at an output port of the PFD 506.

La señal de diferencia SDIFF entregada por el PFD 506 es proporcionada a un puerto de entrada del controlador maestro 508. El controlador maestro 508 está configurado para ejecutar un proceso de sincronización a efectos de ajustar el valor actual del retardo que está siendo aplicado por la EA-FDU 206 en uno o varios de los dispositivos esclavos 104-0 --- 7, en base a la señal de diferencia SDIFF recibida desde el PFD 506. Esto se consigue emitiendo comandos tales como el comando "Escribir EA-FDU", mediante los puertos SIP e IPE. A continuación se proporcionan detalles de un proceso de sincronización, haciendo referencia a una secuencia de etapas mostrada en la figura 6. The SDIFF difference signal delivered by the PFD 506 is provided to an input port of the master controller 508. The master controller 508 is configured to execute a synchronization process in order to adjust the current value of the delay being applied by the EA -FDU 206 on one or more of the slave devices 104-0 --- 7, based on the SDIFF difference signal received from the PFD 506. This is achieved by issuing commands such as the "Write EA-FDU" command, by SIP and IPE ports. Details of a synchronization process are given below, referring to a sequence of steps shown in Figure 6.

En la etapa 610, el controlador maestro 508 espera la realización de un procedimiento de inicialización en cada uno de los dispositivos esclavos 104-0 --- 7. Específicamente, se aplica alimentación al sistema y, en respuesta, cada uno de los dispositivos esclavos 104-0 --- 7 del sistema 502 lleva a cabo un procedimiento de inicialización respectivo, de acuerdo con especificaciones de diseño. El procedimiento de inicialización incluye el bloqueo inicial de la EA-FDU 206 respectiva de cada dispositivo esclavo, utilizando el componente fijo tF, que puede corresponder a una estimación del retardo de propagación a través del dispositivo esclavo en cuestión. Una vez completado el bloqueo inicial, cada uno de los dispositivos esclavos 104-0 --- 7 ha puesto su señal de reloj de salida STCK-j en fase con su señal de reloj de entrada SRCK-j, mediante tener en cuenta una estimación de este retardo de propagación. Pueden llevarse a cabo otras funciones de inicialización, tales como procedimientos de autodescubrimiento y asignación de dirección del dispositivo, sin apartarse del alcance de la invención. In step 610, the master controller 508 awaits the completion of an initialization procedure on each of the slave devices 104-0 --- 7. Specifically, power is applied to the system and, in response, each of the slave devices 104-0 --- 7 of system 502 performs a respective initialization procedure, in accordance with design specifications. The initialization procedure includes the initial blocking of the respective EA-FDU 206 of each slave device, using the fixed component tF, which may correspond to an estimate of the propagation delay through the slave device in question. Once the initial block is complete, each of the slave devices 104-0 --- 7 has put its STCK-j output clock signal in phase with its SRCK-j input clock signal, by taking into account an estimate of this propagation delay. Other initialization functions, such as self-discovery procedures and address assignment of the device, can be performed without departing from the scope of the invention.

En la etapa 620, una vez que se ha completado el procedimiento de inicialización, el controlador maestro 508 obtiene la diferencia de fase (indicada como Lp) entre la señal de reloj de entrada maestra SRCK y la señal de reloj de salida maestra STCK. Esto puede realizarse mediante leer la salida del PFD 506. Se recuerda que es probable que Lp sea distinta de cero debido a la presencia de las cargas de interconexión 504 entre dispositivos esclavos y entre el dispositivo maestro 102 y el primer dispositivo esclavo 104-0 así como el último dispositivo esclavo 104-7. In step 620, once the initialization procedure is completed, the master controller 508 obtains the phase difference (indicated as Lp) between the SRCK master input clock signal and the STCK master output clock signal. This can be done by reading the output of the PFD 506. It is recalled that Lp is likely to be non-zero due to the presence of interconnection loads 504 between slave devices and between the master device 102 and the first slave device 104-0 as well. as the last slave device 104-7.

En la etapa 630, la Lp determinada en la etapa 620 se compara con cero (o con un intervalo de valores considerados como indicativos de "estabilidad"). Si Lp es cero (o está dentro del intervalo de valores considerados como indicativos de "estabilidad"), el sistema 502 se considera estable, y el proceso de sincronización finaliza. Si no lo es, el controlador maestro 508 comienza una subrutina de ajuste de fase. La subrutina de ajuste de fase tiene dos ramificaciones, una primera ramificación 640A para el caso en que Lp es menor de 180 grados, y una segunda ramificación 640B para el caso en que Lp es mayor que 180 grados. La primera y segunda ramificaciones 640A, 640B se describen en mayor detalle a continuación. In step 630, the Lp determined in step 620 is compared with zero (or with a range of values considered as indicative of "stability"). If Lp is zero (or is within the range of values considered as indicative of "stability"), system 502 is considered stable, and the synchronization process ends. If it is not, master controller 508 begins a phase adjustment subroutine. The phase adjustment subroutine has two branches, a first branch 640A for the case where Lp is less than 180 degrees, and a second branch 640B for the case where Lp is greater than 180 degrees. The first and second branches 640A, 640B are described in greater detail below.

En la primera ramificación 640A de la subrutina de ajuste de fase, Lp es menor que 180 grados y por lo tanto el controlador maestro 508 intenta reducir la diferencia de fase entre la señal de reloj de entrada maestra SRCK y la señal de reloj de salida maestra STCK. A este respecto, el controlador maestro 508 emite un comando "Escribir EA-FDU" a uno o varios dispositivos esclavos objetivos, para provocar que estos dispositivos esclavos objetivos aumenten el valor actual del retardo que está siendo aplicado por sus EA-FDU 206 respectivas. In the first branch 640A of the phase adjustment subroutine, Lp is less than 180 degrees and therefore the master controller 508 attempts to reduce the phase difference between the SRCK master input clock signal and the master output clock signal. STCK In this regard, the master controller 508 issues a "Write EA-FDU" command to one or more target slave devices, to cause these target slave devices to increase the current value of the delay being applied by their respective EA-FDU 206.

En la segunda ramificación 640B de la subrutina de ajuste de fase, Lp es mayor que 180 grados y por lo tanto el controlador maestro 508 intenta aumentar la diferencia de fase entre la señal de reloj de entrada maestra SRCK y la señal de reloj de salida maestra STCK. A este respecto, el controlador maestro 508 emite un comando "Escribir EA-FDU" a uno o varios dispositivos esclavos objetivos, para provocar que estos dispositivos esclavos objetivos reduzcan el valor actual del retardo que está siendo aplicado por sus EA-FDU 206 respectivas. In the second branch 640B of the phase adjustment subroutine, Lp is greater than 180 degrees and therefore the master controller 508 attempts to increase the phase difference between the SRCK master input clock signal and the master output clock signal. STCK In this regard, the master controller 508 issues a "Write EA-FDU" command to one or more target slave devices, to cause these target slave devices to reduce the current value of the delay being applied by their respective EA-FDU 206.

El patrón de bits especificado por el comando "Escribir EA-FDU", y el número, la identidad y el orden de los dispositivos esclavos objetivos a los que es enviado este comando, pueden elegirse en base a parámetros de diseño. Por ejemplo, si Lp es lo suficientemente próximo a cero (o 360) grados, está dentro del ámbito de la presente invención enviar un comando "Escribir EA-FDU" a un único dispositivo esclavo objetivo, especificando dicho comando una reducción de -1, -2, -4 ó -8 unidades de retardo. The bit pattern specified by the "Write EA-FDU" command, and the number, identity and order of the target slave devices to which this command is sent, can be chosen based on design parameters. For example, if Lp is close enough to zero (or 360) degrees, it is within the scope of the present invention to send a "Write EA-FDU" command to a single target slave device, said command specifying a reduction of -1, -2, -4 or -8 delay units.

Sin embargo, si Lp es significativamente mayor que cero grados (y significativamente menor que 360 grados), es posible que instar a un único dispositivo esclavo objetivo a ajustar el valor actual del retardo que está siendo aplicado por su EA-FDU 206 en dicha cantidad elevada pueda provocar un fallo (que puede producirse debido a la ausencia de márgenes de tiempo de configuración/mantenimiento en sus circuitos de retención de entrada/salida). Por consiguiente, el controlador maestro 508 puede distribuir Lp entre una serie de dispositivos objetivos, a escribir en secuencia. Cuanto mayor es la petición después de la diferencia de fase, mayor es el número de dispositivos objetivos que recibirán un comando "Escribir EA-FDU". Como resultado, el controlador maestro 508 puede enviar un comando "Escribir EA-FDU" a un subconjunto no sólo de uno o dos dispositivos esclavos objetivos, sino a un número mayor de dispositivos esclavos objetivos, para conseguir de ese modo una distribución más homogénea del ajuste deseado del retardo sobre el sistema 502, y por lo tanto un comportamiento más estable del sistema. Cuando ha de escribirse en múltiples dispositivos esclavos objetivos, está dentro del alcance de la presente invención desarrollar un esquema de direccionamiento para llegar a más de un dispositivo esclavo objetivo con un único comando "Escribir EA-FDU". However, if Lp is significantly greater than zero degrees (and significantly less than 360 degrees), it is possible to urge a single target slave device to adjust the current value of the delay that is being applied by its EA-FDU 206 in that amount high can cause a failure (which may occur due to the absence of configuration / maintenance time margins in its input / output retention circuits). Accordingly, the master controller 508 can distribute Lp among a series of objective devices, to be written in sequence. The larger the request after the phase difference, the greater the number of target devices that will receive a "Write EA-FDU" command. As a result, the master controller 508 can send a "Write EA-FDU" command to a subset not only of one or two objective slave devices, but to a larger number of objective slave devices, to thereby achieve a more homogeneous distribution of the Desired adjustment of the delay on the system 502, and therefore a more stable behavior of the system. When multiple target slave devices are to be written, it is within the scope of the present invention to develop an addressing scheme to reach more than one target slave device with a single "Write EA-FDU" command.

Es posible incluso que Lp esté lo suficientemente próximo a 180 grados como para requerir que cada uno de los dispositivos esclavos ajuste el valor actual del retardo que está siendo aplicado por su EA-FDU 206 respectiva, mediante por lo menos una unidad de retardo. En dichas circunstancias, está dentro del alcance de la presente invención enviar un comando "Escribir EA-FDU" a cada dispositivo esclavo, en secuencia; alternativamente, puede emitirse un comando de difusión. Para determinar que Lp está claramente lo suficientemente próximo a 180 grados como para considerar un comando de difusión, su magnitud |Lp| puede compararse con un factor de retardo masivo TMAX. El factor de retardo masivo TMAX representa el retardo estimado total por cargas de interconexión, a través de todo el sistema 502. Cuando existen N dispositivos esclavos en la configuración, el factor de retardo masivo TMAX puede configurarse a N veces un retardo por cargas de interconexión individual estimado, indicado como tDLY. En el presente ejemplo, N = 8, y el factor de retardo masivo TMAX es igual a 8 x tDLY, aunque, en general, N no está limitado a ningún valor específico. Si |Lp| es mayor que el factor de retardo masivo TMAX, entonces puede emitirse un comando "Escribir EA-FDU", que provoca un ajuste al valor actual del retardo que está siendo aplicado mediante la EA-FDU 206 en cada uno de los dispositivos esclavos 104-0 --- 7. It is even possible that Lp is close enough to 180 degrees to require that each of the slave devices adjust the current value of the delay being applied by their respective EA-FDU 206, by at least one delay unit. In these circumstances, it is within the scope of the present invention to send a "Write EA-FDU" command to each slave device, in sequence; alternatively, a broadcast command can be issued. To determine that Lp is clearly close enough to 180 degrees to consider a broadcast command, its magnitude | Lp | It can be compared with a massive TMAX delay factor. The TMAX mass delay factor represents the total estimated delay by interconnection loads, across the entire 502 system. When there are N slave devices in the configuration, the TMAX mass delay factor can be set to N times a delay by interconnection loads estimated individual, indicated as tDLY. In the present example, N = 8, and the mass delay factor TMAX is equal to 8 x tDLY, although, in general, N is not limited to any specific value. Yes | Lp | is greater than the TMAX mass delay factor, then a "Write EA-FDU" command can be issued, which causes an adjustment to the current value of the delay that is being applied by EA-FDU 206 on each of the slave devices 104- 0 --- 7.

Existen otras técnicas para seleccionar los dispositivos esclavos objetivos individuales susceptibles de recibir un comando "Escribir EA-FDU", y para determinar el ajuste de retardo deseado con respecto al valor actual del retardo que está siendo aplicado por la EA-FDU 206 en dichos dispositivos esclavos objetivo, con el objetivo de poner Lp dentro de un intervalo aceptable; debe entenderse que cualquiera de estas técnicas puede utilizarse sin apartarse del alcance de la invención. There are other techniques for selecting individual objective slave devices that can receive a "Write EA-FDU" command, and to determine the desired delay setting with respect to the current delay value that is being applied by EA-FDU 206 on those devices. target slaves, with the goal of putting Lp within an acceptable range; It should be understood that any of these techniques can be used without departing from the scope of the invention.

Tal como puede apreciarse a partir de la descripción anterior de una realización, durante la ejecución de la ramificación 640A ó 640B, el controlador maestro 508 genera uno o varios comandos "Escribir EA-FDU" destinados a uno o varios dispositivos esclavos objetivos, conteniendo cada uno de dichos comandos un respectivo patrón de bits indicativo de un ajuste de retardo deseado (por ejemplo, un aumento o una reducción) con respecto al valor As can be seen from the previous description of an embodiment, during the execution of branch 640A or 640B, the master controller 508 generates one or more "Write EA-FDU" commands destined for one or more objective slave devices, containing each one of said commands a respective bit pattern indicative of a desired delay setting (for example, an increase or a decrease) with respect to the value

actual del retardo que está siendo aplicado por la EA-FDU 206 en los respectivos uno o varios dispositivos esclavos objetivo. current delay being applied by EA-FDU 206 on the respective one or more target slave devices.

Para tomar un ejemplo no limitativo específico, asumamos que el ajuste de retardo deseado es de +1 unidad de retardo. Por lo tanto, en base a definiciones de patrones de bits anteriores, un comando "Escribir EA-FDU" que tiene un octeto DATA de "00h" es enviado a alguno de (i) un dispositivo esclavo objetivo específico o (ii) un subconjunto de los dispositivos esclavos o (iii) la totalidad de los dispositivos esclavos, en función de los criterios mencionados anteriormente. Esto aumentará el valor actual del retardo que está siendo aplicado mediante la EA-FDU 206, en cada dispositivo esclavo objetivo, en una unidad de retardo. La EA-FDU 206 en el dispositivo esclavo objetivo lleva a cabo un procedimiento de re-bloqueo, cuando detecta que la señal de reloj de retroalimentación SCLK_FB se retrasa en una unidad de retardo, lo que provocará que la señal de reloj de salida STCK-x (y, finalmente, la señal de reloj de entrada maestra SRCK) avance su fase en una unidad de retardo adicional. Después de esperar durante una cierta cantidad de tiempo (que puede estar predeterminada) para permitir que los dispositivos esclavos objetivo (y otros dispositivos esclavos no objetivo, si procede) respondan al comando o comandos "Escribir EA-FDU" emitidos durante la ramificación 640A ó 640B, el controlador de sincronización vuelve a la etapa 620, donde el controlador maestro 508 obtiene de nuevo Lp indicativa de la diferencia de fase entre la señal de reloj de entrada maestra SRCK y la señal de reloj de salida maestra STCK. To take a specific non-limiting example, let's assume that the desired delay setting is +1 delay unit. Therefore, based on previous bit pattern definitions, a "Write EA-FDU" command that has a DATA octet of "00h" is sent to one of (i) a specific target slave device or (ii) a subset of the slave devices or (iii) all of the slave devices, depending on the criteria mentioned above. This will increase the current value of the delay that is being applied by EA-FDU 206, in each target slave device, in a delay unit. The EA-FDU 206 on the target slave device performs a re-lock procedure, when it detects that the feedback clock signal SCLK_FB is delayed in a delay unit, which will cause the output clock signal STCK- x (and, finally, the SRCK master input clock signal) advances its phase in an additional delay unit. After waiting for a certain amount of time (which may be predetermined) to allow the target slave devices (and other non-target slave devices, if applicable) to respond to the "Write EA-FDU" command or commands issued during branching 640A or 640B, the synchronization controller returns to step 620, where the master controller 508 again obtains Lp indicative of the phase difference between the SRCK master input clock signal and the STCK master output clock signal.

La figura 7 muestra un diagrama de temporización que muestra que el comportamiento de la configuración sería similar sin el ajuste externo del sincronizador de reloj 110, basándose únicamente en el componente fijo tF del retardo que está siendo aplicado por la EA-FDU 206 en cada sincronizador de reloj 110. (En este ejemplo, se asume que el retardo por cargas de interconexión real corresponde a tDLY, el retardo por cargas de interconexión individual estimado, mencionado anteriormente). Por contraste, la figura 8 muestra un diagrama de temporización que ilustra el comportamiento de la configuración con ajuste externo del sincronizador de reloj 110, después de poner Lp dentro de un intervalo aceptable utilizando un proceso de sincronización tal como el descrito anteriormente. (En estos ejemplos, se asume que el retardo por cargas de interconexión real corresponde a tDLY, el retardo por cargas de interconexión individual estimado, mencionado anteriormente). Figure 7 shows a timing diagram showing that the configuration behavior would be similar without the external adjustment of the clock synchronizer 110, based solely on the fixed component tF of the delay being applied by EA-FDU 206 on each synchronizer. clock 110. (In this example, it is assumed that the actual interconnection load delay corresponds to tDLY, the estimated individual interconnection load delay, mentioned above). In contrast, Figure 8 shows a timing diagram illustrating the behavior of the externally adjusted clock synchronizer configuration 110, after placing Lp within an acceptable range using a synchronization process such as described above. (In these examples, it is assumed that the actual interconnection load delay corresponds to tDLY, the estimated individual interconnection load delay, mentioned above).

En el caso de la figura 8, cuando se asume una distribución uniforme del retardo a través de los dispositivos esclavos 104-0 --- 7, el valor actual del retardo que está siendo aplicado por la EA-FDU 206 en un dispositivo esclavo 104-j dado, habrá convergido a tDLY. Debe observarse que aunque se asume que tDLY es el mismo para cada dispositivo esclavo, deberá apreciarse que, en la práctica, puede ser diferente para uno dado, de los dispositivos esclavos 104-0 --- 7. Asimismo, no es necesaria una distribución uniforme del retardo a través de los dispositivos esclavos 104-0 --- 7. In the case of Figure 8, when a uniform distribution of the delay is assumed across the slave devices 104-0 --- 7, the current value of the delay being applied by the EA-FDU 206 in a slave device 104 -j given, will have converged to tDLY. It should be noted that although it is assumed that tDLY is the same for each slave device, it should be appreciated that, in practice, it may be different for a given one, from slave devices 104-0 --- 7. Likewise, a distribution is not necessary Uniform delay through slave devices 104-0 --- 7.

Por lo tanto, se apreciará que realizando ajustes al valor del retardo que está siendo aplicado por la EA-FDU 206 en uno o varios de los dispositivos esclavos 104-0 --- 7, es posible conseguir el bloqueo de fase de la señal de reloj de salida maestra STCK a la señal de reloj de entrada maestra SRCK en el dispositivo maestro 102. Entonces, resulta evidente que se puede utilizar un número arbitrariamente grande de dispositivos esclavos, así como aumentar su frecuencia de trabajo. Además, durante el funcionamiento, el dispositivo maestro 102 puede reajustar el valor actual del retardo aplicado por la EA-FDU 206 a uno o varios dispositivos esclavos, emitiendo comandos "Escribir EA-FDU" si es necesario (por ejemplo, cuando cambia la temperatura del sistema 502, etc.). Puede apreciarse asimismo que no es necesario incorporar costosos circuitos de procesamiento y recepción de datos en el dispositivo maestro 102 para tener en cuenta las diferencias en los dominios de reloj TCK y RCK. Therefore, it will be appreciated that by making adjustments to the value of the delay that is being applied by the EA-FDU 206 in one or more of the slave devices 104-0 --- 7, it is possible to achieve the phase blocking of the signal of STCK master output clock to the SRCK master input clock signal in the master device 102. Then, it is evident that an arbitrarily large number of slave devices can be used, as well as increasing their working frequency. In addition, during operation, the master device 102 can reset the current delay value applied by the EA-FDU 206 to one or more slave devices, issuing "Write EA-FDU" commands if necessary (for example, when the temperature changes of system 502, etc.). It can also be appreciated that it is not necessary to incorporate expensive data processing and reception circuits in the master device 102 to take into account the differences in the TCK and RCK clock domains.

Se recuerda que el controlador esclavo 106 del dispositivo esclavo 104-j escribe en el registro EA-FD 220 respectivo, tras la recepción y reconocimiento de un comando "Escribir EA-FDU" procedente del dispositivo maestro It is recalled that the slave controller 106 of the slave device 104-j writes to the respective EA-FD 220 register, upon receipt and recognition of a "Write EA-FDU" command from the master device

102. Además, los expertos en la materia apreciarán que el controlador esclavo 106 del dispositivo esclavo 104-j puede asimismo leer en el registro EA-FD 220, tras la recepción y el reconocimiento de un comando "Leer EA-FDU" procedente del dispositivo maestro 102. Dicho comando puede ser útil en una implementación en la que el dispositivo maestro 102 desea conocer el valor actual del registro EA-FD 220 en dispositivos esclavos 104-0 --- 7 específicos. 102. In addition, those skilled in the art will appreciate that the slave controller 106 of the slave device 104-j can also read in register EA-FD 220, upon receipt and recognition of a "Read EA-FDU" command from the device master 102. Said command may be useful in an implementation in which the master device 102 wishes to know the current value of the EA-FD 220 register on specific slave devices 104-0 --- 7.

El comando "Leer EA-FDU" puede señalizarse mediante controlar las señales que aparecen en los puertos SIP-j, IPE-j y OPE-j. Más específicamente, asumiendo que la señal en el puerto IPE-j se mantiene alta, un ejemplo de un comando "Leer EA-FDU" puede tener el siguiente formato de 2 octetos: The "Read EA-FDU" command can be signaled by controlling the signals that appear on the SIP-j, IPE-j and OPE-j ports. More specifically, assuming that the signal on the IPE-j port remains high, an example of a "Read EA-FDU" command can have the following 2 octet format:

Comando Command
1er octeto 2º octeto 1st octet 2nd octet

Leer EA-FDU Read EA-FDU
"dirección de dispositivo" B1h "device address" B1h

En el formato de ejemplo anterior, el primer octeto ("dirección del dispositivo") identifica el dispositivo esclavo 104-j mediante su dirección específica. Mediante reconocer su propia dirección en la información recibida, el controlador esclavo 106 esperará recibir octetos adicionales de un comando, y esperará a responder al mismo. In the previous example format, the first octet ("device address") identifies the slave device 104-j by its specific address. By recognizing its own address in the information received, the slave controller 106 will wait to receive additional octets of a command, and will wait to respond to it.

En el formato de ejemplo anterior, el segundo octeto (B1h) es un "octeto adicional" del comando "Leer EA-FDU", y representa un valor hexadecimal que indica que el comando es un comando de "Leer EA-FDU" y ningún otro comando. Esto sirve para ayudar a distinguir este comando respecto de otros comandos (tales como el comando "Escribir EA-FDU") para cuya respuesta puede estar configurado el controlador esclavo 106. Por supuesto, el valor hexadecimal preciso del comando "Leer EA-FDU" es un parámetro de diseño y no tiene, en este ejemplo, ningún otro significado que el de servir a un propósito ilustrativo. In the previous example format, the second octet (B1h) is an "additional octet" of the "Read EA-FDU" command, and represents a hexadecimal value indicating that the command is a "Read EA-FDU" command and no another command This serves to help distinguish this command from other commands (such as the "Write EA-FDU" command) for whose response the slave controller 106 may be configured. Of course, the precise hexadecimal value of the "Read EA-FDU" command It is a design parameter and has no other meaning in this example than serving an illustrative purpose.

Asumiendo a continuación que el dispositivo esclavo 104-j tiene una dirección específica de "00h", la figura 9 muestra un diagrama de temporización básica para el comando "Leer EA-FDU". Debe observarse que la señal de habilitación del puerto de salida SOPE-j que aparece en el puerto OPE-j se pone en un nivel alto mediante el dispositivo maestro 102 para señalizar el periodo de tiempo durante el que se permite al controlador esclavo 106 que transfiera, y se espera que lo haga, los contenidos del registro EA-FD 220 sobre el puerto SOP-j. Assuming below that the slave device 104-j has a specific address of "00h", Figure 9 shows a basic timing diagram for the "Read EA-FDU" command. It should be noted that the enable signal of the SOPE-j output port that appears on the OPE-j port is set at a high level by the master device 102 to signal the period of time during which the slave controller 106 is allowed to transfer , and expected to do so, the contents of the EA-FD 220 register on the SOP-j port.

En estos diagramas de temporización, se muestra un esquema de sincronismo diferencial a modo de ejemplo no limitativo, utilizando un par de señales de reloj de entrada SRCK-j + SRCK-j#. Asimismo, se muestra un enfoque de velocidad de datos doble (DDR) a modo de ejemplo no limitativo. Además, la latencia de entrada a salida (o "latencia de flujo continuo", indicada como tIOL) corresponde a un (1) ciclo de reloj (o dos (2) ciclos DDR) en este ejemplo específico. Por supuesto, en otras implementaciones, puede utilizarse un esquema de sincronismo uniterminal, así como un tipo de velocidad de reloj y una anchura de puerto diferentes. In these timing diagrams, a differential synchronism scheme is shown as a non-limiting example, using a pair of SRCK-j + SRCK-j # input clock signals. Also, a dual data rate (DDR) approach is shown as a non-limiting example. In addition, the input to output latency (or "continuous flow latency", indicated as tIOL) corresponds to one (1) clock cycle (or two (2) DDR cycles) in this specific example. Of course, in other implementations, a uniterminal synchronism scheme can be used, as well as a different type of clock speed and port width.

A continuación se hace referencia a la figura 10, que muestra una característica adicional que puede estar presente en un dispositivo esclavo 104-j, que es representativo de uno o varios dispositivos esclavos 104-0 --- 7. Específicamente, el dispositivo esclavo 104-j está equipado con control de intensidad de excitación. Reference is now made to Figure 10, which shows an additional feature that may be present in a slave device 104-j, which is representative of one or more slave devices 104-0 --- 7. Specifically, the slave device 104 -j is equipped with excitation intensity control.

Antes de pasar a la descripción de la característica de control de la intensidad de excitación de salida, debería mencionarse que la figura 10 muestra una implementación del dispositivo esclavo 104-j en la que se utiliza un esquema de sincronismo diferencial (frente un esquema de sincronismo uniterminal). Los esquemas de sincronismo diferenciales son populares en algunas aplicaciones de alta velocidad. Específicamente, en lugar de la señal de reloj de entrada SRCK-j, se muestran un par de señales de reloj de entrada diferenciales SRCK-j y SRCK-j# que llegan a los puertos RCK-j y RCK-j#. De manera similar, en lugar de la señal de reloj de salida STCK-j, se muestran un par de señales de reloj de salida diferenciales STCK-j y STCK-j# emitidas mediante los puertos TCK-j y TCK-j#. Las señales de reloj de salida diferenciales STCK-j, STCK-j# se obtienen a partir de la señal de reloj intermedia SCLK_INT, que puede ser uniterminal, aunque puede también ser diferencial. Before proceeding to the description of the control characteristic of the output excitation intensity, it should be mentioned that Figure 10 shows an implementation of the slave device 104-j in which a differential synchronism scheme is used (versus a synchronism scheme uniterminal). Differential synchronization schemes are popular in some high speed applications. Specifically, instead of the SRCK-j input clock signal, a pair of differential input clock signals SRCK-j and SRCK-j # are shown arriving at the RCK-j and RCK-j # ports. Similarly, instead of the STCK-j output clock signal, a pair of STCK-j and STCK-j # differential output clock signals are displayed through the TCK-j and TCK-j # ports. The differential output clock signals STCK-j, STCK-j # are obtained from the intermediate clock signal SCLK_INT, which can be uniterminal, although it can also be differential.

Pueden existir muchos enfoques diferentes en el tratamiento de un esquema de sincronismo diferencial internamente en el dispositivo esclavo 104-j, y puede utilizarse cualquiera de dichos enfoques sin apartarse del alcance de la invención. Por ejemplo, en la realización no limitativa mostrada en la figura 10, se da a conocer una nueva memoria tampón de entrada 1010 para excitar la mencionada señal de reloj de referencia SCLK_REF desde las señales de reloj de entrada diferenciales SRCK-j, SRCK-j#. Las otras memorias tampón de entrada 120-2, 120-3 y 120-4 pueden ser como anteriormente. There can be many different approaches in the treatment of a differential synchronism scheme internally in the slave device 104-j, and any such approach can be used without departing from the scope of the invention. For example, in the non-limiting embodiment shown in Figure 10, a new input buffer 1010 is disclosed to drive the said reference clock signal SCLK_REF from the differential input clock signals SRCK-j, SRCK-j # . The other input buffer 120-2, 120-3 and 120-4 can be as before.

Volviendo a continuación a la característica de control de la intensidad de excitación de salida, se observará que el dispositivo esclavo 104-j incluye una serie de excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. El excitador de salida de intensidad variable 1022-1 está conectado a los puertos TCK-j y TCK-j#. Los excitadores de salida de intensidad variable 1022-2, 1022-3 y 1022-4 están conectados a los puertos SOP-j, OPEQ-j y IPEQ-j, respectivamente. En la realización mostrada, los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 han sustituido a las memorias tampón de salida 122-1, 122-2, 122-3, 122-4 mostradas en la figura 2B, pero deberá apreciarse que en otras realizaciones los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 pueden añadirse a las memorias tampón de salida 122-1, 122-2, 122-3, 122-4. Turning next to the output excitation intensity control characteristic, it will be noted that the slave device 104-j includes a series of variable current output exciters 1022-1, 1022-2, 1022-3, 1022-4 . The variable current output exciter 1022-1 is connected to the TCK-j and TCK-j # ports. The variable current output drivers 1022-2, 1022-3 and 1022-4 are connected to the SOP-j, OPEQ-j and IPEQ-j ports, respectively. In the embodiment shown, variable intensity output drivers 1022-1, 1022-2, 1022-3, 1022-4 have replaced output buffers 122-1, 122-2, 122-3, 122-4 shown in Figure 2B, but it should be appreciated that in other embodiments the variable intensity output drivers 1022-1, 1022-2, 1022-3, 1022-4 can be added to the output buffer memories 122-1, 122-2 , 122-3, 122-4.

Los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 son capaces de excitar sus señales de salida respectivas con una intensidad de excitación deseada, controlada por un controlador esclavo 106 modificado. Los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 son, cuando la intensidad de excitación de salida puede modificarse, por ejemplo, entre "intensidad de excitación total" e "intensidad de excitación media", acordes con valores de configuración de registro en modo extendido. Se ocurrirán otras posibilidades a los expertos en la materia. Variable intensity output exciters 1022-1, 1022-2, 1022-3, 1022-4 are capable of exciting their respective output signals with a desired excitation intensity, controlled by a modified slave controller 106. Variable intensity output exciters 1022-1, 1022-2, 1022-3, 1022-4 are, when the output excitation intensity can be modified, for example, between "total excitation intensity" and "average excitation intensity ", according to registry settings in extended mode. Other possibilities will occur to those skilled in the art.

En una realización de la presente invención, la flexibilidad proporcionada por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 sirve para modificar intencionadamente la velocidad de transición de las señales que son emitidas por el dispositivo esclavo 104-j. La velocidad de transición es particularmente sensible a la In one embodiment of the present invention, the flexibility provided by the variable intensity output drivers 1022-1, 1022-2, 1022-3, 1022-4 serves to intentionally modify the transition speed of the signals that are emitted by the slave device 104-j. The transition speed is particularly sensitive to

intensidad de excitación de salida debido a la carga por interconexión entre los dispositivos de la configuración. Cuando la velocidad de transición de la señal dada se modifica, desde el punto de vista de un dispositivo sucesivo posterior en el sistema 502 parecerá como si la señal estuviera ligeramente retardada. output excitation intensity due to the interconnection load between the configuration devices. When the transition rate of the given signal is modified, from the point of view of a subsequent successive device in the 502 system it will appear as if the signal is slightly delayed.

Por lo tanto, pueden realizarse ajustes a la intensidad de excitación de salida de los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 para complementar los ajustes descritos anteriormente para el registro EA-FD 220, a efectos de conseguir una sincronización de reloj mejorada en el dispositivo maestro 102, entre la señal de reloj de salida maestra STCK y la señal de reloj de entrada maestra SRCK. Therefore, adjustments to the output excitation intensity of the variable current output exciters 1022-1, 1022-2, 1022-3, 1022-4 can be made to complement the settings described above for the EA-FD 220 register , in order to achieve an improved clock synchronization in the master device 102, between the master output clock signal STCK and the master input clock signal SRCK.

A este respecto, en un ejemplo, el controlador esclavo 106 modificado puede comprender un registro 1020 de intensidad de excitación de salida (en adelante, "ODSR"), en el que puede escribir el dispositivo maestro 102. En una realización específica, el registro ODSR 1020 contiene un patrón de bits que especifica una intensidad deseada a aplicar por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. El controlador esclavo 106 está configurado para emitir una señal de control ODSR, SODSR, indicativa de los contenidos del registro ODSR 1020. La señal de control ODSR, SODSR, puede proporcionarse a un puerto de control de cada uno de los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. La señal de control ODSR, SODSR, puede formatearse de manera que, cuando es interpretada por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 tras la recepción en su puerto de control respectivo, la señal de control ODSR, SODSR, provocará que se aplique la intensidad deseada mediante los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. La intensidad deseada es un parámetro de diseño que puede hacerse tan grande o pequeño como sea necesario para satisfacer requisitos operativos. In this regard, in one example, the modified slave controller 106 may comprise an output excitation intensity register 1020 (hereinafter "ODSR"), into which the master device 102 may write. In a specific embodiment, the register ODSR 1020 contains a bit pattern that specifies a desired intensity to be applied by the variable current output drivers 1022-1, 1022-2, 1022-3, 1022-4. Slave controller 106 is configured to output an ODSR control signal, SODSR, indicative of the contents of the ODSR 1020 register. The ODSR control signal, SODSR, can be provided to a control port of each of the current output drivers. variable 1022-1, 1022-2, 1022-3, 1022-4. The ODSR control signal, SODSR, can be formatted so that, when interpreted by the variable current output drivers 1022-1, 1022-2, 1022-3, 1022-4 upon receipt at their respective control port, The ODSR control signal, SODSR, will cause the desired intensity to be applied by means of the variable current output drivers 1022-1, 1022-2, 1022-3, 1022-4. The desired intensity is a design parameter that can be made as large or small as necessary to meet operational requirements.

Por supuesto, debe apreciarse que la utilización de un esquema de sincronización diferencial o uniterminal no menoscaba la capacidad de conseguir sincronismo entre la señal de reloj de salida maestra STCK y la señal de reloj de entrada maestra SRCK mediante ordenar operaciones de escritura en el registro EA-FD 220 y posiblemente asimismo en el registro ODSR 1020. Of course, it should be noted that the use of a differential or uniterminal synchronization scheme does not impair the ability to achieve synchronism between the STCK master output clock signal and the SRCK master input clock signal by ordering write operations in the register EA -FD 220 and possibly also in the ODSR 1020 register.

En la siguiente tabla 2, se proporcionan diversos patrones de bits que pueden contenerse en el registro ODSR 1020, y el posible significado de cada uno de dichos patrones de bits en términos de la intensidad deseada a aplicar por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4: In the following table 2, various bit patterns are provided that can be contained in the ODSR register 1020, and the possible meaning of each of said bit patterns in terms of the desired intensity to be applied by the variable current output exciters 1022 -1, 1022-2, 1022-3, 1022-4:

Tabla 2 Table 2

Descripción Description
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Intensidad de excitación 1/4 1/4 excitation intensity
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Intensidad de excitación 1/2 1/2 excitation intensity
0 0 1 0 0 one

Intensidad de excitación 1X 1X excitation intensity
0 1 0 0 one 0

Intensidad de excitación 2X 2X excitation intensity
0 1 1 0 one one

Intensidad de excitación 4X 4X excitation intensity
1 0 0 one 0 0

Resetear a intensidad de excitación por defecto Reset to excitation intensity by default
1 0 0 0 0 0 0 0 one 0 0 0 0 0 0 0

Reservado Reserved
Todas las demás combinaciones All other combinations

Debe entenderse que la tabla 2 muestra definiciones de bits a modo de ejemplo con fines meramente ilustrativos. Los patrones de bits pueden ser modificados y/o expandidos fácilmente si se requiere una granularidad más fina o más gruesa para la intensidad deseada. It should be understood that Table 2 shows example bit definitions for illustrative purposes only. Bit patterns can be easily modified and / or expanded if a finer or thicker granularity is required for the desired intensity.

Se recuerda que el controlador esclavo 106 modificado escribe en el registro ODSR 1020 tras la recepción y el reconocimiento de un comando procedente del dispositivo maestro 102. Dicho comando puede formularse en base a mediciones de la salida del PFD 506 en el dispositivo maestro 102. Dicho comando, denominado en adelante un comando de "Escribir ODSR-FDU", puede señalizarse mediante controlar las señales que aparecen en los puertos SIP-j e IPE-j. Más específicamente, asumiendo que la señal en el puerto IPE-j se mantiene alta, un ejemplo de un comando "Escribir ODSR-FDU" puede tener el siguiente formato de 3 octetos: It is recalled that the modified slave controller 106 writes in the ODSR register 1020 upon receipt and recognition of a command from the master device 102. Said command can be formulated based on measurements of the output of the PFD 506 on the master device 102. Said command, hereinafter referred to as a "Write ODSR-FDU" command, can be signaled by controlling the signals that appear on the SIP-j and IPE-j ports. More specifically, assuming that the signal on the IPE-j port remains high, an example of a "Write ODSR-FDU" command can have the following 3 octet format:

Comando Command
1er octeto 2º octeto 3er octeto 1st octet 2nd octet 3rd octet

Escribir ODSR Write ODSR
"dirección de dispositivo" B2h DATA "device address" B2h DATA

En el formato de ejemplo anterior, el primer octeto ("dirección de dispositivo") identifica el dispositivo esclavo 104-j, bien en base individual o como parte de un grupo. Reconociendo su dirección propia (o una de sus direcciones propias) en la información recibida, el controlador esclavo 106 modificado esperará a recibir más octetos de un comando, y esperará a tener que responder al mismo. In the previous example format, the first octet ("device address") identifies the slave device 104-j, either individually or as part of a group. Recognizing its own address (or one of its own addresses) in the information received, the modified slave controller 106 will wait to receive more octets of a command, and will wait to have to respond to it.

En el formato de ejemplo anterior, el segundo octeto (B1h) es un "octeto adicional" del comando "Escribir ODSR", y representa un valor hexadecimal que indica que el comando es un comando "Escribir ODSR" y ningún otro comando. Esto sirve para ayudar a diferenciar este comando respecto de otros comandos (tales como los comandos "Escribir EA-FDU" y "Leer EA-FDU") para cuya respuesta está configurado el controlador esclavo 106 modificado. Por supuesto, el valor hexadecimal preciso del comando "Leer ODSR" es un parámetro de diseño y no tiene, en este ejemplo, ningún otro significado que el de servir a un propósito ilustrativo. In the previous example format, the second octet (B1h) is an "additional octet" of the "Write ODSR" command, and represents a hexadecimal value that indicates that the command is a "Write ODSR" command and no other command. This serves to help differentiate this command from other commands (such as the "Write EA-FDU" and "Read EA-FDU" commands) for whose response the modified slave controller 106 is configured. Of course, the precise hexadecimal value of the "Read ODSR" command is a design parameter and has, in this example, no other meaning than serving an illustrative purpose.

En el formato de ejemplo anterior, el tercer octeto (DATA) representa el patrón de bits a escribir en el registro ODSR 1020, que puede ser acorde con la tabla anterior. In the previous example format, the third octet (DATA) represents the pattern of bits to be written to the ODSR 1020 register, which may be in accordance with the previous table.

Supongamos ahora que el dispositivo esclavo 104-j tiene una dirección específica de "07h" y una dirección común de "FFh". Las figuras 11A y 11B muestran cada una un diagrama de temporización básico para el comando "Escribir ODSR". En el caso de la figura 11A, el comando "Escribir ODSR" está destinado específicamente al dispositivo esclavo 104-j (siendo la intensidad deseada a aplicar por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 la intensidad regular), mientras que en el caso de la figura 11B, el dispositivo esclavo 104-j es solamente uno de los varios posibles receptores previstos del comando "Escribir ODSR" (siendo la intensidad deseada a aplicar por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4, media intensidad). Suppose now that the slave device 104-j has a specific address of "07h" and a common address of "FFh". Figures 11A and 11B each show a basic timing diagram for the "Write ODSR" command. In the case of Figure 11A, the "Write ODSR" command is specifically intended for the slave device 104-j (the desired intensity being applied by the variable current output drivers 1022-1, 1022-2, 1022-3, 1022-4 the regular intensity), while in the case of figure 11B, the slave device 104-j is only one of several possible intended receivers of the "Write ODSR" command (the desired intensity to be applied by the exciters of variable intensity output 1022-1, 1022-2, 1022-3, 1022-4, medium intensity).

En estos diagramas de temporización, se muestra un esquema de sincronismo diferencial a modo de ejemplo no limitativo, utilizando un par de señales de reloj de entrada SRCK-j + SRCK-j#. Asimismo, se muestra un enfoque de velocidad de datos doble (DDR) a modo de ejemplo no limitativo. Además, la latencia de entrada a salida (o "latencia de flujo continuo", indicada como tIOL) corresponde a un (1) ciclo de reloj (o dos (2) ciclos DDR) en este ejemplo específico. Por supuesto, en otras implementaciones, puede utilizarse un esquema de sincronismo uniterminal, así como un tipo de velocidad de reloj y una anchura de puerto diferentes. In these timing diagrams, a differential synchronism scheme is shown as a non-limiting example, using a pair of SRCK-j + SRCK-j # input clock signals. Also, a dual data rate (DDR) approach is shown as a non-limiting example. In addition, the input to output latency (or "continuous flow latency", indicated as tIOL) corresponds to one (1) clock cycle (or two (2) DDR cycles) in this specific example. Of course, in other implementations, a uniterminal synchronism scheme can be used, as well as a different type of clock speed and port width.

Además, los expertos en la materia apreciarán que el controlador esclavo 106 modificado del dispositivo esclavo 104-j puede asimismo leer desde el registro ODSR 1020 tras la recepción y el reconocimiento de un comando "Leer ODSR" procedente del dispositivo maestro 102. Dicho comando puede ser útil en una implementación en la que el dispositivo maestro 102 desea conocer el valor actual del registro ODSR 1020 en dispositivos esclavos 104-0 ---7 específicos. In addition, those skilled in the art will appreciate that the modified slave controller 106 of the slave device 104-j can also read from the ODSR register 1020 upon receipt and recognition of a "Read ODSR" command from the master device 102. Said command can be useful in an implementation in which the master device 102 wishes to know the current value of the ODSR 1020 register on specific slave devices 104-0 --- 7.

El comando "Leer ODSR" puede señalizarse mediante controlar las señales que aparecen en los puertos SIP-j, IPE-j y OPE-j. Más específicamente, asumiendo que la señal en el puerto IPE-j se mantiene alta, un ejemplo de un comando "Leer ODSR-FDU" puede tener el siguiente formato de 2 octetos: The "Read ODSR" command can be signaled by controlling the signals that appear on the SIP-j, IPE-j and OPE-j ports. More specifically, assuming that the signal on the IPE-j port remains high, an example of a "Read ODSR-FDU" command can have the following 2 octet format:

Comando Command
1er octeto 2º octeto 1st octet 2nd octet

Leer ODSR Read ODSR
"dirección de dispositivo" B3h "device address" B3h

En el formato de ejemplo anterior, el primer octeto ("dirección del dispositivo") identifica el dispositivo esclavo 104-j mediante su dirección específica. Mediante reconocer su propia dirección en la información recibida, el controlador esclavo 106 modificado esperará recibir octetos adicionales de un comando, y esperará a responder al mismo. In the previous example format, the first octet ("device address") identifies the slave device 104-j by its specific address. By recognizing its own address in the information received, the modified slave controller 106 will expect to receive additional octets of a command, and will wait to respond to it.

En el formato de ejemplo anterior, el segundo octeto (B3h) es un "octeto adicional" del comando "Leer ODSR", y representa un valor hexadecimal que indica que el comando es un comando "Leer ODSR" y ningún otro comando. Esto sirve para ayudar a diferenciar este comando de otros comandos (tales como los comandos "Escribir EA-FDU" y "Leer EA-FDU" y "Escribir ODSR") para cuya respuesta está configurado el controlador esclavo 106 modificado. Por supuesto, el valor hexadecimal preciso del comando "Leer ODSR" es un parámetro de diseño y no tiene, en este ejemplo, ningún otro significado que el de servir a un propósito ilustrativo. In the previous example format, the second octet (B3h) is an "additional octet" of the "Read ODSR" command, and represents a hexadecimal value that indicates that the command is a "Read ODSR" command and no other command. This serves to help differentiate this command from other commands (such as the "Write EA-FDU" and "Read EA-FDU" and "Write ODSR" commands) for which the modified 106 slave controller is configured. Of course, the precise hexadecimal value of the "Read ODSR" command is a design parameter and has, in this example, no other meaning than serving an illustrative purpose.

Se asume a continuación del dispositivo esclavo 104-j tiene una dirección específica de "07h". La figura 12 muestra un diagrama de temporización básico para el comando "Leer ODSR". Debe observarse que la señal de habilitación del puerto de salida SOPE-j que aparece en el puerto OPE-j se pone en un nivel alto mediante el dispositivo maestro 102 para señalizar el periodo de tiempo durante el que se permite al controlador esclavo 106 modificado que transfiera, y se espera que lo haga, los contenidos del registro ODSR 1020 sobre el puerto SOP-j. It is assumed that the slave device 104-j has a specific address of "07h". Figure 12 shows a basic timing diagram for the "Read ODSR" command. It should be noted that the enable signal of the SOPE-j output port that appears on the OPE-j port is set at a high level by the master device 102 to signal the period of time during which the modified slave controller 106 is allowed to transfer, and are expected to do, the contents of the ODSR 1020 register on the SOP-j port.

En algunos casos, puede ajustarse tanto la frecuencia como la fase, mediante una sola señal de control proporcionada al sincronizador de reloj 110. Por ejemplo, haciendo referencia a la figura 13, se muestra una realización del dispositivo esclavo 104-j que comprende un sincronizador de reloj 1410 que implementa un bucle de enganche de fase ajustable externamente. A este respecto, el sincronizador de reloj 1410 comprende un detector de fase y de frecuencia (PFD) 1402, una bomba de carga 1404, un filtro de bucle y generador de polarización 1406, un oscilador controlado por tensión (VCO, voltage-controlled oscillator) 1408 y la unidad de retroalimentación de retardo ajustable externamente (EA-FDU) 206 descrita anteriormente. In some cases, both the frequency and the phase can be adjusted by a single control signal provided to the clock synchronizer 110. For example, referring to Figure 13, an embodiment of the slave device 104-j comprising a synchronizer is shown. clock 1410 that implements an externally adjustable phase hitch loop. In this regard, the clock synchronizer 1410 comprises a phase and frequency detector (PFD) 1402, a charge pump 1404, a loop filter and polarization generator 1406, a voltage controlled oscillator (VCO) voltage-controlled oscillator ) 1408 and the externally adjustable delay feedback unit (EA-FDU) 206 described above.

El PFD de 1402 es operativo para generar una señal de control de la bomba de carga SCP basada en dos señales recibidas en puertos de entrada respectivos. La primera señal es la señal de reloj de referencia SCLK_REF. La segunda señal es la señal de reloj de retroalimentación SCLK_FB que es entregada por la EA-FDU 206. El PFD 1402 proporciona la señal de control de la bomba de carga SCP mediante un puerto de salida. En una realización, la señal de control de la bomba de carga SCP puede ser indicativa de un aumento o reducción de tensión a aplicar por la bomba de carga 1404. The PFD of 1402 is operative to generate a control signal of the SCP charge pump based on two signals received at respective input ports. The first signal is the reference clock signal SCLK_REF. The second signal is the feedback clock signal SCLK_FB that is delivered by the EA-FDU 206. The PFD 1402 provides the control signal of the SCP load pump through an output port. In one embodiment, the control signal of the SCP charge pump may be indicative of a voltage increase or reduction to be applied by the charge pump 1404.

La bomba de carga 1404 tiene un puerto de entrada para recibir la señal de control de la bomba de carga SCP desde el PFD 1402. La bomba de carga 1404 produce una señal de control de tensión SV_CTRL basada en la señal de control de la bomba de carga SCP. La señal de control de tensión SV_CTRL se proporciona en un puerto de salida de la bomba de carga 1404 y es alimentada al filtro de bucle y generador de polarización 1406. The charge pump 1404 has an input port to receive the control signal of the SCP charge pump from the PFD 1402. The charge pump 1404 produces a voltage control signal SV_CTRL based on the control signal of the pump. SCP load The voltage control signal SV_CTRL is provided at an output port of the charge pump 1404 and is fed to the loop filter and polarization generator 1406.

El filtro de bucle y generador de polarización 1406 recibe la señal de control de tensión SV_CTRL procedente de la bomba de carga 1404 a través de un puerto de entrada. El filtro de bucle y generador de polarización 1406 produce dos señales de control de tensión SVBP (tensión de polarización PMOS) y SVBN (tensión de polarización NMOS) en base a la señal de control de tensión SV_CTRL. Las dos señales de control de tensión SVBP y SVBN se proporcionan en respectivos puertos de salida del filtro de bucle y generador de polarización 1406, y son alimentadas al VCO 1408. The loop filter and polarization generator 1406 receives the voltage control signal SV_CTRL from the charge pump 1404 through an input port. The loop filter and polarization generator 1406 produces two SVBP (PMOS polarization voltage) and SVBN (NMOS polarization voltage) control signals based on the SV_CTRL voltage control signal. The two SVBP and SVBN voltage control signals are provided at respective output ports of the loop filter and polarization generator 1406, and are fed to VCO 1408.

El VCO 1408 recibe las dos señales de control de tensión SVBP y SVBN procedentes del filtro de bucle y generador de polarización 1406 mediante puertos de entrada respectivos. El VCO 1408 produce la señal de reloj intermedia SCLK_INT en base a las dos señales de control de tensión SVBP y SVBN. La señal de reloj intermedia SCLK_INT se proporciona en un puerto de salida del VCO 1408 y es alimentada al puerto de entrada de la EA-FDU 206. Para más detalles relativos al funcionamiento del VCO 1408, se puede consultar el documento "Low-Jitter Process-Independent DLL and PLL Based on Self-Biased Techniques", de John G. Mancatis, IEEE Journal of Solid-State Circuits, volumen 31, número 11, pagina 1723, noviembre de 1996 The VCO 1408 receives the two SVBP and SVBN voltage control signals from the loop filter and polarization generator 1406 through respective input ports. The VCO 1408 produces the intermediate clock signal SCLK_INT based on the two SVBP and SVBN voltage control signals. The intermediate clock signal SCLK_INT is provided at an output port of the VCO 1408 and is fed to the input port of the EA-FDU 206. For more details regarding the operation of the VCO 1408, you can consult the document "Low-Jitter Process -Independent DLL and PLL Based on Self-Biased Techniques ", by John G. Mancatis, IEEE Journal of Solid-State Circuits, volume 31, number 11, page 1723, November 1996

Se recuerda que la EA-FDU 206 comprende un puerto de control para recibir la señal de control SCTRL procedente del controlador esclavo 106 modificado. La EA-FDU 206 es operativa para generar la señal de reloj de retroalimentación SCLK_FB mediante aplicar un retardo a la señal de reloj de salida intermedia SCLK_INT, siendo dicho retardo una función de la señal de control SCTRL. Como antes, el valor actual del retardo que se está aplicando mediante la EA-FDU 206 es un ejemplo de un parámetro que puede ser controlado por el controlador esclavo 106 modificado. It is recalled that the EA-FDU 206 comprises a control port to receive the SCTRL control signal from the modified slave controller 106. The EA-FDU 206 is operative to generate the feedback clock signal SCLK_FB by applying a delay to the intermediate output clock signal SCLK_INT, said delay being a function of the SCTRL control signal. As before, the current value of the delay being applied by EA-FDU 206 is an example of a parameter that can be controlled by the modified slave controller 106.

En funcionamiento, el PFD 1402 detecta una diferencia de fase entre la señal de reloj de retroalimentación SCLK_FB y la señal de reloj de referencia SCLK_REF, y entrega la señal de control de la bomba de carga SCP basada en la diferencia de fase detectada. Por lo tanto, la salida del PFD 1402 será cero cuando la fase de la señal de reloj de retroalimentación SCLK_FB corresponda a la fase de la señal de reloj de referencia SCLK_REF. En este momento, el sincronizador de reloj 1410 ha alcanzado un estado de "bloqueo de fase". En dicho estado, se observará que la señal de reloj de retroalimentación SCLK_FB será una versión retardada de la señal de reloj intermedia SCLK_INT. En otras palabras, la señal de reloj intermedia SCLK_INT es una versión anterior de la señal de reloj de retroalimentación SCLK_FB, que tendrá la misma fase que la señal de reloj de referencia SCLK_REF durante un estado de bloqueo de fase. In operation, the PFD 1402 detects a phase difference between the feedback clock signal SCLK_FB and the reference clock signal SCLK_REF, and delivers the control signal of the SCP load pump based on the phase difference detected. Therefore, the output of the PFD 1402 will be zero when the phase of the feedback clock signal SCLK_FB corresponds to the phase of the reference clock signal SCLK_REF. At this time, the clock synchronizer 1410 has reached a "phase lock" state. In that state, it will be noted that the feedback clock signal SCLK_FB will be a delayed version of the intermediate clock signal SCLK_INT. In other words, the intermediate clock signal SCLK_INT is an earlier version of the feedback clock signal SCLK_FB, which will have the same phase as the reference clock signal SCLK_REF during a phase-locked state.

Debe entenderse que en realizaciones alternativas de la presente invención, son posibles otras implementaciones de bucle de enganche de fase junto con la EA-FDU 206. It should be understood that in alternative embodiments of the present invention, other phase-locked loop implementations are possible in conjunction with EA-FDU 206.

En algunos casos, es posible que la señal de reloj de salida maestra STCK y la señal de reloj de entrada maestra SRCK no sólo estén desfasadas, sino que tengan asimismo una diferencia de frecuencia entre sí. En otras palabras, la salida del PFD 506 obtenida en la etapa 620 indica que existe una diferencia de frecuencia (indicada como Lf) además, o el lugar de, la diferencia de fase Lp. Para contemplar esta posibilidad, y continuando haciendo referencia a la figura 13, está dentro del alcance de la presente invención para el sincronizador de reloj 110, que éste In some cases, it is possible that the STCK master output clock signal and the SRCK master input clock signal are not only outdated, but also have a frequency difference from each other. In other words, the output of the PFD 506 obtained in step 620 indicates that there is a frequency difference (indicated as Lf) in addition, or the place of, the phase difference Lp. To contemplate this possibility, and continuing to refer to Figure 13, it is within the scope of the present invention for the clock synchronizer 110, that this

comprenda una unidad de frecuencia de retroalimentación ajustable externamente (indicada EA-FFU) 1306 además, comprise an externally adjustable feedback frequency unit (indicated EA-FFU) 1306 in addition,

o en lugar de la EA-FDU 206. or instead of EA-FDU 206.

La EA-FFU 1306, que es opcional, puede implementarse en forma de un convertidor de frecuencia variable (por ejemplo, multiplicador o divisor) u otro circuito conocido por los expertos en la materia. La EA-FFU 1306 tiene un puerto de entrada para recibir la señal de reloj intermedia SCLK_INT, y un puerto de salida para suministrar otra señal de reloj intermedia SCLK_INT2 para su procesamiento mediante la EA-FDU 206 (si es que la EA-FDU 206 está presente). La EA-FFU 1306 comprende asimismo un puerto de control para recibir una señal de control de frecuencia SFREQ desde el controlador esclavo 106. La EA-FFU 1306 es operativa para generar la señal de reloj intermedia SCLK_INT2 mediante aplicar un desplazamiento de frecuencia a la señal de reloj de salida intermedia SCLK_INT, siendo dicho desplazamiento de frecuencia función de la señal de control de frecuencia SFREQ. El desplazamiento de frecuencia aplicado por la EA-FFU 1306 es otro ejemplo de un parámetro que puede ser controlado por el controlador esclavo 106. The EA-FFU 1306, which is optional, can be implemented in the form of a variable frequency converter (e.g., multiplier or splitter) or another circuit known to those skilled in the art. The EA-FFU 1306 has an input port to receive the intermediate clock signal SCLK_INT, and an output port to supply another intermediate clock signal SCLK_INT2 for processing by EA-FDU 206 (if EA-FDU 206 is present). The EA-FFU 1306 also comprises a control port for receiving an SFREQ frequency control signal from the slave controller 106. The EA-FFU 1306 is operative to generate the intermediate clock signal SCLK_INT2 by applying a frequency offset to the signal. of the intermediate output clock SCLK_INT, said frequency offset being a function of the frequency control signal SFREQ. The frequency offset applied by the EA-FFU 1306 is another example of a parameter that can be controlled by the slave controller 106.

Debe entenderse que el orden de interconexión entre la EA-FDU 206 y la EA-FFU 1306 puede invertirse (si es que la EA-FDU 206 está presente). It should be understood that the order of interconnection between EA-FDU 206 and EA-FFU 1306 can be reversed (if EA-FDU 206 is present).

Los expertos en la materia deberán apreciar que las realizaciones de la presente invención pueden utilizarse junto con otras innovaciones relativas a mejoras de dispositivos semiconductores interconectados en serie. Pueden encontrarse ejemplos de dichas otras innovaciones en algunas otras solicitudes de patente, de las que un conjunto incluye: Those skilled in the art should appreciate that the embodiments of the present invention can be used in conjunction with other innovations related to improvements of semiconductor devices interconnected in series. Examples of such other innovations can be found in some other patent applications, of which a set includes:

--
Número de serie 60/722 368, presentada el 30 de septiembre de 2005; Serial number 60/722 368, filed September 30, 2005;

--
Número de serie 11/324 023, presentada el 30 de septiembre de 2005; Serial number 11/324 023, filed September 30, 2005;

--
Número de serie 11/496 278, presentada el 31 de julio de 2006; Serial number 11/496 278, filed July 31, 2006;

--
Número de serie 11/521 734, presentada el 15 de septiembre de 2006; Serial number 11/521 734, filed September 15, 2006;

--
Número de serie 11/606 407, presentada el 29 de noviembre de 2006; Serial number 11/606 407, filed on November 29, 2006;

--
Número de serie 11/771 023, presentada el 29 de junio de 2007; y Serial number 11/771 023, filed June 29, 2007; Y

--
Número de serie 11/771 241, presentada el 29 de junio de 2007. Serial number 11/771 241, filed June 29, 2007.

Si bien las realizaciones anteriores han sido descritas con el comando "Escribir EA-FDU" conteniendo un patrón de bits que especifica un ajuste de retardo deseado con respecto al valor actual del retardo que está siendo aplicado por la EA-FDU 206, esto no debe interpretarse como una limitación de la presente invención. Por ejemplo, en una realización alternativa, el comando "Escribir EA-FDU" puede contener un patrón de bits que especifica un valor real deseado del retardo a aplicar por la EA-FDU 206. En muchos casos, deberá tenerse cuidado para asegurar que el formato del comando "Escribir EA-FDU" proporciona un intervalo dinámico suficiente. Además, debido a que en esta realización alternativa el registro EA-FD 220 especifica un retardo deseado y no un ajuste deseado del retardo, el controlador esclavo 106 no tiene que preocuparse de borrar el registro EA-FD 220 inmediatamente después de leerlo, o de leer el registro EA-FD 220 solamente una vez después de que ha sido escrito por el dispositivo maestro Although the above embodiments have been described with the "Write EA-FDU" command containing a bit pattern that specifies a desired delay setting with respect to the current delay value that is being applied by EA-FDU 206, this should not interpreted as a limitation of the present invention. For example, in an alternative embodiment, the "Write EA-FDU" command may contain a bit pattern that specifies a desired real value of the delay to be applied by EA-FDU 206. In many cases, care should be taken to ensure that the "Write EA-FDU" command format provides a sufficient dynamic range. In addition, because in this alternative embodiment the EA-FD 220 register specifies a desired delay and not a desired delay setting, the slave controller 106 does not have to worry about deleting the EA-FD 220 register immediately after reading it, or read the EA-FD 220 record only once after it has been written by the master device

102. 102

Asimismo, aunque las realizaciones anteriores han descrito el comando "Escribir ODSR" como conteniendo un patrón de bits que especifica una intensidad deseada a aplicar por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4, esto no debe interpretarse como una limitación de la presente invención. Por ejemplo, en una realización alternativa, el comando "Escribir ODSR" puede contener un patrón de bits que especifica un ajuste deseado para la intensidad actual que está siendo aplicada por los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. En muchos casos, el controlador esclavo 106 modificado podría diseñarse para borrar el registro ODSR 1020 inmediatamente después de leerlo, o para leer el registro ODSR 1020 solamente una vez después de que ha sido escrito por el dispositivo maestro 102. Also, although the above embodiments have described the "Write ODSR" command as containing a bit pattern that specifies a desired intensity to be applied by the variable current output drivers 1022-1, 1022-2, 1022-3, 1022-4 , this should not be construed as a limitation of the present invention. For example, in an alternative embodiment, the "Write ODSR" command may contain a bit pattern that specifies a desired setting for the current intensity that is being applied by the variable current output drivers 1022-1, 1022-2, 1022 -3, 1022-4. In many cases, the modified slave controller 106 could be designed to erase the ODSR register 1020 immediately after reading it, or to read the ODSR register 1020 only once after it has been written by the master device 102.

Además, aunque las realizaciones anteriores han descrito el comando "Escribir ODSR" como conteniendo un patrón de bits que especifica una intensidad deseada a aplicar mediante todos los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4 en un dispositivo esclavo objetivo dado, esto no debe interpretarse como una limitación de la presente invención. Por ejemplo, en una realización alternativa, pueden existir múltiples registros ODSR, uno para cada uno de los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. Por consiguiente, pueden generarse múltiples comandos de "Escribir ODSR", que contienen cada uno un patrón de bits que especifica un ajuste deseado para la intensidad actual que está siendo aplicada por uno específico de los excitadores de salida de intensidad variable 1022-1, 1022-2, 1022-3, 1022-4. In addition, although the above embodiments have described the "Write ODSR" command as containing a bit pattern that specifies a desired intensity to be applied by all variable current output drivers 1022-1, 1022-2, 1022-3, 1022- 4 in a given objective slave device, this should not be construed as a limitation of the present invention. For example, in an alternative embodiment, there may be multiple ODSR registers, one for each of the variable intensity output drivers 1022-1, 1022-2, 1022-3, 1022-4. Accordingly, multiple "Write ODSR" commands can be generated, each containing a bit pattern that specifies a desired setting for the current intensity that is being applied by a specific one of the variable intensity output drivers 1022-1, 1022 -2, 1022-3, 1022-4.

Asimismo, aunque las realizaciones anteriores han descrito el tipo de respuesta de reloj de los dispositivos esclavos 104-0 --- 7 como siendo síncrona con la fuente alineada en los flancos, esto no debe interpretarse como una limitación de la presente invención. En una realización alternativa, el tipo de respuesta de reloj puede ser síncrona con la fuente alineada en el centro. Se contemplan otras posibilidades como estando dentro del alcance de la presente invención. Also, although the above embodiments have described the type of clock response of slave devices 104-0 --- 7 as being synchronous with the source aligned on the flanks, this should not be construed as a limitation of the present invention. In an alternative embodiment, the type of clock response can be synchronous with the source aligned in the center. Other possibilities are contemplated as being within the scope of the present invention.

Además, aunque las realizaciones anteriores han descrito el tipo de velocidad de reloj de los dispositivos esclavos 104-0 --- 7 como siendo velocidad de datos simple (SDR) o velocidad de datos doble (DDR), esto no debe interpretarse como una limitación de la presente invención. Por ejemplo, el tipo de velocidad de reloj de los dispositivos esclavos 104-0 --- 7 puede ser velocidad de datos cuádruple (QDR, quad data rate), velocidad de datos octal (ODR, octal data rate) o velocidad de datos doble para gráficos (GDDR, graphics double data rate), para nombrar unas pocas posibilidades no limitativas. In addition, although the above embodiments have described the type of clock speed of slave devices 104-0 --- 7 as being simple data rate (SDR) or double data rate (DDR), this should not be construed as a limitation of the present invention. For example, the type of clock speed of slave devices 104-0 --- 7 can be quad data rate (QDR), octal data rate (ODR) or double data rate for graphics (GDDR), to name a few non-limiting possibilities.

Asimismo, aunque los componentes y circuitos de los diversos dispositivos del sistema 502 han sido descritos como siendo sensibles a las señales "activas en alta", esto no debe interpretarse como una limitación de la presente invención. Por ejemplo, los componentes de los circuitos de los diversos dispositivos del sistema 502 pueden ser sensibles a señales "activas en baja", dependiendo de las preferencias de diseño. Also, although the components and circuits of the various devices of the 502 system have been described as being sensitive to "active high" signals, this should not be construed as a limitation of the present invention. For example, the circuit components of the various devices of the system 502 may be sensitive to "active low" signals, depending on the design preferences.

Además, cuando los componentes y los circuitos de los diversos dispositivos del sistema 502 han sido mostrados como estando conectados directamente entre sí, deberá apreciarse que esto se ha realizado para mayor simplicidad y que otros componentes y circuitos pueden situarse entre, o acoplarse a los mismos. Como resultado, las que en los dibujos parecen conexiones directas pueden implementarse, de hecho, como conexiones indirectas en una realización real. Furthermore, when the components and circuits of the various devices of the 502 system have been shown as being directly connected to each other, it should be appreciated that this has been done for simplicity and that other components and circuits can be placed between, or coupled to, the same. . As a result, those in the drawings look like direct connections can, in fact, be implemented as indirect connections in a real embodiment.

Adicionalmente, deberá apreciarse que en algunas realizaciones, puede utilizarse un esquema de sincronismo diferencial, mientras que en otras realizaciones puede utilizarse un esquema de sincronismo uniterminal. Additionally, it should be appreciated that in some embodiments, a differential synchronism scheme may be used, while in other embodiments a uniterminal synchronism scheme may be used.

Además, aunque muchas de las señales que viajan entre dispositivos esclavos y otros dispositivos esclavos, o entre los dispositivos esclavos y el dispositivo maestro, han sido descritas y mostradas como teniendo una anchura de un solo bit, será competencia de un técnico cualificado modificar los diversos componentes del sistema 502 y sus interfaces para permitir señales de anchura de múltiples bits. Asimismo, está dentro del alcance de la presente invención proporcionar múltiples conjuntos de señales que tengan, cada uno, una anchura de un solo bit. De este modo, por ejemplo, cuando se desea un reloj de dos bits de anchura, esta característica se puede implementar utilizando múltiples señales secundarias de reloj de anchura de un solo bit, o utilizando una sola señal de reloj que tiene dos bits de anchura. Para una señal que requiere una anchura de bits mayor, puede utilizarse una combinación de señales secundarias, cada una con una anchura de bits particular. In addition, although many of the signals that travel between slave devices and other slave devices, or between slave devices and the master device, have been described and displayed as having a single bit width, it will be the responsibility of a qualified technician to modify the various 502 system components and their interfaces to allow multi-bit width signals. Likewise, it is within the scope of the present invention to provide multiple sets of signals each having a single bit width. Thus, for example, when a two-bit wide clock is desired, this feature can be implemented using multiple secondary clock signals of single-bit width, or using a single clock signal that is two bits wide. For a signal that requires a larger bit width, a combination of secondary signals can be used, each with a particular bit width.

Deberá resultar evidente para los expertos en la materia que las operaciones y funciones de algunos de los controladores, procesadores y otros elementos descritos anteriormente pueden conseguirse mediante equipamiento físico o soporte lógico. It should be apparent to those skilled in the art that the operations and functions of some of the controllers, processors and other elements described above can be achieved by physical equipment or software.

Si bien han sido descritas y mostradas realizaciones específicas de la presente invención, resultará evidente para los expertos en la materia que pueden realizarse numerosas modificaciones y variaciones sin apartarse del alcance de la invención, que se define en las reivindicaciones adjuntas. While specific embodiments of the present invention have been described and shown, it will be apparent to those skilled in the art that numerous modifications and variations can be made without departing from the scope of the invention, which is defined in the appended claims.

Claims (10)

REIVINDICACIONES 1. Un aparato (502), que comprende: 1. An apparatus (502), comprising:
--
un controlador del sistema (102); y  a system controller (102); Y
--
una configuración de dispositivos semiconductores conectados en serie (104-0, 104-1, ... , 104-7);  a configuration of semiconductor devices connected in series (104-0, 104-1, ..., 104-7);
--
estando adaptado el controlador del sistema (102) para comunicar con dicha configuración, comprendiendo el controlador del sistema:  the system controller (102) being adapted to communicate with said configuration, the system controller comprising:
--
una salida configurada para proporcionar una primera señal de reloj a un primer dispositivo (104-0) en la configuración;  an output configured to provide a first clock signal to a first device (104-0) in the configuration;
--
una entrada configurada para recibir una segunda señal de reloj procedente de un último dispositivo (104-7) en la configuración, correspondiendo la segunda señal de reloj a una versión de la primera señal de reloj que ha sido sometida a procesamiento mediante el sincronizador de reloj (110), por lo menos, en uno de los dispositivos (104-0, 104-1, ..., 104-7) en la configuración;  an input configured to receive a second clock signal from a last device (104-7) in the configuration, the second clock signal corresponding to a version of the first clock signal that has been processed by the clock synchronizer (110), at least, in one of the devices (104-0, 104-1, ..., 104-7) in the configuration;
--
un detector para procesar la primera y la segunda señales de reloj a efectos de detectar una diferencia de fase entre ambas; y  a detector to process the first and second clock signals in order to detect a phase difference between the two; Y
--
un controlador (106) configurado para ordenar un ajuste al sincronizador de reloj, por lo menos en uno de dichos dispositivos en la configuración, en base a la diferencia de fase detectada por el detector.  a controller (106) configured to order an adjustment to the clock synchronizer, at least in one of said devices in the configuration, based on the phase difference detected by the detector.
2.2.
El aparato (502) según la reivindicación 1, en el que para ordenar el ajuste, el controlador está configurado para emitir un comando para efectuar un ajuste a un retardo que está siendo aplicado mediante un trayecto de retroalimentación en el sincronizador de reloj, en dicho por lo menos uno de dichos dispositivos de la configuración.  The apparatus (502) according to claim 1, wherein in order to order the adjustment, the controller is configured to issue a command to effect an adjustment to a delay that is being applied by a feedback path in the clock synchronizer, in said at least one of said configuration devices.
3.3.
El aparato (502) según la reivindicación 2, en el que dicho ajuste es un aumento incremental o una reducción incremental basados en la diferencia de fase.  The apparatus (502) according to claim 2, wherein said adjustment is an incremental increase or an incremental reduction based on the phase difference.
4.Four.
El aparato (502) según la reivindicación 2 o la reivindicación 3, en el que cuando el comando es emitido a una serie de los dispositivos de la configuración, el ajuste de es distribuido de manera sustancialmente uniforme en la totalidad de dicha pluralidad de los dispositivos de la configuración.  The apparatus (502) according to claim 2 or claim 3, wherein when the command is issued to a series of the configuration devices, the setting of is distributed substantially uniformly throughout the said plurality of the devices. of the configuration.
5.5.
El aparato (502) según la reivindicación 2 o la reivindicación 3, en el que el controlador está configurado para determinar si la magnitud de la diferencia de fase excede un valor umbral y, en caso afirmativo, para emitir el comando a un subconjunto de los dispositivos de la configuración, siendo el número de dispositivos de dicho subconjunto una función de la magnitud de la diferencia de fase.  The apparatus (502) according to claim 2 or claim 3, wherein the controller is configured to determine if the magnitude of the phase difference exceeds a threshold value and, if so, to issue the command to a subset of the configuration devices, the number of devices of said subset being a function of the magnitude of the phase difference.
6.6.
El aparato (502) según la reivindicación 5, en el que si la magnitud de la diferencia de fase no excede el valor umbral pero excede un segundo valor umbral, el controlador está configurado para emitir un primer comando a uno de los dispositivos de la configuración, y emitir a continuación un segundo comando a un nuevo subconjunto de dispositivos en la configuración, siendo el número de dispositivos de dicho nuevo subconjunto una función de la magnitud de una nueva lectura de la diferencia de fase obtenida del detector.  The apparatus (502) according to claim 5, wherein if the magnitude of the phase difference does not exceed the threshold value but exceeds a second threshold value, the controller is configured to issue a first command to one of the configuration devices , and then issue a second command to a new subset of devices in the configuration, the number of devices of said new subset being a function of the magnitude of a new reading of the phase difference obtained from the detector.
7.7.
El aparato (502) según la reivindicación 2 o la reivindicación 3, en el que el controlador está configurado para determinar si la magnitud de la diferencia de fase excede un valor umbral y, en caso afirmativo, emitir el comando a todos los dispositivos de la configuración.  The apparatus (502) according to claim 2 or claim 3, wherein the controller is configured to determine whether the magnitude of the phase difference exceeds a threshold value and, if so, to issue the command to all devices of the setting.
8.8.
El aparato (502) según la reivindicación 7, en el que el controlador está configurado para emitir secuencialmente el comando a todos los dispositivos de la configuración.  The apparatus (502) according to claim 7, wherein the controller is configured to sequentially issue the command to all devices in the configuration.
9.9.
El aparato (502) según la reivindicación 7, en el que el controlador está configurado para difundir el comando a todos los dispositivos de la configuración.  The apparatus (502) according to claim 7, wherein the controller is configured to broadcast the command to all the devices in the configuration.
10.10.
Un método para hacer funcionar el aparato (502) según las reivindicaciones 1 a 9, que comprende:  A method for operating the apparatus (502) according to claims 1 to 9, comprising:
--
proporcionar una primera señal de reloj a un primer dispositivo (104-0) en una configuración de dispositivos semiconductores conectados en serie (104-0, 104-1, ..., 104-7);  providing a first clock signal to a first device (104-0) in a configuration of semiconductor devices connected in series (104-0, 104-1, ..., 104-7);
--
recibir una segunda señal de reloj desde el último dispositivo (104-7) de la configuración, correspondiendo la segunda señal de reloj a una versión de la primera señal de reloj que ha sido sometida a procesamiento mediante el sincronizador de reloj (110), por lo menos en uno de los dispositivos de la configuración;  receiving a second clock signal from the last device (104-7) of the configuration, the second clock signal corresponding to a version of the first clock signal that has been processed by the clock synchronizer (110), by at least one of the configuration devices;
--
procesar la primera y la segunda señales de reloj para detectar una diferencia de fase entre ambas; y  process the first and second clock signals to detect a phase difference between the two; Y
--
emitir un comando para ajustar el sincronizador de reloj, por lo menos, en uno de dichos dispositivos de la configuración, en base a la diferencia de fase.  issue a command to adjust the clock synchronizer, at least, in one of said configuration devices, based on the phase difference.
ES11009644T 2007-03-12 2008-02-05 Methods and apparatus for clock signal synchronization in a configuration of semiconductor devices connected in series Active ES2441951T3 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42460707A 2007-03-12 2007-03-12
US89424607P 2007-03-12
US11/959,996 US7865756B2 (en) 2007-03-12 2007-12-19 Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices
US959996 2007-12-19

Publications (1)

Publication Number Publication Date
ES2441951T3 true ES2441951T3 (en) 2014-02-07

Family

ID=50030786

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11009644T Active ES2441951T3 (en) 2007-03-12 2008-02-05 Methods and apparatus for clock signal synchronization in a configuration of semiconductor devices connected in series

Country Status (1)

Country Link
ES (1) ES2441951T3 (en)

Similar Documents

Publication Publication Date Title
EP2428960B1 (en) Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices
US11741042B2 (en) Scalable 2.5D interface circuitry
KR101110469B1 (en) Integrated circuit with bi-modal data strobe
US8161313B2 (en) Serial-connected memory system with duty cycle correction
US8181056B2 (en) Serial-connected memory system with output delay adjustment
US10606512B2 (en) On-die termination architecture
KR20100075860A (en) Daisy-chain memory configuration and usage
US10699757B2 (en) DQS-offset and read-RTT-disable edge control
US20110187427A1 (en) Latency control circuit and semiconductor memory device including the same
JP6434161B2 (en) Calibration of control device received from source synchronous interface
JP5599852B2 (en) Serially connected memory system with output delay adjustment
JP2012008881A (en) Memory system and its control method
US10559336B2 (en) Storage device including multi data rate memory device and memory controller
JP5197080B2 (en) Semiconductor device and data processor
ES2441951T3 (en) Methods and apparatus for clock signal synchronization in a configuration of semiconductor devices connected in series
TW201218638A (en) Delay locked loop and integrated circuit including the same
Handbook RLDRAM II.