- put dependency signals 'imem_dep', 'dmem_dep' and 'mul_dep' into structure for easier debugging

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@352 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2009-02-15 11:08:50 +00:00
parent 3057cdd154
commit e874bfa228
2 changed files with 13 additions and 13 deletions
+10 -13
View File
@@ -179,9 +179,6 @@ architecture Behavioral of pipeline is
signal ctrl_lines : ctrl_lines_t; signal ctrl_lines : ctrl_lines_t;
signal branch_ce : STD_LOGIC; signal branch_ce : STD_LOGIC;
signal cpu_run : STD_LOGIC; signal cpu_run : STD_LOGIC;
signal mul_dep : STD_LOGIC;
signal imem_dep : STD_LOGIC;
signal dmem_dep : STD_LOGIC;
signal cop_ctrl : cop_ctrl_in_t; signal cop_ctrl : cop_ctrl_in_t;
signal cop_stat : cop_ctrl_out_t; signal cop_stat : cop_ctrl_out_t;
signal cop_din : word_t; signal cop_din : word_t;
@@ -214,21 +211,21 @@ begin
cpu_run <= ce; cpu_run <= ce;
-- Stall Detection Unit --------------------------------------------------- -- Stall Detection Unit ---------------------------------------------------
sdu.ID_nop <= imem_dep or cop_stat.exc_pending or EX_stage.exc or MEM_stage.exc; sdu.ID_nop <= sdu.imem_dep or cop_stat.exc_pending or EX_stage.exc or MEM_stage.exc;
sdu.EX_nop <= mul_dep or ID_stage.nop or ID_stage.exc; sdu.EX_nop <= sdu.mul_dep or ID_stage.nop or ID_stage.exc;
sdu.MEM_nop <= EX_stage.nop or EX_stage.exc; sdu.MEM_nop <= EX_stage.nop or EX_stage.exc;
sdu.WB_nop <= dmem_dep or MEM_stage.nop; sdu.WB_nop <= sdu.dmem_dep or MEM_stage.nop;
sdu.ID_stall <= dmem_dep or imem_dep or mul_dep or ID_stage.exc; sdu.ID_stall <= sdu.dmem_dep or sdu.imem_dep or sdu.mul_dep or ID_stage.exc;
sdu.EX_stall <= dmem_dep; sdu.EX_stall <= sdu.dmem_dep;
sdu.MEM_stall <= dmem_dep; sdu.MEM_stall <= sdu.dmem_dep;
sdu.WB_stall <= '0'; sdu.WB_stall <= '0';
mul_dep <= ID_stage.ctrl.mul_access and (EX_stage.ctrl.mul_start or mul_busy); sdu.mul_dep <= ID_stage.ctrl.mul_access and (EX_stage.ctrl.mul_start or mul_busy);
imem_dep <= not imem_rdy; sdu.imem_dep <= not imem_rdy;
dmem_dep <= not dmem_rdy and MEM_stage.ctrl.dmem_en; sdu.dmem_dep <= not dmem_rdy and MEM_stage.ctrl.dmem_en;
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
imem_en <= cpu_run and not (mul_dep or dmem_dep or cop_stat.exc_commit); imem_en <= cpu_run and not (sdu.mul_dep or sdu.dmem_dep or cop_stat.exc_commit);
-------------------------------------------------------------------------- --------------------------------------------------------------------------
-- Muldiv -- Muldiv
+3
View File
@@ -220,6 +220,9 @@ package mips_types is
end record; end record;
type sdu_t is record type sdu_t is record
imem_dep : STD_LOGIC;
dmem_dep : STD_LOGIC;
mul_dep : STD_LOGIC;
ID_nop : STD_LOGIC; ID_nop : STD_LOGIC;
EX_nop : STD_LOGIC; EX_nop : STD_LOGIC;
MEM_nop : STD_LOGIC; MEM_nop : STD_LOGIC;