signal firstz_next, firstz_int : boolean;
signal err_next, err_int : hstr_int;
signal errc_next, errc_int : hstr_int;
- signal errc_tmp_next, errc_tmp_int : hstr_int;
-- ALU
signal opcode : alu_ops;
signal op1 : csigned;
opp_int <= ALU_NOP;
err_int <= 0;
errc_int <= HSPALTE_MAX;
- errc_tmp_int <= 0;
firstz_int <= true;
-- out ports
p_rget_int <= '0';
opp_int <= opp_next;
err_int <= err_next;
errc_int <= errc_next;
- errc_tmp_int <= errc_tmp_next;
firstz_int <= firstz_next;
-- out ports
p_rget_int <= p_rget_next;
calc_done, wtmp_int, opp_int, z_sign_int, err_int, errc_int,
calc_error, op2_int, state_int, p_write_int, z_int, rbyte_int,
p_rget_int, opcode_int, op1_int, op3, opM, do_calc_int,
- errc_tmp_int, firstz_int)
+ firstz_int)
function hbyte2csigned (x : hbyte) return csigned is
variable y : csigned;
begin
opp_next <= opp_int;
err_next <= err_int;
errc_next <= errc_int;
- errc_tmp_next <= errc_tmp_int;
firstz_next <= firstz_int;
-- signals
p_rget_next <= '0';
when SBLANK1 =>
p_wtake_next <= '1';
p_write_next <= x"20";
- errc_tmp_next <= errc_int - 1;
if p_wdone = '1' then
+ errc_next <= errc_int - 1;
if errc_int <= 2 then
state_next <= SDONE;
else
end if;
end if;
when SBLANK2 =>
- errc_next <= errc_tmp_int;
if p_wdone = '0' then
state_next <= SBLANK1;
end if;
when SERROR1 =>
p_wtake_next <= '1';
p_write_next <= hbyte(to_unsigned (character'pos(error_str(err_int)(errc_int)),8));
- errc_tmp_next <= errc_int - 1;
if p_wdone = '1' then
+ errc_next <= errc_int - 1;
if errc_int <= 2 then
state_next <= SDONE;
else
end if;
end if;
when SERROR2 =>
- errc_next <= errc_tmp_int;
if p_wdone = '0' then
state_next <= SERROR1;
end if;