asyn : process (clk, reset, reg, psw_nxt, ext_reg, pwr_en, pinc, paddr)
variable reg_nxt_v : gpm_internal;
variable incb : ext_addr_t;
- variable sel_pval : ext_addr_t;
+ variable sel_pval, sel_pval_nxt : ext_addr_t;
variable data_out_v : gp_register_t;
variable data_v : gp_register_t;
variable tmp_data : gp_register_t;
+
begin
reg_nxt_v := reg;
data_v := ext_reg.data;
end if;
sel_pval:= reg_nxt_v.preg(to_integer(unsigned(paddr)));
-
+ sel_pval_nxt := std_logic_vector(unsigned(sel_pval)+unsigned(incb));
if pwr_en = '1' then
- reg_nxt_v.preg(to_integer(unsigned(paddr))) := std_logic_vector(unsigned(sel_pval)+unsigned(incb));
+ reg_nxt_v.preg(to_integer(unsigned(paddr))) := sel_pval_nxt;
end if;
reg_nxt_v.status := psw_nxt;
pval <= (others =>'0');
pval(pval'high downto BYTEADDR) <= sel_pval;
+ pval_nxt <= (others =>'0');
+ pval_nxt(pval'high downto BYTEADDR) <= sel_pval_nxt;
end process asyn;
end behav;