Actualmente estoy intentando implementar un procesador simple utilizando Verilog en un FPGA. Estoy usando la arquitectura Mic - 1 como modelo de referencia.
Lo que no puedo entender es que la ALU está generando una salida de "estado" cuando se completa una determinada operación. ¿Cómo sabe exactamente la ALU que se ha completado una determinada operación? Debido a que cada operación puede tomar un número diferente de ciclos de reloj para completar. Por ejemplo, la multiplicación puede llevar muchos ciclos de reloj que la suma simple, ya que la multiplicación requiere varios cambios de bit y adiciones.
¿Este retardo de tiempo debería estar predefinido en ALU?
La arquitectura MIC-1 se muestra a continuación.