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

Estoy intentando crear un simulador de circuito lógico simple. Tengo dificultades para descubrir cómo se comporta una puerta lógica con una entrada que cambia más rápido que su retraso de propagación.

Al intentar conectar un reloj de alta frecuencia a una puerta lógica inversora con un retraso de 1 segundo en un simulador, la salida permaneció 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 - retraso)). ¿Es esto cierto? Si es así, ¿por qué? Además, ¿cómo funcionaría esto con diferentes retrasos de subida y bajada?

Dice "ay", pero sigue adelante.

Respuestas (4)

Realmente depende de cómo se construya la puerta. Para una simulación completamente precisa, debe realizar una simulación analógica a nivel de transistor. Sin embargo, es posible extraer parámetros de temporización de una simulación a nivel de transistor y abstraerlos un poco. Los tiempos de subida y bajada de salida y los retrasos de propagación dependerán de los tiempos de subida y bajada de entrada, la capacitancia de carga de salida, la tensión de alimentación, la temperatura y el estado de las entradas. Sí, es posible que la misma entrada en transición tenga un retraso 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 de ASIC y FPGA tanto en el análisis de tiempo estático como en el lugar y la ruta controlados por tiempo.

Fundamentalmente, el retraso de propagación está determinado por el tiempo que tarda la salida en hacer la transición en respuesta a un cambio en la entrada. Esto depende exactamente de cómo se construya la puerta a 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 moverse, entonces la salida comenzará a moverse 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 retraso 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,

¿Esta salida de simulación es incorrecta o estoy malinterpretando algo? Enlace del circuito (retardo de propagación en el inversor 1s) y gráfico de salida (medido entre NOT y BUF) , la frecuencia del reloj es de 10 Hz. Enlace del simulador . Según su respuesta, esperaría que la salida permanezca igual o no esté definida.
Bueno, si el simulador implementa el retraso literalmente como un retraso y nada más, entonces es correcto según la implementación. Sin embargo, si esta es una representación física válida de lo que está sucediendo depende precisamente de cómo se implementaría esa puerta.
Gracias por responder. Si la puerta fuera un inversor CMOS de dos transistores, ¿sería entonces una representación física válida?
Permítanme plantear una pregunta en su lugar: ¿dónde se almacenarían todas esas transiciones durante el retraso de propagación?

Lo que está describiendo se llama "retraso de transporte" en VHDL, a diferencia del "retraso inercial" en el que los eventos de menos de 1 segundo desaparecerían silenciosamente.

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

Más información aquí

El retraso de propagación es simplemente "la cantidad de tiempo que tarda la cabeza de la señal en viajar desde el emisor hasta el receptor" (desde aquí ), no es el ancho de banda, que es la rapidez con la que el sistema puede responder a la entrada.
La salida se comportará como se esperaba, pero retrasada por el tiempo de retraso de propagación.

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

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

Incluso hay circuitos basados ​​​​en el retraso de propagación, es decir, el oscilador en anillo

Es posible una subida y una caída diferentes.
Gracias por la información, ¿podría dar un ejemplo? Nunca me he encontrado con eso.
centers.njit.edu/ecelab/manuals/computer-engineering/ece-394/… "Debe tenerse en cuenta que el período de transición para los flancos ascendente y descendente de la misma puerta puede no ser necesariamente el mismo, aunque normalmente es deseable tener una transición simétrica"
Gracias. Nunca he pensado en cómo los tiempos de subida y bajada modifican el valor del retardo de propagación.
Me pregunto por qué más simuladores no tienen opciones para decir que la salida de un get cambiará a X un corto período de tiempo después de que cambien las entradas, y se volverá válida un tiempo después de que las entradas se hayan estabilizado. Algunos tipos de lógica no funcionarán con un modelo de este tipo, pero el uso de dicho modelo, excepto cuando se pueda determinar que un modelo más agradable es necesario y justificable, parecería que reduciría la probabilidad de que las cosas funcionen en la simulación pero fallen en realidad.
Muchos componentes de software sin duda lo tienen en cuenta, aunque no suelen ser simuladores. Las herramientas de análisis de tiempo estático y los motores de lugar y ruta controlados por tiempo observarán las variaciones del proceso, el voltaje, la temperatura, la velocidad de respuesta de entrada, la capacitancia de salida, etc. y determinarán el retraso de propagación mínimo y máximo en todas las rutas posibles a través de la lógica.

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

Los retrasos "inerciales" representan capacitancias (normalmente parásitas) que tardan en cargarse y descargarse. La mayoría de las puertas lógicas básicas entrarían en esta categoría, ya que las capacitancias de carga y descarga son la causa principal del retraso. Los retrasos pueden no ser simétricos y pueden depender de los estados de otras entradas. Si observa la salida en un osciloscopio, verá que sube/baja hasta su nivel final. Si la entrada cambia con demasiada frecuencia, nunca alcanzará los niveles que se supone que debe alcanzar y obtendrá una salida que sube y baja sin llegar realmente 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 retraso en el transporte para algunas velocidades de conmutación, ya que las puertas individuales tienen tiempo suficiente para alcanzar sus voltajes objetivo, pero la información tarda un tiempo en funcionar en la cadena.