¿Cómo detectar la condición de carrera en un circuito secuencial?

0

digamos que nos dan un circuito secuencial (por ejemplo, un pestillo D convencional) ¿Cómo debo hacer para detectar si tiene una condición de raza o no?

    
pregunta kiyarash

1 respuesta

1

Recomendaría googlear sobre el análisis de circuitos asíncronos.

Lo que debes hacer es determinar primero todos los bucles de realimentación en el circuito. es decir, Y = X'Z o con cualquier convención de asignación a la que esté acostumbrado. Salida en función de todas las entradas.

Luego crea una tabla de estado como en la imagen de abajo. [La fila superior con el encabezado "Estado siguiente" son las entradas]

Verás una condición de carrera cuando una entrada requiere que un Estado Presente pase a un Estado Siguiente que requiera un cambio de más de un bit (modo fundamental).

Se produce una carrera con más de un cambio de bit en las transiciones de estado porque dos bits están "compitiendo" para ser el otro. Por ejemplo, 00 - > 11. Puede ser 01 primero, o 10 primero, y esto puede causar problemas. Cuando esto lleva a problemas, se llama una carrera crítica. Pero si esta condición de carrera finalmente lleva al estado final o previsto de todos modos, está bien. Por ejemplo, con una entrada de 1, 00- > 11 se espera. Pero con una entrada de 1, el estado 10 lleva al siguiente estado 11, y lo mismo es que 01 lleva al siguiente estado 11. Por lo tanto, no tiene ningún problema.

Una tabla más fácil para ver esto sería siguiendo el formato de lo siguiente: El "Y2Y1" son los estados actuales y el "W2W1" son los estados siguientes. Simplemente rodee los estados de los estados siguientes que son los mismos que los estados actuales. Estos son los estados estables. Si hay una columna sin un estado estable, hay inestabilidad.

Hay mucho más que hacer aquí. De todos modos, otra cosa con su pregunta, también es bueno crear un diagrama de estado que sigue una disposición de cambio de un bit. Y si hay algún cruce entre los estados (donde hay más de un cambio de bit), dependiendo de cómo lo hayas organizado, entonces hay una carrera.

    
respondido por el Val Croft

Lea otras preguntas en las etiquetas