mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-01-16 16:18:55 +00:00
execute1: simplify flush_out
It's always set when f_out.redirect is set, so may as well set it once at the end. It's all combo from the register. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
8b55fc4d9e
commit
80a0e7fcf3
@ -70,7 +70,6 @@ begin
|
||||
ctrl_tmp.tb <= std_ulogic_vector(unsigned(ctrl.tb) + 1);
|
||||
|
||||
terminate_out <= '0';
|
||||
flush_out <= '0';
|
||||
f_out <= Execute1ToFetch1TypeInit;
|
||||
|
||||
if e_in.valid = '1' then
|
||||
@ -100,7 +99,6 @@ begin
|
||||
result := ppc_andc(e_in.read_data1, e_in.read_data2);
|
||||
result_en := 1;
|
||||
when OP_B =>
|
||||
flush_out <= '1';
|
||||
f_out.redirect <= '1';
|
||||
f_out.redirect_nia <= std_ulogic_vector(signed(e_in.nia) + signed(e_in.read_data2));
|
||||
when OP_BC =>
|
||||
@ -108,7 +106,6 @@ begin
|
||||
ctrl_tmp.ctr <= std_ulogic_vector(unsigned(ctrl.ctr) - 1);
|
||||
end if;
|
||||
if ppc_bc_taken(e_in.const1(4 downto 0), e_in.const2(4 downto 0), e_in.cr, ctrl.ctr) = 1 then
|
||||
flush_out <= '1';
|
||||
f_out.redirect <= '1';
|
||||
f_out.redirect_nia <= std_ulogic_vector(signed(e_in.nia) + signed(e_in.read_data2));
|
||||
end if;
|
||||
@ -117,13 +114,11 @@ begin
|
||||
ctrl_tmp.ctr <= std_ulogic_vector(unsigned(ctrl.ctr) - 1);
|
||||
end if;
|
||||
if ppc_bc_taken(e_in.const1(4 downto 0), e_in.const2(4 downto 0), e_in.cr, ctrl.ctr) = 1 then
|
||||
flush_out <= '1';
|
||||
f_out.redirect <= '1';
|
||||
f_out.redirect_nia <= ctrl.lr(63 downto 2) & "00";
|
||||
end if;
|
||||
when OP_BCCTR =>
|
||||
if ppc_bcctr_taken(e_in.const1(4 downto 0), e_in.const2(4 downto 0), e_in.cr) = 1 then
|
||||
flush_out <= '1';
|
||||
f_out.redirect <= '1';
|
||||
f_out.redirect_nia <= ctrl.ctr(63 downto 2) & "00";
|
||||
end if;
|
||||
@ -354,5 +349,6 @@ begin
|
||||
-- update outputs
|
||||
--f_out <= r.f;
|
||||
e_out <= r.e;
|
||||
flush_out <= f_out.redirect;
|
||||
end process;
|
||||
end architecture behaviour;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user