cpu: ext_reg switch bug FIX by markus
[calu.git] / cpu / src / execute_stage.vhd
index 9ca96bcf2e9921f9386e4e34c4993b05d3025937..ff24942bf61e203400c937c584083cfb8cc921df 100644 (file)
@@ -2,11 +2,16 @@ library IEEE;
 use IEEE.std_logic_1164.all;
 use IEEE.numeric_std.all;
 
+use work.common_pkg.all;
+use work.alu_pkg.all;
+use work.extension_pkg.all;
+--use work.gpm_pkg.all;
+
 entity execute_stage is
 
        generic (
                        -- active reset value
-                       RESET_VALUE : std_logic;
+                       RESET_VALUE : std_logic
                        -- active logic value
                        --LOGIC_ACT : std_logic;
                        
@@ -16,19 +21,24 @@ entity execute_stage is
                        clk : in std_logic;
                        reset : in std_logic;
                         dec_instr : in dec_op;
-
-                --System output
-                        result : out gp_register_t;--reg
-                        result_addr : out gp_addr_t;--reg
-                        addr : out word_t; --memaddr
-                        data : out gp_register_t; --mem data --ureg
-                        alu_jump : out std_logic;--reg
-                        brpr  : out std_logic;  --reg
-                        wr_en : out std_logic;--regop --reg
-                        dmem  : out std_logic;--memop
-                        dmem_wr_en : out std_logic;
-                        hword  : out std_logic;
-                        byte_s : out std_logic
+                       regfile_val : in gp_register_t;
+                       reg_we : in std_logic;
+                       reg_addr : in gp_addr_t;
+                       ext_reg  : in extmod_rec;
+            --System output
+            result : out gp_register_t;--reg
+            result_addr : out gp_addr_t;--reg
+            addr : out word_t; --memaddr
+            data : out gp_register_t; --mem data --ureg
+            alu_jump : out std_logic;--reg
+            brpr  : out std_logic;  --reg
+            wr_en : out std_logic;--regop --reg
+            dmem  : out std_logic;--memop
+            dmem_write_en : out std_logic;
+            hword  : out std_logic;
+            byte_s : out std_logic;
+                               
+                       ext_data_out : out gp_register_t
                );
                
 end execute_stage;