¿Cómo determinar teóricamente la velocidad máxima del reloj para un circuito?

Me preguntaba qué influye en la velocidad máxima del reloj y cómo calcularla para la implementación de un circuito. Tomemos una CPU por ejemplo:

Por lo que entiendo, la velocidad del reloj debe elegirse para que una señal de entrada pueda propagarse a través de la CPU de manera que todas las puertas (y especialmente aquellas en el "camino crítico") tengan tiempo suficiente para estabilizar sus salidas. Por lo tanto, el diseño (que determina la "ruta crítica") y el retraso de propagación parecen ser importantes para determinar la velocidad máxima del reloj. Sin embargo, esto deja muchas preguntas abiertas de mi parte:

  1. ¿Cómo puedo determinar el retraso de propagación de una sola puerta?
  2. ¿Depende el retardo de propagación del proceso de fabricación? (Supongo que sí... por ejemplo, asumiría que la fabricación de 10 nm da como resultado un retraso de propagación más bajo que la fabricación de 100 nm)

  3. ¿Existen valores de referencia para los retrasos de propagación con diferentes procesos de fabricación? ¿Es realmente tan simple como lo describí o me faltan factores relevantes? (velocidad máxima = retraso * puertas dentro de la ruta crítica)

  4. ¿Qué tan grande es la variación entre el retraso de propagación de las puertas dentro del mismo proceso de fabricación (en la fabricación de 10 nm de última generación, por ejemplo)?
  5. ¿Podría determinar las puertas dentro de la ruta crítica de, digamos, una CPU i7 actual dividiendo su velocidad de reloj a través del retraso de propagación asumido o obtendré un resultado significativamente incorrecto?
Hojas de datos, hojas de datos, hojas de datos.

Respuestas (2)

--- Prop retraso de la puerta? ¿A qué voltaje, qué Cload, qué inputSlewRate? ¿La puerta está diseñada para una carga mínima de disparo o un retraso mínimo?

--- sí, los secretos de la fabulosa producen diferentes resultados de tiempo

--- resultados de referencia? seguro. Siempre puede ajustar W/L en procesos más antiguos. En la última, la óptica de las máquinas de exposición puede limitar sus opciones, con un diseño limitado por difracción.

--- ¿Qué tan simple? El fanin, el fanout, la longitud del metal, si se usa poli (HighR), los vínculos a granel # para restringir las alteraciones de la carga (jitter).

--- ¿Qué tan grande es la variación? En procesos más antiguos, entre 1 voltio y 6 voltios VDD, los retrasos fácilmente son de 100:1. En algunos casos, desea ~~ alteraciones de riel cero (para la generación de reloj interno del opamp AutoZero), y las puertas/FF muy lentas están bien.

--- ¿Puedo determinar las # puertas------muchos otros factores: salida del bus, por ejemplo.

Respuestas:

  1. El retraso de una "puerta única" debe figurar en las especificaciones del fabricante. Sin embargo, hay compuertas con diferente potencia de accionamiento y los cables de conexión tendrán diferente longitud y, por lo tanto, diferente capacitancia. Por lo tanto, el retraso se puede determinar solo después de que se haya realizado el diseño.

  2. Sí, en general, el retraso de la puerta es una función de los transistores. Hay un montón de informes sobre esto. Para el mismo nodo de fabricación, una fundición generalmente ofrece varias bibliotecas diferentes para procesos sesgados, "rápidos (pero con mucha energía)", normales, lentos (pero de baja energía), etc.

  3. Los valores de referencia para los retrasos de prop son solo referencias aproximadas. Si bien una casa de diseño puede imponer una disciplina interna para limitar la profundidad de la lógica combinatoria en sus diseños, el resultado final solo puede provenir de un análisis profundo basado en CAD del diseño completamente enrutado.

  4. ¿Qué tan grande es la variación dentro del mismo proceso moderno? ¿Alguna vez se preguntó por qué el proceso "10nm" de Intel se ha retrasado durante tres años?

  5. ¿Puede determinar con precisión el número de puertas en i7? Probablemente no, porque los retrasos en los cables dominan. ¿Y por qué necesitarías esto de todos modos?