cpu: streamline hold a little

This commit is contained in:
Paul Mathieu 2021-03-14 18:08:13 -07:00
parent 48ffd4eb6d
commit 7ba6746ddd

View File

@ -106,7 +106,6 @@ begin
load_reg_next <= load_reg;
load_addr_next <= load_addr;
hold_inst_next <= hold_inst;
case cpu_state is
when RUN =>
@ -132,6 +131,8 @@ begin
reg_d(14) <= std_logic_vector(unsigned(reg_q(14)) + 2);
end case;
hold_inst_next <= inst;
regn_0 := to_integer(unsigned(inst(11 downto 8)));
regn_1 := to_integer(unsigned(inst(7 downto 4)));
regn_2 := to_integer(unsigned(inst(3 downto 0)));
@ -141,7 +142,6 @@ begin
when "0001" => -- LOAD rn, [rm, imm] (imm is signed 4 bits)
if mem_busy = '1' then
reg_d(14) <= reg_q(14); -- halt the prefetcher
hold_inst_next <= inst;
cpu_state_next <= WAIT_MEM;
else
mem_read <= '1';
@ -156,7 +156,6 @@ begin
when "0010" => -- STORE rn, [rm, imm]
if mem_busy = '1' then
reg_d(14) <= reg_q(14); -- halt the prefetcher
hold_inst_next <= inst;
cpu_state_next <= WAIT_MEM;
else
mem_write <= '1';