state_next <= SIDLE;
end case;
end if;
- when SADD =>
- if done_intern = '1' then
- state_next <= SDONE;
- end if;
- when SSUB =>
- if done_intern = '1' then
- state_next <= SDONE;
- end if;
- when SMUL =>
+ when SADD | SSUB | SMUL | SDIV_DONE =>
if done_intern = '1' then
state_next <= SDONE;
end if;
if div_calc_done = '1' then
state_next <= SDIV_DONE;
end if;
- when SDIV_DONE =>
- if done_intern = '1' then
- state_next <= SDONE;
- end if;
when SDONE =>
if do_calc = '0' then
state_next <= SIDLE;