¿Cómo se comporta una puerta lógica con una entrada que cambia más rápido que su retardo de propagación?

5

Estoy intentando crear un simulador de circuito lógico simple. Me está costando entender cómo se comporta una puerta lógica con una entrada que cambia más rápido que su demora de propagación.

Al intentar conectar un reloj de alta frecuencia a una compuerta lógica del inversor con un retraso de 1 segundo en un simulador, la salida se mantuvo igual durante 1 segundo y luego comenzó a seguir el patrón del reloj.

Parece como si la salida fuera una función siguiente: salida (t) = NO (entrada (t - retardo)). ¿Es esto cierto? Si es así, ¿por qué? Además, ¿cómo funcionaría esto con diferentes retrasos de subida y bajada?

    
pregunta David Porizek

4 respuestas

4

Realmente depende de cómo se construye la puerta. Para una simulación completamente precisa, tienes que hacer una simulación analógica a nivel de transistor. Sin embargo, es posible extraer parámetros de tiempo de una simulación a nivel de transistor y abstraerlos un poco. Los tiempos de subida y bajada de la salida y los retrasos de propagación dependerán de los tiempos de subida y caída de la entrada, la capacitancia de la carga de salida, la tensión de alimentación, la temperatura y el estado de las entradas. Sí, es posible que la misma transición de entrada tenga un retardo de propagación que depende del estado de las otras entradas. Estas técnicas se utilizan en los modelos de tiempo utilizados en el diseño ASIC y FPGA tanto en el análisis de tiempo estático como en el lugar y la ruta en función del tiempo.

Fundamentalmente, el retraso de propagación está determinado por el tiempo que tarda la salida en transitar en respuesta a un cambio en la entrada. Esto depende exactamente de cómo se construye la puerta en un nivel de transistor. Para un solo inversor CMOS de dos transistores, el retraso de propagación está determinado por las características eléctricas analógicas de los transistores y su capacitancia parásita. La entrada girará a cierta velocidad, luego, una vez que se alcance el umbral, la salida comenzará a girar. Si la entrada cambia antes de que la salida termine de girar, entonces la salida comenzará a retroceder hacia el otro lado y terminará con una salida altamente distorsionada. Entonces, para un solo inversor, la salida para un cambio más rápido que el retardo de propagación sería un nivel lógico no válido (es decir, x). Sin embargo, las "puertas" pueden ser mucho más complicadas que un solo inversor. Por ejemplo, si tiene una "puerta" que se construye a partir de una cadena de 100,000 inversores, entonces el retardo de propagación de toda la unidad será 100,000 veces el retardo de propagación de un solo inversor y es ciertamente posible tener múltiples transiciones en Vuelo 'al mismo tiempo, siempre que estas transiciones no sean más rápidas de lo que cada inversor individual puede manejar.

    
respondido por el alex.forencich
3

Lo que estás describiendo se denomina "demora de transporte" en VHDL, a diferencia de la "demora de inercia" en la cual los eventos de menos de 1 segundo desaparecerían silenciosamente.

"Retardo de transporte" es útil para modelar líneas de retardo, cables muy largos, etc., pero "retardo de inercia" es una simulación de lógica más precisa.

Más información aquí

    
respondido por el Brian Drummond
2

El retraso de propagación es simplemente "la cantidad de tiempo que tarda el jefe de la señal en viajar desde el remitente al receptor" (de aquí ), no es el ancho de banda, que es lo rápido que el sistema puede responder a la entrada.
La salida se comportará como se espera, pero retrasada por el tiempo de retardo de propagación.

Con diferentes retrasos de propagación de ascenso y descenso, será más complicado, porque una parte diferente de la señal se retrasará de manera diferente y el comportamiento no será tan obvio.

Por supuesto, todo esto es válido para sistemas simples (es decir, el inversor), aumentar la complejidad conducirá a mayores posibilidades de comportamiento impredecible. (es decir, la condición de carrera )

Hay incluso circuitos basados en el retardo de propagación, es decir, el anillo oscilador

    
respondido por el FMarazzi
2

En términos generales, hay dos tipos de retardo, "inercial" y "transporte" (y combinaciones de ambos).

Los retrasos "inerciales" representan capacitancias (generalmente parásitas) que toman tiempo para cargar y descargar. La mayoría de las puertas lógicas básicas caerían en esta categoría, ya que la carga y la descarga de capacidades son la causa principal del retraso. Los retrasos pueden no ser simétricos y depender de los estados de otras entradas. Si observa la salida en un alcance, verá que aumenta o disminuye hasta su nivel final. Si la entrada cambia con demasiada frecuencia, entonces nunca alcanzará los niveles que se supone que debe alcanzar y obtendrás una salida que se mueve hacia arriba y hacia abajo sin llegar a sus objetivos.

Los retrasos de "transporte" representan cosas que retrasan una señal sin destruir su forma. Un ejemplo es una línea de transmisión debidamente terminada. Una larga cadena de puertas también puede parecerse mucho a un retardo de transporte para algunas velocidades de conmutación, ya que las puertas individuales tienen tiempo suficiente para alcanzar los voltajes objetivo, pero la información funciona durante toda la cadena.

    
respondido por el Peter Green

Lea otras preguntas en las etiquetas