- renamed pc.is_branch:boolean to pc.branch_take:std_logic
Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@471 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -260,9 +260,9 @@ proc_stage_reset:
|
|||||||
end process;
|
end process;
|
||||||
|
|
||||||
proc_stage_pc:
|
proc_stage_pc:
|
||||||
process(pc, c0_ctrl_in)
|
process(pc)
|
||||||
begin
|
begin
|
||||||
if pc.is_branch then
|
if pc.branch_take = '1' then
|
||||||
pc.curr <= pc.pc_branch after 2 ns;
|
pc.curr <= pc.pc_branch after 2 ns;
|
||||||
else
|
else
|
||||||
pc.curr <= pc.nxt after 2 ns;
|
pc.curr <= pc.nxt after 2 ns;
|
||||||
@@ -310,25 +310,19 @@ proc_stage_branch:
|
|||||||
process(clk_2)
|
process(clk_2)
|
||||||
begin
|
begin
|
||||||
if rising_edge(clk_2) and branch_ce = '1' then
|
if rising_edge(clk_2) and branch_ce = '1' then
|
||||||
pc.is_branch <= false;
|
pc.branch_take <= '0';
|
||||||
if EX_stage.ctrl.branch = '1' then
|
if EX_stage.ctrl.branch = '1' then
|
||||||
|
|
||||||
case EX_stage.ctrl.bc_src is
|
case EX_stage.ctrl.bc_src is
|
||||||
|
|
||||||
when bc_eq_ne =>
|
when bc_eq_ne =>
|
||||||
if (EX_stage.ctrl.bc_not xor bcu_flags.eq) = '1' then
|
pc.branch_take <= EX_stage.ctrl.bc_not xor bcu_flags.eq;
|
||||||
pc.is_branch <= true;
|
|
||||||
end if;
|
|
||||||
|
|
||||||
when bc_lez_gtz =>
|
when bc_lez_gtz =>
|
||||||
if (EX_stage.ctrl.bc_not xor (bcu_flags.eq or bcu_flags.ltz)) = '1' then
|
pc.branch_take <= EX_stage.ctrl.bc_not xor (bcu_flags.eq or bcu_flags.ltz);
|
||||||
pc.is_branch <= true;
|
|
||||||
end if;
|
|
||||||
|
|
||||||
when bc_ltz_gez =>
|
when bc_ltz_gez =>
|
||||||
if (EX_stage.ctrl.bc_not xor bcu_flags.ltz) = '1' then
|
pc.branch_take <= EX_stage.ctrl.bc_not xor bcu_flags.ltz;
|
||||||
pc.is_branch <= true;
|
|
||||||
end if;
|
|
||||||
|
|
||||||
when others => null;
|
when others => null;
|
||||||
end case;
|
end case;
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ package mips_types is
|
|||||||
last : word_t;
|
last : word_t;
|
||||||
nxt : word_t;
|
nxt : word_t;
|
||||||
pc_branch : word_t;
|
pc_branch : word_t;
|
||||||
is_branch : boolean;
|
branch_take : std_logic;
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
type alu_outsel_t is
|
type alu_outsel_t is
|
||||||
|
|||||||
Reference in New Issue
Block a user