¿Cómo calcular la latencia de un circuito?

Digamos que tenemos este circuito:

ingrese la descripción de la imagen aquí

tpd(Y)=5 ns, tpd(O)=5ns, tpd(NOT)=3ns, y tcd de todas las puertas =1ns

Chanclas: tpcq=1ns, tccq=1ns, tsetup=1ns thold=1ns

Primero, quiero verificar este circuito en busca de violaciones de tiempo de espera. Y luego quiero calcular la latencia.

¿Qué es exactamente tccq y tpcq de FlipFlops? Entiendo que tcd+tccp > thold para que no se viole el tiempo de espera. Primero buscaría el camino más corto. Esto sería del FF "D" al FF "F". ¿El tccq de qué FF (¿D o F o ambos?) tengo que tener en cuenta?

Respuestas (2)

t pag C q es el reloj a Q retardo de propagación de un flip-flop. Esa es la cantidad de tiempo para propagar el valor en D a su Q, después de que ha aparecido un flanco de reloj de flanco ascendente. Conocido simplemente como retardo de propagación o retardo de reloj a Q.

t C C q es la cantidad de tiempo necesaria para un cambio inicial en la salida Q, debido a la entrada D, después de que aparece un flanco ascendente del reloj. Conocido como retraso de la contaminación .

t C d y t pag d son las mismas cosas. Pero los términos utilizados para puertas combinacionales.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Entonces t pag C q = suma de t C C q y la cantidad de tiempo para que la salida Q se vuelva estable y válida, desde que ocurrió el cambio inicial. Igual por t pag d y t C d .

Supongamos que un flip-flop A lanza los datos y el flip-flop B los captura.

  • Para ninguna violación de configuración en la ruta de flip-flop a flip-flop,

    t pag C q ( A ) + t pag d + t s mi t tu pag ( B ) < T C yo k + t s k mi w

  • Para ninguna violación de retención en la ruta de flip-flop a flip-flop,

    t C C q ( A ) + t C d > t h o yo d ( B ) + t s k mi w

En su circuito, el sesgo se toma como cero.

Para verificar la violación de retención, considere la ruta más corta. Es de Q a través de AND y OR:

Como:

ingrese la descripción de la imagen aquí

Para verificar la violación de la configuración, considere la ruta más larga.

ingrese la descripción de la imagen aquí

Ahora, a partir de las expresiones anteriores, creo que la respuesta se explica por sí misma.

Gracias: Eso significa para mi ejemplo anterior: tccq(D) + tcd(AND) + tcd(OR) = 1+1+1=3ns > thold(F). ¿Es esto correcto? Y también quiero calcular la latencia: t_pd(NOT) + t_pd(AND) + t_pd(OR) + t_pcq(A) + t_setup(F) = 15ns ¿Es esto correcto? ¿Elegí los retrasos FlipFlop correctos para los cálculos?
si eso es todo..

En lenguaje sencillo:

Los parámetros describen los retrasos de tiempo inmediatamente después del borde del reloj. Tccq ocurre primero y es el retraso de tiempo desde el borde del reloj hasta que la salida Q podría no haber cambiado pero es potencialmente inestable. Tpcq es el retraso total que incluye Tccq y cualquier período inestable adicional, después del cual se garantiza que la salida Q será estable.

Definiciones de libros de texto:

Tccq: Retardo de contaminación. El tiempo después de un flanco de reloj en el que la salida Q puede ser inestable.

Tpcq: Retardo de propagación. El tiempo después del flanco del reloj en el que se garantiza que las Q de salida serán estables.

Artículo completo: (Capítulo 3, p64) http://sceweb.uhcl.edu/koch/ceng5133/notes/ch3.pdf

Gracias por la respuesta. No entiendo qué están haciendo los FlipFlops ("A"-"D") al principio y cuál es su propósito, cuáles son sus efectos en el tiempo y, lo que es más importante, cuáles son sus efectos si quisiera calcular la latencia. Si ignoro los FlipFlops al principio: t_pd(NOT) + t_pd(AND) + t_pd(OR) + t_pcq("F") + t_setup("F") = 15ns