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;
|
|
|