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

Subversion Repositories mlite

[/] [mlite/] [trunk/] [vhdl/] [mem_ctrl.vhd] - Diff between revs 2 and 6

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

Rev 2 Rev 6
Line 47... Line 47...
   signal opcode_reg : std_logic_vector(31 downto 0);
   signal opcode_reg : std_logic_vector(31 downto 0);
   signal next_opcode_reg : std_logic_vector(31 downto 0);
   signal next_opcode_reg : std_logic_vector(31 downto 0);
   signal setup_done : std_logic;
   signal setup_done : std_logic;
begin
begin
 
 
mem_proc: process(clk, reset_in, pause_in, nullify_op, address_pc,
mem_proc: process(clk, reset_in, pause_in, nullify_op,
                  address_data, mem_source, data_write, mem_data_r,
                  address_pc, address_data, mem_source, data_write,
                  mem_pause,
                  mem_data_r, mem_pause,
                  opcode_reg, next_opcode_reg, setup_done)
                  opcode_reg, next_opcode_reg, setup_done)
   variable data, datab   : std_logic_vector(31 downto 0);
   variable data, datab   : std_logic_vector(31 downto 0);
   variable opcode_temp   : std_logic_vector(31 downto 0);
   variable opcode_temp   : std_logic_vector(31 downto 0);
   variable byte_sel_temp : std_logic_vector(3 downto 0);
   variable byte_sel_temp : std_logic_vector(3 downto 0);
   variable write_temp    : std_logic;
   variable write_temp    : std_logic;
Line 132... Line 132...
 
 
   opcode_temp := opcode_reg;
   opcode_temp := opcode_reg;
   if mem_source = mem_none then
   if mem_source = mem_none then
      setup_done_var := '0';
      setup_done_var := '0';
      if pause_in = '0' and mem_pause = '0' then
      if pause_in = '0' and mem_pause = '0' then
         if nullify_op = '0' then
 
            opcode_temp := data;
            opcode_temp := data;
         else
 
            opcode_temp := ZERO;  --NOP
 
         end if;
 
      end if;
      end if;
   else
   else
      pause := not setup_done;
      pause := not setup_done;
      setup_done_var := '1';
      setup_done_var := '1';
      if setup_done = '1' then
      if setup_done = '1' then
Line 149... Line 145...
            opcode_temp := next_opcode_reg;
            opcode_temp := next_opcode_reg;
            setup_done_var := '0';
            setup_done_var := '0';
         end if;
         end if;
      end if;
      end if;
   end if;
   end if;
 
   if nullify_op = '1' then
 
      opcode_temp := ZERO;  --NOP
 
   end if;
   if reset_in = '1' then
   if reset_in = '1' then
      setup_done_var := '0';
      setup_done_var := '0';
      opcode_temp := ZERO;
      opcode_temp := ZERO;
   end if;
   end if;
 
 

powered by: WebSVN 2.1.0

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