MX2007005484A - Calibracion de memoria adaptiva utilizando depositos. - Google Patents

Calibracion de memoria adaptiva utilizando depositos.

Info

Publication number
MX2007005484A
MX2007005484A MX2007005484A MX2007005484A MX2007005484A MX 2007005484 A MX2007005484 A MX 2007005484A MX 2007005484 A MX2007005484 A MX 2007005484A MX 2007005484 A MX2007005484 A MX 2007005484A MX 2007005484 A MX2007005484 A MX 2007005484A
Authority
MX
Mexico
Prior art keywords
delay
integrated circuit
clock
external clock
range
Prior art date
Application number
MX2007005484A
Other languages
English (en)
Inventor
Jagrut Viliskumar Patel
Gregory Bullard
Sanat Kapoor
Original Assignee
Qualcomm 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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of MX2007005484A publication Critical patent/MX2007005484A/es

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31937Timing aspects, e.g. measuring propagation delay
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Read Only Memory (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un dispositivo electronico comprende un componente electronico y un circuito integrado, en donde el circuito integrado esta configurado para generar un reloj de sistema y un reloj externo que tiene un retraso programable a partir del reloj del sistema, proveer el reloj externo al componente electronico, determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electronico pueden establecer comunicacion, y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso.

Description

CALIBRACIÓN DE MEMORIA ADAPTIVA UTILIZANDO DEPÓSITOS CAMPO DE LA INVENCIÓN La presente descripción se refiere a sistemas y técnicas para calibrar un circuito integrado a un componente electrónico.
ANTECEDENTES DE LA INVENCIÓN Los circuitos integrados han revolucionado la industria de la electrónica al habilitar nuevas aplicaciones que no eran posibles con dispositivos discretos. La integración permite que los circuitos complejos que constan de millones de componentes electrónicos sean empaquetados en un chip sencillo de material semiconductor. Además, la integración ofrece las ventajas de fabricar cientos de chips en una pastilla de silicio sencilla, el cual reduce tremendamente el costo y aumenta la confiabilidad de cada uno de los circuitos terminados. Los circuitos integrados son ampliamente utilizados hoy en día en dispositivos electrónicos para ejecutar circuitería sofisticada tal como procesadores de aplicación específica y propósito general. Un controlador integrado en el chip se puede utilizar para conectar en interfaz varios procesadores con componentes fuera de chip, tal como una memoria externa, y similares. Los relojes generados por el controlador se pueden utilizar para tener acceso a estos componentes fuera de chip. Estos relojes deberían operar a una velocidad nominal específica, dentro de una cierta tolerancia permitida, para asegurar que el controlador pueda establecer comunicación con los componentes fuera de chip bajo las peores condiciones de voltaje y temperatura. Debido a los procesos inherentes en el proceso de fabricación de la pastilla de silicio, un conjunto de chips generados a partir de una pastilla sencilla puede caer en un rango de diferentes clasificaciones de velocidad del proceso. Dependiendo de la aplicación, algunos fabricantes se ven forzados a, desechar chips lentos y chips rápidos que están fuera del rango de tolerancia nominal. Esto conduce a grandes cantidades de desecho, lo cual puede resultar muy costoso. En un intento por preservar esas porciones de la pastilla que no producen chips nominales, algunos fabricantes emplean un método de colocación en estante a velocidad, en donde los diversos chips producidos a partir de una pastilla sencilla son probados y colocados en lotes de acuerdo con su velocidad de proceso graduada. Este método de colocar en lotes los chips de acuerdo con su velocidad consume tiempo y resulta costosa. Se incurre en un costo adicional como resultado de la venta de chips lentos y chips rápidos a precios reducidos. Los retrasos se utilizan para ejecutar la temporización necesaria para asegurar la comunicación libre de error entre el circuito integrado y el componente externo que constituye un dispositivo electrónico. Son una función de muchos factores, incluyendo la velocidad y voltaje del circuito integrado y la velocidad del componente externo. Estos retrasos se pueden determinar, por ejemplo, utilizando un proceso de calibración que prueba dichas comunicaciones y después deriva retrasos de los resultados de prueba. Variaciones en dichos parámetros a través de muchos circuitos integrados y componentes externos pueden resultar en un retraso predeterminado que no es óptimo para un dispositivo electrónico determinado. Sin embargo, no es práctico saber de antemano la velocidad real y el voltaje de cada circuito integrado o la velocidad del componente externo. Por lo tanto, máximo, los fabricantes de chips han tenido que establecer un retraso de programa que funcionará sin error a través de rangos anticipados de dichos parámetros, incluso cuando dichos retrasos predeterminados no serían óptimos para muchos dispositivos electrónicos.
SUMARIO DE LA INVENCIÓN En un " aspecto de la invención, un dispositivo electrónico comprende un componente electrónico y un circuito integrado configurado para generar un reloj de sistema y un reloj externo que tiene un retraso programable del reloj del sistema, el circuito integrado además está configurado para proveer el reloj externo al componente electrónico, determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar, y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. En otro aspecto de la invención, un método para calibrar un circuito integrado a un componente electrónico, el circuito integrado que tiene un reloj de sistema, comprende generar un reloj externo en el circuito integrado, el reloj externo tiene un retraso programable desde el reloj del sistema, el método además comprende proveer un reloj externo desde el circuito integrado al componente electrónico para soportar comunicaciones con el mismo, determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar, y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. En otro aspecto todavía de la invención, un dispositivo electrónico comprende un componente electrónico y un circuito integrado, en donde el circuito integrado incluye medios para generar un reloj de sistema, que comprende medios para generar un reloj externo en el circuito integrado, el reloj externo tiene un retraso programable desde el reloj del sistema, medios para proveer un reloj externo desde el circuito integrado al componente electrónico para soportar comunicaciones con el mismo, medios para determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar, y medios para programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. En otro aspecto todavía de la invención, un medio legible por computadora incorpora un programa de instrucciones ejecutables por un procesador para realizar un método de calibrar un circuito integrado a un componente electrónico, el circuito integrado incluye un reloj de sistema y un reloj externo que tiene un retraso programable desde el reloj del sistema, el reloj externo es provisto al componente electrónico para soportar comunicaciones con el mismo, el método comprende determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar, y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. Se entenderá que otras modalidades de la presente invención serán fácilmente aparentes para aquellos expertos en la técnica a partir de la siguiente descripción detallada, en donde varias modalidades de la invención se muestran y describen a manera de ilustración. Como se observará, la invención tiene la capacidad para otras modalidades diferentes y sus diversos detalles tienen la capacidad para modificación en varios aspectos, todo sin apartarse del espíritu y alcance de la presente invención. Por consiguiente,- las figuras y descripción detallada se observarán como ilustrativas en naturaleza y no como restrictivas .
BREVE DESCRIPCIÓN DE LAS FIGURAS Aspectos de la presente invención se ilustran a manera de ejemplo, y no a manera de limitación, en las figuras anexas en donde: La figura 1 es un diagrama en bloques conceptual que ilustra un ejemplo de un dispositivo electrónico que emplea un circuito integrado; La figura 2 es un diagrama de temporización que ilustra un ejemplo de parámetros de temporización para escribir en memoria fuera de chip; La figura 3 es un diagrama de temporización que ilustra un ejemplo de parámetros de temporización para leer de la memoria fuera de chip; La fígµra. 4 es un diagrama en bloques funcional que ilustra un ejemplo de la operación de un controlador; La figura 5A y la figura 5B son gráficas de barras que muestran los rangos de retraso representativos para un circuito integrado a diferentes voltajes y velocidades; La figura 5C es una gráfica de barras que muestra un rango de retraso dividido en depósitos, de acuerdo con la presente invención; La figura 6 es un diagrama de flujo que ilustra un ejemplo de un algoritmo de calibración que puede servir como un precursor para el algoritmo de calibración adaptiva de la figura 7; y La figura 7 es un diagrama de flujo que ilustra un ejemplo de un algoritmo de calibración adaptiva, de acuerdo con la presente invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La descripción detallada a continuación en relación con las figuras anexas se pretende como una descripción de varias modalidades de la presente invención y no pretende representar las únicas modalidades en las cuales se puede practicar la presente invención. La descripción detallada incluye detalles específicos con el fin de proveer n completo entendimiento de la presente invención. Sin embargo, resultará aparente para aquellos expertos en la técnica que la presente invención se puede practicar sin estos detalles específicos. En algunos casos, estructuras bien conocidas y dispositivos se muestran en forma de diagrama en bloques para evitar oscurecer los conceptos de la presente invención. Acrónimos y otra terminología descriptiva se puede utilizar simplemente por conveniencia y claridad y no pretenden limitar el alcance de la invención. En la siguiente descripción detallada, varios aspectos de la presente invención se pueden describir en el contexto de un circuito integrado configurado para ser acoplado a un componente electrónico, tal como un dispositivo de almacenamiento. El circuito integrado puede ser, por ejemplo, un Circuito Integrado de Aplicación Específica (ASIC) que comprende por lo menos un procesador.
El dispositivo de almacenamiento puede, por ejemplo, ser una Memoria de Acceso Aleatorio Dinámica Sincrónica (SDRAM) o dispositivo similar. Aunque estos aspectos inventivos pueden ser muy convenientes para uso con estos componentes, aquellos expertos en la técnica fácilmente apreciarán que estos aspectos inventivos se pueden aplicar para uso en otros dispositivos electrónicos. Por consiguiente, cualquier referencia a un tipo específico de circuito integrado o componente electrónico (por ejemplo, memoria externa o fuera de chip) solo pretende ilustrar los aspectos inventivos, con el entendimiento de que dichos aspectos inventivos tienen un amplio rango de aplicaciones. La figura 1 es un diagrama en bloques conceptual de un dispositivo electrónico 100 que emplea un circuito integrado 102, tal como un ASIC. El circuito integrado 102 puede incluir un microprocesador 104, un Procesador de Señal Digital (DSP) 106, un transceptor 108, una interfaz de entrada/salida (I/O) 110, y una Interfaz de Enlace Externo (EBI) 112. Todos estos componentes se pueden acoplar junto con un Enlace de Sistema Interno (ISB) 114. Se puede utilizar un generador de reloj 116 para generar una señal de reloj de sistema (o "reloj de sistema") para la temporización del sistema. La figura 1 no se debería interpretar para requerir un despliegue físico particular del dispositivo electrónico 100, o los componentes del mismo. El microprocesador 104 se puede utilizar como una plataforma para correr programas de aplicación que, entre otras cosas, proveen el control de usuario y las funciones de administración del sistema general para el dispositivo electrónico 100. El DSP 106 se puede ejecutar con una capa de software de comunicaciones integradas la cual corre algoritmos de aplicación específica para reducir las demandas de procesamiento en el microprocesador 104. Cualquiera o ambos del microprocesador 104 y el DSP 106 se pueden también utilizar para correr los algoritmos aquí descritos. El transceptor 108 se puede utilizar para proveer acceso a un medio externo, tal como un enlace de radio en el caso de un teléfono inalámbrico, terminal, correo electrónico o dispositivo habilitado por Web, por ejemplo, un Asistente de Datos Personal (PDA) , u otro dispositivo similar. En algunas modalidades, el transceptor 108 puede proveer acceso a Ethernet, línea de módem por cable, fibras ópticas, Línea de Suscriptor Digital (DSL) , Red de Telefonía Pública Conmutada (PSTN) , o cualquier otro medio de comunicaciones. En otras modalidades, el dispositivo electrónico puede estar auto-contenido sin un transceptor para soportar comunicaciones externas. La interfaz I/O 110 se puede utilizar para soportar varias interfaces de usuario. Las interfaces de usuario pueden incluir un teclado numérico, ratón, pantalla de tacto, altavoz de audio o audífonos, micrófono, cámara y/o similares . El EBI 112 se puede utilizar para proveer acceso entre los componentes en el ISB 114. El EBI 112 puede incluir un controlador 113 que provee una interfaz entre el ISB 114 y los componentes externos al circuito integrado 102, por ejemplo, uno o más componentes fuera de chip, tal como el componente externo 118. La interfaz puede incluir un enlace de reloj 120, un enlace de dirección 122, un enlace de control 124, y un enlace de datos 126. Aunque no se muestra, el EBI 112 también puede proveer una interfaz a una Pantalla de Cristal Líquido (LCD) y/u otros dispositivos de interfaz de usuario. Por lo menos en una modalidad de un dispositivo electrónico 100, el componente externo 118 puede ser memoria, tal como una SDRAM. Alternativamente, el componente externo puede ser un NOR en ráfaga, PSRAM en ráfaga, RAM, ROM, EPROM, EEPROM, VRAM, o cualquier otro componente de memoria o dispositivo, o un arreglo de memoria. En algunos de los casos anteriores, el controlador 113 se puede utilizar para generar una señal de reloj externa (o "reloj externo") y una señal de reloj de retroalimentación (o "reloj de retroalimentación") como una función del reloj de sistema a partir del generador de reloj 116. El reloj externo puede ser provisto al componente externo 118 sobre el enlace de reloj 120 para leer de, y escribir en el componente externo 118, en lo sucesivo SDRAM 118. El reloj de retroalimentación puede ser utilizado por el controlador 113 para muestrear datos leídos de la SDRAM 118. Un ejemplo de los requerimientos de temporización para escribir a la SDRAM 118 se muestra en la figura 2. El reloj externo, el cual es representado por el reloj externo 204, se puede retrasar del reloj del sistema, el cual es representado por el reloj del sistema 202. Los datos que se van a escribir en SDRAM 118 quedan representados por datos (o señal de datos) 206, y se pueden liberar en el enlace de datos 120 (ver figura 1) desde el controlador 113 poco tiempo después de la transición del reloj del sistema en el tiempo to- El corto retraso 210 entre la transición del reloj de sistema y t0 se debe a un retraso de propagación del controlador 113. El enlace de datos 120 (ver figura 1) agrega retraso de propagación adicional, ocasionando que los datos 206 lleguen a la entrada a la SDRAM en el tiempo i. Los datos en ,1a entrada para la SDRAM se muestran en la figura 2 con líneas cruzadas en los datos 206. Para asegurar la operación confiable, los datos 206 deben entonces ser estableces en la entrada a la SDRAM 118 durante un breve periodo de tiempo antes de la transición del reloj externo. Esto se denomina "tiempo de establecimiento mínimo", y se denota en la figura 2 como testabiecimiento • También existe un periodo de tiempo en el que los datos 206 deben permanecer estables después de la transición del reloj externo, es decir, después de testabiecimiento- Esto se denomina el "tiempo de espera mínimo", y se denota en la figura 2 como teSpera- Si los tiempos de establecimiento y espera mínimos no se cumplen, entonces la operación de escritura a la SDRAM no puede ser garantizada. Por lo tanto, fácilmente se puede apreciar en la figura 2 que existe un requerimiento de retraso mínimo entre el reloj de sistema 202 y el reloj externo 204 para cumplir el tiempo de establecimiento mínimo, y un retraso máximo entre los dos para cumplir el tiempo de espera mínimo. El retraso se puede programar, y se puede establecer en cualquier parte entre estos límites, como se muestra en la figura 2 por la porción sombreada 208 del reloj externo 204. Un ejemplo de los requerimientos de temporización para leer de la SDRAM 118 se muestra en la figura 3. Como se explicó anteriormente en relación con la figura 2, el reloj externo 204 se puede retrasar del reloj del sistema 202. El reloj de t retroalimentación 302 también se puede retrasar del reloj del sistema 202 como se muestra en la figura 3. El reloj de retroalimentación 302 se puede utilizar para leer los datos de la SDRAM 118 en el controlador 113. Los datos 206 se pueden liberar de la SDRAM 118 en el enlace de datos 120 (ver figura 1) poco después de la transición del reloj externo 204 en el tiempo t0. Debido al retraso de propagación de la SDRAM 118 y el enlace de datos 120 (ver figura 1) , los datos 206 llegan a la entrada para el controlador 113 en el tiempo ti. Los datos en la entrada para el controlador 113 (el cual se muestra con líneas cruzadas de datos 206) deben permanecer estables durante un periodo breve de tiempo antes de la transición del reloj de retroalimentación. Este periodo de tiempo queda definido por el tiempo de establecimiento mínimo testabiecimiento del controlador 113. Los datos 206 también deben permanecer estables después de la transición del reloj de retro'ali entación 302 durante un periodo de tiempo definido por el tiempo de espera mínimo teSpera del controlador 113. Una vez que los datos son leídos en el controlador 113 . con la transición del reloj de retroalimentación 302, éstos pueden ser re-muestreados por el reloj del sistema. El proceso de re-muestreo tiene sus propios requerimientos, incluyendo un tiempo de establecimiento mínimo en donde los datos muestreados deben permanecer estables, antes de la siguiente transición del reloj del sistema 202. Por lo tanto, fácilmente se puede apreciar a partir de la figura 3 que existe un requerimiento de retraso mínimo entre el reloj del sistema 202 y el reloj de retroalimentación 302 para cumplir el tiempo de establecimiento mínimo, y un retraso máximo entre los dos para cumplir el tiempo de espera mínimo y tiempos de establecimiento de re-muestreo. El retraso se puede programar en el controlador 113, y se puede establecer en cualquier parte entre estos límites, como se muestra en la figura 3 por medio de la porción sombreada 304. La figura 4 es un diagrama en bloques funcional de una modalidad de un controlador 113. En la modalidad mostrada, el controlador 113 se puede dividir en un controlador sincrónico 402 y un controlador asincrono 404. Esta división es simplemente una preferencia de diseño y aquellos expertos en la técnica fácilmente entenderán que se puede emplear cualquier configuración para realizar las diversas funciones descritas en esta descripción detallada. Los controladores 402 y 404 se pueden configurar para conectar en interfaz el enlace de dirección 122, el enlace de control 124, y el enlace de datos 126 al ISB 114 a través de medios conocidos en la técnica. El controlador 113 se puede utilizar para generar el reloj externo 204 y el reloj de retroalimentación 302. Un multiplexor 408 se puede utilizar para seleccionar el reloj de sistema apropiado 202 dependiendo si los datos 206 están sincronizados fuera del controlador sincrónico o asincrono. En la modalidad mostrada, el multiplexor 408 se puede establecer para seleccionar el reloj del sistema utilizado por el controlador sincrónico 402 para conectar en interfaz con el SDRAM 118. Una compuerta OR exclusiva 410 se puede utilizar para proveer flexibilidad mediante el aprovisionamiento de un reloj de sistema invertido o no invertido 202 a la salida. Una célula de retraso programable 412 se puede utilizar para establecer el retraso del reloj externo 204. Los controles del multiplexor y la compuerta OR exclusiva, así como el retraso del reloj externo, pueden ser programados, por ejemplo, por software que corre en el microprocesador 104, o a través de otros medios. Un accionador de enlace 414 se puede utilizar para proveer el reloj externo 204 a la SDRAM 118. El reloj de retroalimentación 302 se puede generar a partir del reloj del sistema 202 o el reloj externo 204. Ambos relojes pueden ser provistos a un multiplexor 416 para proveer cierta versatilidad al programador de software. En la modalidad descrita, el reloj de sistema seleccionado se puede proveer a una compuerta OR exclusiva 418. La compuerta OR exclusiva 418 permite que se utilice el reloj invertido o no invertido. Una célula de retraso programable 420 se puede utilizar para retrasar el reloj de retroalimentación. El reloj de retroalimentación 302 puede entonces ser retroalimentado a los controladores 402 y 404. Los controles del multiplexor y la compuerta OR exclusiva, así como el retraso del reloj de retroalimentación, se pueden programar a través de software que corre en el microprocesador 104, o a través de cualquier otro medio. Como se analizó anteriormente, algunas restricciones de' temporización impuestas por el controlador 113 y la SDRAM 118 pueden limitar los posibles escenarios de retraso para los relojes de retroalimentación y externo. El escenario de retraso para el reloj externo, por ejemplo, puede ser restringido por los tiempos de establecimiento y espera mínimos para la SDRAM 118. De manera similar, el escenario de retraso para el reloj de retroalimentación puede ser restringido por los tiempos de establecimiento, espera y establecimiento de re-muestreo mínimos para el controlador 113. Estas restricciones de temporización pueden variar con el proceso, voltaje y temperatura (PVT) . Se puede utilizar un algoritmo de calibración programado en el circuito integrado para programar las células de retraso en una base por dispositivo. Este enfoque puede proveer escenarios de reloj óptimos para cada dispositivo electrónico individual. El algoritmo de calibración puede ser habilitado en el campo cuando el dispositivo electrónico es encendido, o periódicamente durante su operación. El algoritmo de calibración se puede basar en parte en información estadística programada en memoria. La información estadística se puede derivar de una recopilación de datos obtenidos de la prueba de una muestra suficiente de dispositivos electrónicos en la fábrica. Este proceso se denominará como un "proceso de caracterización". El proceso de caracterización puede comenzar con el cálculo del retraso ("K") entre el reloj de retroalimentación y el reloj externo para una muestra de dispositivos electrónicos. Volviendo a la figura 3, fácilmente se. puede apreciar que el tiempo de establecimiento testablecimiento para el controlador 113 se basa en el retraso de la transición del reloj externo a la transición del reloj de retroalimentación, para la operación de lectura ._ También se puede apreciar que el tiempo de espera teSpera se basa en el retraso de la transición del -reloj de retroalimentación a la siguiente transición del reloj externo. Por consiguiente, si el retraso entre el reloj externo y el reloj de retroalimentación se reduce, el tiempo de establecimiento testabiecimiento disminuye y el tiempo de espera teSpera aumenta. Por el contrario, si el retraso entre el reloj externo y el reloj de retroalimentación aumenta, el tiempo de establecimiento testabiecimiento aumenta y el tiempo de espera tespera disminuye. Por lo tanto, el paso inicial del proceso de caracterización puede ser para calcular un retraso entre el reloj de retroalimentación y el reloj externo que satisfaga los tiempos de establecimiento y espera mínimos en el peor caso del controlador 113 para la muestra de dispositivos electrónicos. Asumiendo que el retraso entre el dispositivo de reloj de retroalimentación y externo se establece para satisfacer los tiempos de establecimiento y espera mínimos del controlador durante la operación de lectura, entonces la falla o éxito de una operación de lectura dependerá completamente del hecho si el tiempo de establecimiento de re-muestreo mínimo testabiec?miento es satisfecho. Refiriéndose a la figura 3, el tiempo de establecimiento de re-muestreo tiempo de establecimiento testabiecimiento es muy prolongado cuando el retraso entre el reloj del sistema y el reloj de retroalimentación es pequeño. Sin embargo, conforme el retraso entre los dos relojes se incrementa, el tiempo de establecimiento de re-muestreo testabiecimiento disminuye hasta que alcanza el tiempo de establecimiento de re-muestreo mínimo testabiecimiento • Esto es el "retraso máximo" entre el reloj del sistema y el reloj de retroalimentación en donde la operación de lectura puede ser garantizada. Volviendo a la figura 2, el éxito o falla de una operación de escritura dependerá de dos parámetros de temporización: el tiempo de establecimiento mínimo testabiecimiento y el tiempo de espera mínimo tespera para escribir a la SDRAM 118. Sin embargo, como un asunto práctico, el tiempo de espera mínimo tespera normalmente no es un factor limitante. Esto se debe a que el tiempo de espera es aproximadamente igual al periodo de reloj menos el tiempo de establecimiento testablecimiento, el cual es mucho más prolongado que el tiempo de espera mínimo teSpera- Por consiguiente, el tiempo de establecimiento mínimo testabiecimiento de la SDRAM 118 determinará el "retraso mínimo" entre el reloj del sistema y el reloj externo (o la retroalimentación) en donde se puede garantizar la operación de escritura. Durante el proceso de caracterización, se puede realizar un procedimiento de prueba en cada dispositivo electrónico en la muestra para determinar un rango de valores de retraso entre el reloj del sistema y el reloj de retroalimentación en donde el controlador 113 puede escribir en y leer de la SDRAM 118. Este rango es un rango continuo delimitado por un "retraso máximo" establecido por el tiempo de establecimiento de re-muestreo mínimo testabiecimiento del controlador 113 y un "retraso mínimo" establecido por el tiempo de establecimiento mínimo testabiecimiento de la SDRAM 118. El procedimiento de prueba puede involucrar la programación del retraso calculado entre el reloj de retroalimentación y el reloj externo en las células de retraso programables del controlador 113 para cada uno de los dispositivos electrónicos bajo prueba. A continuación, el rango de sintonización de las células de retraso programable para cada dispositivo electrónico puede ser barrido a través de todo el rango de sintonización, mientras se mantiene el retraso entre el reloj de retroalimentación y externo. De manera más específica, para cada dispositivo electrónico, la célula de retraso programable 420 para el reloj de retroalimentación se puede establecer a retraso cero y la célula de retraso programable 412 para el reloj externo se puede establecer a K. El retraso de las células de retraso programable se puede entonces aumentar de forma incremental conjuntamente. Para cada retraso incremental, el controlador 113 lee de y escribe en la SDRAM 118, y después clasifica cada intento de lectura y escritura como una falla o éxito dependiendo del resultado. Como un asunto práctico, puede haber variaciones en la velocidad de circuitos integrados específicos y en la velocidad de las SDRAM que pueden efectuar los retrasos óptimos de reloj externo y reloj de retroalimentación para un dispositivo electrónico específico. Por ejemplo, las figuras 5A y 5B muestran los resultados del procedimiento de prueba de dos dispositivos electrónicos diferentes de la muestra durante el proceso de caracterización. En cada una de las figuras 5A y 5B, cada gráfica de barras representa un rango de retrasos de reloj de retroalimentación para el cual se puede operar el dispositivo electrónico respectivo. Como resulta evidente, diferencias en frecuencia (es decir, velocidad del reloj ) del circuito integrado pueden producir requerimientos de retraso de reloj de retroalimentación significativamente diferentes. Aunque el retraso de reloj externo se muestra en cada una de las figuras 5A y 5B, los resultados alternativamente podrían ser presentados para el retraso de reloj externo, debido a que existe una relación conocida entre el reloj externo y el reloj de retroalimentación en la modalidad ilustrativa. Refiriéndose a la figura 5A, el procedimiento de prueba para un dispositivo electrónico durante el proceso de caracterización "•' se puede iniciar estableciendo un voltaje óptimo para el dispositivo electrónico. Entonces, el retraso del reloj de retroalimentación se configura a cero (i-fb=0) , donde nfb es el valor digital programado en la célula de retraso para el reloj de retroalimentación, y el retraso de reloj externo se configura a , donde next es el valor digital programado en la célula de retraso para el reloj externo. Bajo estas condiciones, los datos son escritos a la SDRAM y después leídos de la SDRAM. Si los datos leídos son válidos, es decir, no ocurrió error, se registra un "pase" para el valor de n. De lo contrario, se registra una "falla" para el valor de n . Entonces el valor de n es incrementado, por ejemplo, n = 1 , mientras que el voltaje y la frecuencia permanecen sin cambios. Los pasos escritura, lectura y registro de pase/falla son entonces ejecutados para la nueva n . Esto continúa hasta que n = 31, el cual es el valor máximo. Los resultados, por ejemplo, se muestran en la gráfica de barras de la figura 5A. El área sombreada de la gráfica de barras representa valores de pase, y se extiende de alrededor de n = 1 a aproximadamente n = 28. Los valores que fallan caen por debajo de n = 1 o por encima de n = 28. El "retraso mínimo" entre el reloj del sistema y. el reloj de retroalimentación se pueden denominar como el valor de pase más bajo (LPV) y el "retraso máximo" entre el reloj del sistema y el reloj de retroalimentación se puede denominar como el valor de pase más alto (HPV) . El mismo procedimiento de prueba se puede realizar en un segundo dispositivo electrónico en el voltaje óptimo. En este caso, el circuito integrado en el segundo dispositivo .electrónico es más rápido que el primero. Los resultados se muestran en la gráfica de barras de la figura 5B.- El área sombreada de la gráfica de barras representa valores de pase, y se extiende desde alrededor de n = 4 a aproximadamente n = 31. Los valores que fallan caen por debajo de n = 4 o por arriba de n = 31. Al comparar los resultados del primer y segundo dispositivos electrónicos de la figura 5A y la figura 5B, queda claro que los diversos escenarios de retraso de reloj entre el reloj de sistema y el reloj de retroalimentación para el segundo electrónico, con el circuito integrado más rápido, no funcionaría para el primer dispositivo electrónico, con el circuito integrado más lento. El proceso de caracterización se puede ejecutar sobre muchos dispositivos electrónicos para llegar a una cantidad más grande de soluciones de retraso de reloj de retroalimentación. Estos datos se pueden utilizar para determinar un rango de retraso para valores para diferentes clasificaciones- de dispositivos electrónicos. Estas clasificaciones se denominan como "depósitos" y se basan en la velocidad del circuito integrado y SDRAM para los dispositivos electrónicos. Cada depósito puede representar una combinación de dispositivos probados. En la modalidad ilustrativa, se definen cuatro depósitos que representan combinaciones de circuito integrado y SDRAM, de la siguiente forma: (1) circuito integrado lento, SDRAM rápida; (2) circuito integrado nominal/lento, SDRAM lenta; (3) circuito integrado nominal/rápido, SDRAM rápida; y (4) circuito integrado nominal/rápido, SDRAM lenta. Por supuesto, se podrían definir otras combinaciones, y se podría definir una cantidad mayor o menor de depósitos. La prueba de una muestra lo suficientemente grande de dispositivos electrónicos durante el proceso de caracterización puede producir una distribución de valores de retraso para cada combinación de circuito integrado y SDRAM. A partir de dichas distribuciones se pueden definir los depósitos. Por supuesto, existen numerosos enfoques estadísticos conocidos que se podrían aplicar a datos de prueba para determinar el ancho de los depósitos (es decir, un rango de valores de retraso entre el reloj de sistema y el reloj de retroalimentación) . En los casos donde existen insuficientes datos de prueba, se podría utilizar la extrapolación para calcular el ancho del depósito y los retrasos correspondientes. La figura 5C es una gráfica de barras 550 que muestra los depósitos 1, 2, 3, y 4 donde cada depósito tiene un ancho de depósito definido. El ancho del depósito 1 es aproximadamente 4-8, el ancho del depósito 2 es aproximadamente 8-12, el ancho del depósito 3 es aproximadamente 12-16, y el ancho del depósito 4 es aproximadamente 16-20. Dentro de cada depósito, se puede seleccionar un escenario de retraso entre el reloj del sistema y el reloj de retroalimentación. El escenario de retraso se puede seleccionar desde el centro del depósito. A manera de ejemplo, el dispositivo electrónico que se caracteriza por tener un circuito integrado lento y una SDRAM rápida se puede relegar al depósito 1, y si el retraso entre el reloj del sistema y el reloj de retroalimentación se establece a 6 (es decir, el valor de retraso en el centro del depósito 1) , el dispositivo electrónico debería operar de manera adecuada. En este caso, el retraso entre el reloj del sistema y el reloj externo podría ser de 6+K. Si K se establece a 4 para lograr un tiempo de establecimiento aproximado de 2ns y tiempo de espera de Ins, entonces se pueden establecer los siguientes escenarios de retraso para cada depósito: Depósito 1 ? Circuito integrado lento, SDRAM rápida: Retraso de reloj de retroalimentación = 6, Retraso de reloj- externo = 10 Depósito 2 ? Circuito integrado nominal/lento, SDRAM lenta: Retraso de ' reloj de retroalimentación = 10, Retraso de reloj externo = 14 Depósito 3 ? Circuito integrado nominal/rápido, SDRAM rápida: Retraso de reloj de retroalimentación = 14, Retraso de reloj externo = 18 Depósito 4 ? Circuito integrado nominal/rápido, SDRAM lenta: Retraso de reloj de retroalimentación = 18, Retraso de reloj externo = 22. Los escenarios de reloj determinados durante el proceso de caracterización pueden ser utilizados por un algoritmo de calibración adaptiva programado en el dispositivo electrónico para establecer el retraso de los relojes de retroalimentación y externo en una base por-dispositivo en el campo. Estos escenarios de reloj y las definiciones de depósito se pueden almacenar en memoria en el dispositivo electrónico, o de otra forma se pueden incluir con el algoritmo de calibración adaptiva. La figura 6 provee un diagrama de flujo 600 que muestra un algoritmo de calibración adaptiva utilizado con un dispositivo electrónico específico, en el campo. Al igual que con todos los otros algoritmos, procesos y métodos aquí descritos, el algoritmo de calibración adaptiva 700 se puede incorporar en software, hardware, microprogramación cableada, o cualquier combinación de los mismos. El algoritmo de calibración adaptiva 600 es similar a aquel descrito anteriormente para determinar las gráficas de barras de la figura 5A y 5B. El algoritmo de calibración adaptiva 600 se .puede correr al primer inicio del dispositivo electrónico 100. El algoritmo de calibración adaptiva 600 también se puede correr en inicios posteriores, de manera aleatoria, periódica o en respuesta a una variación a una condición detectada, por ejemplo, voltaje, temperatura o velocidad. En este ejemplo, el algoritmo de calibración adaptiva inicialmente establece el retraso entre el reloj del sistema y la retroalimentación a cero (nfiyO ) , y el retraso entre el reloj del sistema y el reloj externo a K next=K) en el paso 604. El paso 606 prueba si el reloj de retroalimentación ha sido barrido a través de todo el rango de sintonización. Esto se puede lograr determinando si nfb es mayor que 31. Asumiendo que el retraso del reloj de retroalimentación no ha sido barrido a través de todo el rango de sintonización, en el paso 606, el proceso 600 continúa con el paso 608, donde el circuito integrado 102 escribe datos de prueba para la SDRAM 118. El proceso 600 entonces continúa con el paso 610, donde el circuito integrado 102 lee los datos de prueba de la SDRAM 118. Los datos de prueba que se leen se comparan con aquellos que se escribieron. Si en el paso 612 los datos de lectura son válidos (es decir, correctos) , entonces el proceso 600 continúa con el paso 614 y se observa una condición de "pase" para la operación en los escenarios de reloj externo y de retroalimentación. Si los datos de lectura no coincidieron con aquellos que se escribieron, entonces la prueba falló y se registra una condición de "falla" para los escenarios de reloj externo y de retroalimentación en el paso 616. En cualquier caso, los valores de retraso de reloj externo y de retroalimentación son incrementados en el paso 618, y el proceso 600 regresa al paso 606. De esta forma, el algoritmo de calibración adaptiva 600 barre todo el rango de retraso. Una vez completo, el proceso 600 continúa con el paso 620 donde se determinan el LPV y HPV para el dispositivo electrónico 100. Una vez que se conocen los LPV y HPV, el algoritmo de calibración adaptiva 700 se puede utilizar para determinar los escenarios de reloj finales. El algoritmo de calibración adaptiva 700 ejecuta pruebas que se basan en principios conocidos de las relaciones entre el HPV, LPV y . velocidades de circuitos integrados y dispositivos de memoria, conforme a lo reflejado en las definiciones de depósito antes analizadas. En el paso 702 se obtienen el LPV y HPV para el dispositivo electrónico 100. Aunque la modalidad ilustrativa determina el LPV y HPV utilizando el proceso de la figura 6, el algoritmo de calibración adaptiva no requiere que el LPV y HPV para el dispositivo electrónico 100 sean determinados por el proceso de la figura 6. Es posible que los valores LPV y HPV puedan ser determinados de otras formas. El LPV y HPV se utilizan para determinar cuál depósito es apropiado para el dispositivo electrónico 100, y por lo tanto, cuál escenario de retraso es apropiado para el dispositivo electrónico 100. Esto se logra probando el LPV y HPV contra todo el rango de sintonización (es decir, nfb es barrido de 0-31) .
En el paso 704, se toma una determinación respecto a si el HPV es mayor que, o igual a 31. Si la prueba realizada en el paso 704 fue falsa, entonces el proceso continúa ?ron el paso 706, donde se toma una determinación respecto a si el LPV es o no menor que, o igual al 0. Si LPV es mayor que, o igual a 0, entonces el dispositivo electrónico 100 pertenece al depósito 1, del paso 708. Si el PLV no es menor que, o igual a 0, entonces el dispositivo electrónico 100 pertenece al depósito 2, del paso 710. Si en el paso 704 el HPV fue mayor que, o igual a 31, el algoritmo procede al paso 712, donde se toma una determinación respecto al LPV. Si el LPV es menor que, o igual a 0, entonces el dispositivo electrónico 100 pertenece al depósito 3, del paso 714. De lo contrario, el dispositivo electrónico 100 pertenece al depósito 4 del paso 716. Una vez que se determina el depósito apropiado, el circuito integrado 102 establece los retrasos de reloj con los escenarios predeterminados para ese depósito. En este ejemplo, es el escenario de retraso en el centro del depósito. En el ' paso 720 se obtiene el retraso reloj de retroalimentación, y en el paso 722 se determina el reloj externo a partir del retraso de reloj de retroalimentación y la compensación K. Y en el paso 724, la célula de retraso de reloj externo prqgramable 412 y la célula de retraso de reloj de retroalimentación programable 420 se establecen utilizando los valores del paso 722. Como resulta evidente, los algoritmos anteriores se podrían haber presentado como determinando el retraso de reloj externo, y a partir del retraso del reloj externo que determina el retraso de reloj de retroalimentación, en donde el retraso de reloj de retroalimentación = retraso de reloj externo - K. Cualquier enfoque será suficiente, debido a que existe una relación definida entre el reloj de retroalimentación y el reloj externo que proporcionan uno, el otro se puede obtener. Volviendo a la figura 7, y utilizando las definiciones de depósito descritas anteriormente con respecto a la figura 5C, si el dispositivo electrónico 100 cae en el depósito 1, el retraso de reloj de retroalimentación = 6 y el retraso de reloj externo = 10; si el dispositivo electrónico 100 cae en el depósito 2, el retraso de reloj de retroalimentación = 10 y el retraso de reloj externo = 14; si el dispositivo electrónico 100 cae en el depósito 3,. el retraso de reloj de retroalimentación = 14 y el retraso de reloj externo = 18; y si el dispositivo electrónico 100 cae en el depósito 4, el retraso de reloj de retroalimentación = 18 y el retraso de reloj externo = 22. Como se mencionó anteriormente, este proceso se podría corre, no solo al primer inicio, sino después también. Por ejemplo, el algoritmo de calibración adaptiva se podría correr en cada inicio, de manera periódica, aleatoria, o en respuesta a una condición detectada. Dicha condición detectada podría ser la detección de un voltaje, temperatura, velocidad del circuito integrado o componente externo, o un error en la comunicación entre el circuito integrado y el componente externo. Los diversos bloques lógicos ilustrativos, módulos, y circuitos descritos en relación con las modalidades aquí analizadas se pueden ejecutar o realizar con un procesador de propósito general, un procesador de señal digital (DSP) , un circuito integrado de aplicación específica (ASIC) , un arreglo de compuerta programable en campo (FPGA) -u otro componente lógico programable, compuerta discreta -o lógica de transistor, componentes de hardware discretos, o cualquier combinación de los mismos diseñada para realizar las funciones aquí descritas. Un procesador de propósito general puede ser un microprocesador, pero en la alternativa, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador, o máquina de estado. Un procesador también se puede ejecutar como una combinación de componentes de cómputo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en conjunto con un DSP núcleo, o cualquier otra configuración. Los métodos o algoritmos descritos en relación con las modalidades aquí descritas se pueden incorporar directamente en hardware, en un módulo de software ejecutado por un procesador o en una combinación de los dos. Un módulo de software puede residir en memoria RAM, memoria instantánea, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocida en la técnica. Un medio de almacenamiento se puede acoplar al procesador de manera que el procesador puede leer información de, y escribir información en el medio de almacenamiento. En la alternativa, el medio de almacenamiento puede ser parte integral del procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. La descripción previa de las modalidades descritas se provee para permitir a cualquier experto en la técnica hacer o utilizar la presente invención. Varias modificaciones a estas modalidades serán fácilmente aparentes para aquellos expertos en la técnica, y los principios genéricos aquí definidos se pueden aplicar a otras modalidades sin apartarse del espíritu o alcance de la invención. Por lo tanto, la presente invención no pretende quedar limitada a las modalidades aquí mostradas sino que se le acordará el alcance más amplio consistente con los principios y características novedosas aquí descritas .

Claims (1)

  1. NOVEDAD DE LA INVENCIÓN Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes: REIVINDICACIONES 1.- Un dispositivo electrónico, que comprende: un componente electrónico; y un circuito integrado configurado para generar un reloj de sistema y un reloj externo que tiene un retraso programable del reloj del sistema, el circuito integrado además está configurado para proveer el reloj externo al componente electrónico, determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar, y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. 2.- El dispositivo electrónico de conformidad con la reivindicación 1, caracterizado porque el circuito integrado además está configurado para almacenar los valores de retraso predeterminados. 3. - El dispositivo electrónico de conformidad con la reivindicación 1, caracterizado porque el componente electrónico comprende por lo menos un dispositivo de memoria. 4.- El dispositivo electrónico de conformidad con la reivindicación 3, caracterizado porque el componente electrónico comprende por lo menos uno de SDRAM, NOR en ráfaga, PSRAM en ráfaga, ROM, EPROM, EEPROM, o VRAM. 5.- El dispositivo electrónico de conformidad con la reivindicación 3, caracterizado porque el circuito integrado además, está configurado para determinar el rango de retraso a través de una pluralidad de operaciones de lectura/escritura con el componente electrónico. 6.- El dispositivo electrónico de conformidad con la reivindicación 5, caracterizado porque el circuito integrado además está configurado para determinar el rango de retraso evaluando cada una de las operaciones de lectura como una condición de pase o una condición de falla. 1 . - El dispositivo electrónico de conformidad con la reivindicación 1, caracterizado porque el rango de retraso comprende límites superior e inferior, y en donde el circuito integrado además está configurado para programar el reloj externo con dicho valor de una pluralidad de valores de retraso predeterminados con base en los límites del rango de retraso. 8. - El dispositivo electrónico de conformidad con la reivindicación 7, caracterizado porque el circuito integrado además está configurado para determinar dicho valor de una pluralidad de valores de retraso predeterminados como una función de si el límite superior del rango de retraso está por encima de un retraso programable máximo entre el reloj de sistema y el reloj externo. 9.- El dispositivo electrónico de conformidad con la reivindicación 7, caracterizado porque el circuito integrado además está configurado para determinar dicho valor de una pluralidad de valores de retraso predeterminados como una función de si el límite inferior del rango de retraso está por debajo de un retraso programable mínimo entre el reloj de sistema y el reloj externo. 10.- El dispositivo electrónico de conformidad con la reivindicación 1, caracterizado porque cada uno de los valores de retraso predeterminados está relacionado con un rango de velocidades que diferencia al circuito integrado y un rango de velocidades que diferencia al componente electrónico. 11.- El dispositivo electrónico de conformidad con la reivindicación 1, caracterizado porque el dispositivo electrónico comprende un teléfono inalámbrico, asistente digital personal, dispositivo de correo electrónico o dispositivo habilitado por Web. 12. - Un método para calibrar un circuito integrado a un componente electrónico, el circuito integrado tiene un reloj de sistema, el método comprende: generar un reloj externo en el circuito integrado, el reloj externo tiene un retraso programable desde el reloj del sistema; proveer un reloj externo desde el circuito integrado al componente electrónico para soportar comunicaciones con el mismo; determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar; y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. 13.- El método de conformidad con la reivindicación 12, que además comprende almacenar los valores de retraso predeterminados. 14.- El método de conformidad con la reivindicación 12, caracterizado porque el componente electrónico comprende por lo menos un dispositivo de memoria . 15.- El método de conformidad con la reivindicación 14, caracterizado porque el componente electrónico comprende por lo menos uno de SDRAM, NOR en ráfaga, PSRAM en ráfaga, ROM, EPROM, EEPROM, o VRAM. 16.- El método de conformidad con la reivindicación 14, que además comprende determinar el rango de retraso a través de una pluralidad de operaciones de lectura/escritura con el componente electrónico. 17.- El método de conformidad con la reivindicación 16, que además comprende determinar el rango de retraso evaluando cada una de las operaciones de lectura como una condición de pase o una condición de falla. 18.- El método de conformidad con la reivindicación 12, que además comprende determinar límites superior e inferior del rango de retraso, y programar el reloj externo con dicho valor de una pluralidad de valores de retraso predeterminados con base en los límites del rango de retraso. 19.- El método de conformidad con la reivindicación 18, que además comprende determinar dicho valor de una pluralidad de valores de retraso predeterminados como una función de si el límite superior del rango de retraso está por encima de un retraso programable máximo entre el reloj de sistema y el reloj externo . 20.- El método de conformidad con la reivindicación 18, que además comprende determinar dicho valor de una pluralidad de valores de retraso predeterminados como una función de si el límite inferior del rango de retraso está por debajo de un retraso programable mínimo entre el reloj de sistema y el reloj externo. 21.- El método de conformidad con la reivindicación 12, caracterizado porque cada uno de los valores de retraso predeterminados está relacionado con un rango de velocidades que diferencia al circuito integrado y un rango e velocidades que diferencia al componente electrónico. 22.- El método de conformidad con la reivindicación 12, caracterizado porque el dispositivo electrónico comprende un teléfono inalámbrico, asistente digital personal, dispositivo de correo electrónico o dispositivo habilitado por Web. 23.- Un dispositivo electrónico, comprende: un componente electrónico; y un circuito integrado que comprende: medios para generar un reloj de sistema; medios para generar un reloj externo en el circuito integrado, el reloj externo tiene un retraso programable desde el reloj del sistema; medios para proveer un reloj externo desde el circuito integrado al componente electrónico para soportar comunicaciones con el mismo; medios para determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar; y medios para programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. 24.- El dispositivo electrónico de conformidad con la reivindicación 23, que además comprende medios para almacenar los valores de retraso predeterminados. 25.- El dispositivo electrónico de conformidad con la reivindicación 23, caracterizado porque el componente electrónico comprende por lo menos un dispositivo de memoria. 26.- El dispositivo electrónico de conformidad con la reivindicación 25, caracterizado porque el componente electrónico comprende por lo menos uno de SDRAM, NOR en ráfaga, PSRAM en ráfaga, ROM, EPROM, EEPROM, o VRAM. 27.- El dispositivo electrónico de conformidad con la reivindicación '25, que además comprende medios para determinar el rango de retraso a través de una pluralidad de operaciones .de lectura/escritura con el componente electrónico . 28.- El dispositivo electrónico de conformidad con la reivindicación 27, que además comprende medios para determinar el rango de retraso evaluando cada una de las operaciones de lectura como una condición de pase o una condición de falla. 29.- El dispositivo electrónico de conformidad con la reivindicación 23, que además comprende medios para determinar límites superior e inferior del rango de retraso, y medios para programar el reloj externo con dicho valor de una pluralidad de valores de retraso predeterminados con base en los límites del rango de retraso. 30.- El dispositivo electrónico de conformidad con la reivindicación -29, que además comprende medios para determinar dicho valor de una pluralidad de valores de retraso predeterminados como una función de si el límite superior del rango de retraso está por encima de un retraso programable máximo entre el reloj de sistema y el reloj externo. 31.- El dispositivo electrónico de conformidad con la reivindicación 29, que además comprende medios para determinar dicho valor de una pluralidad de valores de retraso predeterminados como una función de si el límite inferior del rango de retraso está por debajo de un retraso programable mínimo entre el reloj de sistema y el reloj externo. 32.- El dispositivo electrónico de conformidad con la reivindicación 23, caracterizado porque cada uno de los valores de retraso predeterminados está relacionado con un rango de velocidades que diferencia al circuito integrado y un rango de velocidades que diferencia al componente electrónico. 33.- El dispositivo electrónico de conformidad con la reivindicación 23, caracterizado porque el dispositivo electrónico comprende un teléfono inalámbrico, asistente digital personal, dispositivo de correo electrónico o dispositivo habilitado por Web. 34.- El medio legible por computadora que incorpora un programa de instrucciones ejecutables por un procesador para realizar un método de calibrar un circuito integrado a un componente electrónico, el circuito integrado incluye un reloj de sistema y un reloj externo que tiene un retraso programable desde el reloj del sistema, el reloj externo es provisto al componente electrónico para soportar comunicaciones con el mismo, el método comprende: determinar un rango de retraso entre el reloj del sistema y el reloj externo en donde el circuito integrado y el componente electrónico se pueden comunicar; y programar el reloj externo con uno de una pluralidad de valores de retraso predeterminados con base en el rango de retraso. 35.- El medio legible por computadora de conformidad con la reivindicación 34, caracterizado porque el componente electrónico comprende memoria, y en donde el circuito integrado además incluye un reloj de retroalimentación que tiene un retraso programable del reloj del sistema, en donde la comunicación entre el circuito integrado y la memoria se ejecuta utilizando el reloj externo para escribir en, y leer de la memoria, y utilizando el reloj de retroalimentación para muestrear datos, en el circuito integrado, leer de la memoria, y el método además comprende calibrar el retraso de reloj de retroalimentación como una función del rango de retraso.
MX2007005484A 2004-11-05 2005-11-07 Calibracion de memoria adaptiva utilizando depositos. MX2007005484A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62522904P 2004-11-05 2004-11-05
PCT/US2005/040363 WO2006052929A1 (en) 2004-11-05 2005-11-07 Adaptive memory calibration using bins

Publications (1)

Publication Number Publication Date
MX2007005484A true MX2007005484A (es) 2007-07-16

Family

ID=35985747

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007005484A MX2007005484A (es) 2004-11-05 2005-11-07 Calibracion de memoria adaptiva utilizando depositos.

Country Status (11)

Country Link
US (1) US8816742B2 (es)
EP (1) EP1812804B1 (es)
JP (1) JP4842958B2 (es)
CN (1) CN101095060B (es)
AT (1) ATE430320T1 (es)
CA (1) CA2586537A1 (es)
DE (1) DE602005014264D1 (es)
ES (1) ES2326903T3 (es)
MX (1) MX2007005484A (es)
RU (1) RU2363059C2 (es)
WO (1) WO2006052929A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386829B2 (en) * 2009-06-17 2013-02-26 Macronix International Co., Ltd. Automatic internal trimming calibration method to compensate process variation
US9843315B2 (en) 2011-11-01 2017-12-12 Rambus Inc. Data transmission using delayed timing signals
US9825638B2 (en) 2014-03-05 2017-11-21 Sandisk Technologies Llc Virtual critical path (VCP) system and associated methods
RU2641465C1 (ru) * 2016-03-28 2018-01-17 СиЭрЭрСи ЦИНДАО СЫФАН РОЛЛИН СТОК РИСЁРЧ ИНСТИТЬЮТ КО., ЛТД. Чип и способ управления запуском цифрового сигнального процессора tigersharc
US11935613B2 (en) * 2020-08-05 2024-03-19 Texas Instruments Incorporated Method for tuning an external memory interface
CN115862707B (zh) * 2022-11-25 2024-03-12 湖南兴芯微电子科技有限公司 一种psram相位校准方法及控制器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1529220A1 (ru) 1986-07-15 1989-12-15 Предприятие П/Я А-3162 Устройство дл автоматического контрол больших интегральных схем
SU1471156A1 (ru) 1987-01-27 1989-04-07 Предприятие П/Я Р-6668 Устройство дл контрол параметров электронных блоков
US5268639A (en) * 1992-06-05 1993-12-07 Rambus, Inc. Testing timing parameters of high speed integrated circuit devices
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5920216A (en) * 1997-04-03 1999-07-06 Advanced Micro Devices, Inc. Method and system for generating digital clock signals of programmable frequency employing programmable delay lines
US6175928B1 (en) * 1997-12-31 2001-01-16 Intel Corporation Reducing timing variance of signals from an electronic device
JP2000235517A (ja) 1999-02-12 2000-08-29 Nec Corp 半導体集積回路及びクロック遅延調整方法
US6204694B1 (en) * 1999-05-21 2001-03-20 Logicvision, Inc. Programmable clock signal generation circuits and methods for generating accurate, high frequency, clock signals
JP2001154907A (ja) 1999-11-29 2001-06-08 Nec Kofu Ltd 遅延調整回路及び情報処理装置
JP4301680B2 (ja) * 2000-02-29 2009-07-22 株式会社ルネサステクノロジ 半導体集積回路装置
US6564335B1 (en) * 2000-03-31 2003-05-13 Intel Corporation Cross chip transfer mechanism for a memory repeater chip in a Dram memory system
DE10035169A1 (de) * 2000-07-19 2002-02-07 Infineon Technologies Ag Verfahren und Vorrichtung zum Testen von Setup-Zeit und Hold-Zeit von Signalen einer Schaltung mit getakteter Datenübertragung
US6850107B2 (en) * 2001-08-29 2005-02-01 Micron Technology, Inc. Variable delay circuit and method, and delay locked loop, memory device and computer system using same
US7290186B1 (en) * 2003-09-16 2007-10-30 Virage Logic Corporation Method and apparatus for a command based bist for testing memories
US7646835B1 (en) * 2003-11-17 2010-01-12 Rozas Guillermo J Method and system for automatically calibrating intra-cycle timing relationships for sampling signals for an integrated circuit device

Also Published As

Publication number Publication date
RU2363059C2 (ru) 2009-07-27
RU2007120819A (ru) 2008-12-10
CA2586537A1 (en) 2006-05-18
ES2326903T3 (es) 2009-10-21
JP4842958B2 (ja) 2011-12-21
EP1812804A1 (en) 2007-08-01
US20080123444A1 (en) 2008-05-29
EP1812804B1 (en) 2009-04-29
DE602005014264D1 (de) 2009-06-10
JP2008519457A (ja) 2008-06-05
CN101095060B (zh) 2011-03-30
ATE430320T1 (de) 2009-05-15
WO2006052929A1 (en) 2006-05-18
US8816742B2 (en) 2014-08-26
CN101095060A (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
MX2007005484A (es) Calibracion de memoria adaptiva utilizando depositos.
US20090043953A1 (en) Memory control methods capable of dynamically adjusting sampling points, and related circuits
US10438637B2 (en) Memory controller
CN110800060B (zh) 双倍数据速率同步动态随机存取存储器数据选通信号校准
US20080129357A1 (en) Adaptive Integrated Circuit Clock Skew Correction
JP2010081577A (ja) 半導体装置およびデータ伝送システム
US7050352B2 (en) Data input apparatus of DDR SDRAM and method thereof
EP1815310B1 (en) Integrated circuit with adaptive speed binning
US6529424B2 (en) Propagation delay independent SDRAM data capture device and method
US9916888B1 (en) System for measuring access time of memory
KR100826843B1 (ko) 전자장치에 대한 집적회로의 교정
CN103168420A (zh) 延迟电路、延迟控制装置、存储器控制装置以及信息终端设备
US7545691B2 (en) Measuring circuit for qualifying a memory located on a semiconductor device
KR100498502B1 (ko) 기준 데이터를 스택시켜 레이턴시를 보상하는 반도체메모리 장치 및 그 테스트 방법
US8254189B2 (en) Method for tuning control signal associated with at least one memory device
CN118138022A (zh) 一种带相位校准的时钟信号传输电路和芯片
JP2001319475A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
FG Grant or registration
HH Correction or change in general