datasheetsTodos hemos oído la frase que la temporización lo es todo. Hoy en día los buses que conectan, por ejemplo, los procesadores y la memoria principal requieren una temporización muy precisa, del orden de décimas de nanosegundos. Toda esa información la suministran los fabricantes en sus hojas de datos (datasheets), pero es necesario combinarla adecuadamente con los modelos IBIS (Input/output Buffer Information Specification) de los drivers y las características constructivas del circuito impreso tales como la impedancia característica de las pistas, su longitud, número de cargas y su distribución, etc.

Así, todos los fabricantes verifican que cada dispositivo cumpla las especificaciones recogidas en las mencionadas hojas. Estas pruebas se llevan a cabo en las mismas condiciones de operación que se recogen en dichos documentos incluyendo: rangos de voltaje, impedancias de prueba, voltaje de referencia, rangos de temperatura, etc. Las pruebas en cuestión se realizan montando el dispositivo (DUT) en un equipo de pruebas, denominado tester, donde, conectado a una tarjeta de test, se presenta a cada pin de salida la impedancia de referencia que se especifica en la hoja de datos. Además, el equipo de pruebas es capaz de proporcionar al DUT la combinación de señales necesaria para la operación con el slew rate especificado, señales de reloj de la frecuencia requerida, mientras mide simultáneamente, con extrema precisión, los tiempos en los pines del dispositivo.

Sin embargo, considerando que en un circuito real la carga y la topología de la pista serán, por lo general, diferentes a las de prueba, ¿podemos realmente obtener una información útil de las hojas de datos.? La respuesta es afirmativa con la ayuda de herramientas de simulación, como puede ser HyperLynx, utilizando los modelos IBIS que proporciona el fabricante. Y esa es precisamente la intención de la presente entrada del blog aunque, por brevedad, sólo presentamos un ejemplo sencillo.

Para ilustrarlo, imaginemos el hipotético caso en el que queremos calcular, sin necesidad de fabricar los prototipos, cuál es la frecuencia máxima de operación del interfaz de memoria si el bus de datos presenta en todos los bits la topología que muestra el circuito de la parte superior de la Fig. 2, en donde un PowerQUICC II (U3) monta 64 MB de memoria principal, en la forma de dos piezas de SDRAM [1] de 256 Mbit (U1 y U2) del tipo -7E, por ejemplo.

La condición que tendría que cumplirse[2] sería:

tCK ≥ tAC + tp + t(sp13)       (1)

Siendo:

tCK  →  Periodo del reloj cuyo valor mínimo queremos obtener.

tAC  →  Tiempo de acceso a los datos medido desde el instante que el flanco de subida del reloj cruza, en el punto C de la Fig. 1, el nivel de referencia Vref, hasta que éstos alcanzan el punto A de la misma figura.

tp      →  Tiempo de propagación de los datos desde el punto A al punto B.

t(sp13) → Tiempo mínimo que los datos deben estar estables en el punto B antes del siguiente flanco de reloj para que sean muestreados correctamente (setup) por la CPU.

 

La inecuación anterior presenta dos problemas, a saber:

• El tiempo de acceso tAC no puede obtenerse de la hoja de datos, por lo general, por cuanto la carga vista por U1.2 en el punto A de la Fig. 2 difiere de la carga de referencia de 50 pF vista por U4.2, que corresponde al montaje de prueba con el que el fabricante obtiene tAC(CL)[3] .

• Del simulador se puede obtener un valor que “recuerda” a (tAC + tp) pero no exactamente ese, pues el uso de tAC supone tomar como origen de tiempos el cruce por Vref en el punto C de la Fig. 1, mientras que el origen de tiempos en el simulador es un instante desconocido en el que se aplica la excitación al driver de salida.

Sin embargo, manipulando ligeramente la inecuación y tras convertirla en una ecuación, pues es la condición que hace el periodo mínimo, podemos reescribir (1) de la siguiente forma:

tCKmín = tAC(2) + [ (tAC + tp) – tAC(2) ] + t(sp13)                (2)

Ahora la expresión entre corchetes, denominada en la literatura tiempo de compensación, Tcomp, es independiente del origen de tiempo y se puede obtener mediante simulación.

De los extractos recogidos en la Tabla 1 y Tabla 2 obtenemos los valores tAC(2) = 5.4 ns y t(sp13) = 1.5 ns, y de la simulación la diferencia [ (tAC + tp) – tAC(2) ] que es, como mencionamos, independiente del origen de tiempo. Así pues, como tanto la traza verde (DQ0 en B) como la azul (DQ0 en D) de la Fig. 3 comparten el origen, podemos restar directamente sus valores, resultando: 2.59 ns[4] (= 5.2895 ns – 2.7078 ns). Llevados los valores a (2) queda:
tCKmín = 5.4 ns + 2.59 ns + 1.5 ns = 9.49 ns ⇒ fmáx = 105 MHz

En los equipos de Teldat es necesario evaluar en muchas ocasiones la viabilidad de determinadas topologías y su potencial antes de proceder a la fabricación de los prototipos. Las herramientas de simulación permiten hacer cálculos como los anteriores, pero también previsualizar la forma de onda de una señal como si de la pantalla de un osciloscopio se tratara, calcular las terminaciones más adecuadas para minimizar reflexiones, evitar los problemas de integridad de la señal o de diafonía, reduciendo así las emisiones electromagnéticas no deseadas y, en definitiva, evitando costosas iteraciones de diseño en tiempo y dinero.

dataseheets

Figura 1

 

datasheets

Fig. 2. Circuito superior: bit DQ0 entre CPU y SDRAM; inferior: SDRAM con carga de referencia en el tester

datasheets

Fig. 3. Bit DQ0 en el punto B (verde) y en la carga de referencia, punto D (azul), de la Fig. 2

datasheetsdatasheets

datasheets

Tabla 1. Extracto de la hoja de datos de la SDRAM

datasheets

datasheets

Tabla 2. Extracto de la hoja de datos del procesador

 

 


[1] Se ha elegido SDRAM en lugar de otro más actual, como es DDR4 ó 5, porque los niveles corresponden a LVTTL que son más familiares en general.

[2] La ecuación (1) asume que la señal de reloj es distribuida de tal manera que su cruce por Vref en la memoria (punto C en la Fig. 1) coincide en el tiempo con su cruce por Vref en el procesador (no se ha representado ese punto en las figuras), es decir, no existe skew entre ambos relojes.

[3] tAC(CL) es el tiempo medido en el equipo de pruebas que va desde el instante en que el flanco de subida de reloj cruza el nivel de referencia en el punto C de la Fig. 1, hasta que el dato alcanza ese mismo nivel en el condensador C1 que carga a U4 en la Fig. 2 (punto D).

[4] Este valor corresponde al paso por VIL (0.8 volt.) de la transición de nivel alto a bajo de DQ0. Su explicación carece de interés para el objetivo de esta entrada.


Sobre el autor

Manuel Sanchez
Manuel Sanchez
Manuel Sánchez González-Pola es Ingeniero de Telecomunicación en el departamento de I+D. Dentro de dicho departamento trabaja en el grupo de Hardware como responsable de proyectos.  

Comparte este post


Nuestras Soluciones Relevantes