En realidad, todo está escrito, solo necesitas un par de registros y un poco de lógica combinatoria. Comenzaré a escribir cómo creo que puede hacer que la máquina defina entradas y salidas al diseñarla.
Supongamos que comienza en su estado \ $ S_0 \ $, ese es su estado de "entrada". Lo primero es lo primero, cargar los dos registros. En la primera transición necesitarás:
$$ \ begin {cases}
\ textbf {LDA} = 1 & \ textit {para escribir en A} \\
\ textbf {LDB} = 0 & \ textit {no quieres escribir en B} \\
\ overline {\ textbf {W}} = 0 & \ textit {para escribir}
\ end {cases} $$
En el segundo, por supuesto:
$$ \ begin {cases}
\ textbf {LDB} = 1 & \ textit {para escribir en B} \\
\ textbf {LDA} = 0 & \ textit {no quieres escribir en A} \\
\ overline {\ textbf {W}} = 0 & \ textit {para escribir}
\ end {cases} $$
Ahora estás en otro estado, recuerda que pasaste por un estado "silencioso". Las dos últimas transiciones son condicionales, es decir, no dependen de las entradas.
Llamemos a tu estado actual \ $ S_L \ $, L como en bucle. Ahora estamos implementando el algoritmo de Euclides tal como lo escribiste. En primer lugar, cuando A = B necesitamos salir del bucle y decirle al mundo exterior que hemos terminado, por lo que otra transición sería:
$$ \ textbf {if} \ textbf {CC} = 00 \ rightarrow S_ {end}, \ \ textbf {F} = 1, \ \ textbf {LDA} = 0, \ \ textbf {LDB} = 0 $$
Hay dos transiciones más de interés, el aporte importante del curso es CC:
$$ \ textbf {if} \ textbf {CC} = 01 \ rightarrow S_ {L}, \ textbf {F} = 0, \ \ textbf {OP} = 0, \ \ textbf {W} = 1, \ \ textbf {LDA} = 1, \ \ textbf {LDB} = 0 $$
$$ \ textbf {if} \ textbf {CC} = 10 \ rightarrow S_ {L}, \ \ textbf {F} = 0, \ \ textbf {OP} = 1, \ \ textbf {W} = 1, \ \ textbf {LDA} = 0, \ \ textbf {LDB} = 1 $$
Estoy llamando "ENCONTRADO" solo "F". Todas las salidas que no están especificadas en una transición pueden tratarse como "no importa"
Finalmente, alrededor de \ $ S_ {final} \ $, es posible que desee permanecer en él manteniendo \ $ \ textbf {F} = 1 \ $.
Resumiendo:
Estados : \ $ S_0, S_1, S_L, S_ {final} \ $
Entradas : CC
Salidas : LDA , LDB , W , OP
Usted tiene todo lo que necesita para sintetizar el FSM, regrese si también necesita ayuda con eso.