¿Comportamiento de las puertas lógicas cuando una entrada no está definida?

1

Traté de entender el comportamiento de este circuito cuando al principio no tiene suministro de voltaje, lo que significa que el estado actual no es ni 0 ni 1. Se puede decir que hay una entrada de 'nada'. Luego, cuando el interruptor en el pulso digital va a la entrada pero hay una puerta AND de 2 entradas, pero solo hay 1 entrada conocida porque al principio no hay señal, así que no sé cómo se comportaría esta vez como las salidas de A , B y y no son ni 0 ni 1, por lo que no puedo usar la tabla de verdad o la ecuación de estado que es una función de la entrada y el estado presente. No hay un estado presente aquí para empezar.

Si sigo la tabla de verdad, entonces A = 0, B = 0, x = 0 resulta en A = 0, B = 1, y = 0 en la siguiente etapa. Sin embargo, cuando no hay suministro de voltaje al principio. A no es igual a 0 porque si A es igual a cero, entonces A '= 1, que requiere suministro de voltaje, pero no hay suministro de voltaje para hacerlo así

    
pregunta aukxn

3 respuestas

1

Estás en lo correcto. Es por eso que un circuito real de la vida real debería inicializarse la primera vez con x = 1.

    
respondido por el markg
0

A veces es importante reconocer dos tipos distintos de puertas "AND", y también con "OR", "NAND", "NOR", etc.

  1. Aquellos donde un máximo válido en todas las entradas garantizarán un alto rendimiento válido, y donde una baja señal válida en cualquier entrada implicará que la salida será baja, ya sea que otras entradas estén o no a niveles lógicos válidos.

  2. Aquellos donde un máximo válido en todas las entradas garantizarán una alta salida válida, y donde una señal baja válida en cualquier entrada acompañada por señales altas o bajas válidas en todos los demás implicarán que la salida será baja, pero si alguna de las entradas está en niveles no válidos, la salida puede aparecer arbitrariamente como una señal válida alta, baja válida o no válida.

La mayoría de las puertas implementadas en lógica discreta se comportan de la manera anterior. Las puertas que se combinan en otra lógica, sin embargo, especialmente en un CPLD o FPGA, no siempre lo hacen. Además, mientras que los flip flops normalmente se encienden en un estado alto o bajo válido, hay casos en los que se pueden encender, o ingresar debido a violaciones de configuración / retención, estados extraños que pueden generar niveles lógicos no válidos.

Si su circuito se dibuja con el estilo anterior de puertas, entonces un pulso de reloj que llega cuando X es un mínimo válido (y ha sido de tal manera que satisface los requisitos de tiempo de registro) el siguiente pulso de reloj hará que ambos registros pica una baja válida. Si cualquiera de los flip-flop está emitiendo un máximo válido mientras que X es un mínimo válido, Y será alto hasta el siguiente impulso de reloj o hasta que X deje de ser bajo. Si ambos registros tienen mínimos válidos cuando X sube, los pulsos sucesivos producirán A = 0 B = 1, A = 1 B = 1, A = 1 B = 0; el circuito permanecerá en este último estado.

Si el circuito se dibuja con el último estilo de puertas, es probable que el comportamiento sea mucho menos seguro. En la práctica, probablemente se estabilizaría después de un tiempo a A = 1 B = 0, pero eso no está garantizado.

    
respondido por el supercat
0

Es indefinido "dentro de las restricciones que cada salida o entrada solo puede ser 0 o 1". En algún momento, la fuente de alimentación se estabilizará, el reloj marcará el reloj y la magia sucederá, ya sea que lo desee o no. Si es cronometrado, algo sucederá en base a las entradas.

Es por eso que aplicamos pulsos de restablecimiento que son más largos que la estabilización de la fuente de alimentación.

En cuanto al circuito.

$$ D_1 = xA + xB $$ $$ D_2 = x \ bar A $$ $$ y = \ bar x (A + B) $$

$$ \ begin {array} {c | ccc | cc} Clk & \ text {A} & \ text {B} & \ text {x} & \ text {A} & \ text {B} & \ text {y} \\ \ hline ↑ & 0 & 0 & 0 & 0 & 0 & 0 \\ ↑ & 0 & 0 & 1 & 0 & 1 & 0 \\ 1/0 & 0 & 1 & 0 & 0 & 0 & 1 \\ ↑ & 0 & 1 & 0 & 0 & 0 & 0 \\ ↑ & 0 & 1 & 1 & 1 & 1 & 0 \\ 1/0 & 1 & 0 & 0 & 0 & 0 & 1 \\ ↑ & 1 & 0 & 0 & 0 & 0 & 0 \\ ↑ & 1 & 0 & 1 & 1 & 0 & 0 \\ 1/0 & 1 & 1 & 0 & 0 & 0 & 1 \\ ↑ & 1 & 1 & 0 & 0 & 0 & 0 \\ ↑ & 1 & 1 & 1 & 1 & 0 & 0 \\ \ end {array} $$

Editar ..

Si x = 0. Ambos A y amp; B son 0.

Cuando x va 1, B se hace realidad en el primer reloj. A & B será verdad en el segundo reloj. Solo A será cierto después del tercer reloj.

y solo se cumple cuando x pasa a 0, antes de que se produzca CLK (+ retrasos de propagación) el bloqueo de 0 en A y B. Se produce cada vez que x cambia a 0.

No importa en qué estado empiecen A o B (aleatorio). Después de un par de relojes (en el peor de los casos), la máquina de estado se restablecerá al estado de x.

No se requiere reinicio. x = 0, A & B será 0. x = 1, después de 3 relojes A = 1 y B = 0.

    
respondido por el StainlessSteelRat

Lea otras preguntas en las etiquetas