He creado un multiplexor simple que se alimenta de entrada diferente en la salida en función de statemachine. Ahora bien, hay estados en los que no necesito la salida, así que suelo ponerla a 0.
INST <= "01" WHEN fsm_state = read_first_half
OR fsm_state = read_second_half
OR fsm_state = next_r ELSE
"10" WHEN fsm_state = write_first_half
OR fsm_state = write_second_half
OR fsm_state = next_w
ELSE "00";
Que yo recuerde había un tercer valor sintetizable 'Z'. Que yo recuerde es un valor flotante con alta impedancia. ¿Cuándo lo uso y es seguro usarlo? ¿Será sintetizable en todas las FPGAs?