OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_cpu_control.vhd] - Diff between revs 20 and 21

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 20 Rev 21
Line 678... Line 678...
          execute_engine.i_reg_nxt <= ipb.rdata(31 downto 0);
          execute_engine.i_reg_nxt <= ipb.rdata(31 downto 0);
execute_engine.if_rst_nxt <= '0';
execute_engine.if_rst_nxt <= '0';
if (execute_engine.if_rst = '0') then -- if there was no non-linear PC modification
if (execute_engine.if_rst = '0') then -- if there was no non-linear PC modification
  execute_engine.pc_nxt <= execute_engine.next_pc;
  execute_engine.pc_nxt <= execute_engine.next_pc;
end if;
end if;
          -- ipb.rdata(35) (invalid decompressed instruction) is not immediately checked here!
          --
          if (execute_engine.sleep = '1') or (trap_ctrl.env_start = '1') or ((ipb.rdata(33) or ipb.rdata(34)) = '1') then
          if (execute_engine.sleep = '1') or (trap_ctrl.env_start = '1') or ((ipb.rdata(33) or ipb.rdata(34)) = '1') then
            execute_engine.state_nxt <= TRAP;
            execute_engine.state_nxt <= TRAP;
          else
          else
            execute_engine.state_nxt <= EXECUTE;
            execute_engine.state_nxt <= EXECUTE;
          end if;
          end if;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.