removed 7seg from DT
[calu.git] / cpu / src / alu_pkg.vhd
index 7e1562d5d161da0331bb8daccf0b20090f64b9c3..289d35c30a9712b6778a1d15afece0131048d271 100755 (executable)
@@ -4,19 +4,12 @@ use IEEE.std_logic_1164.all;
 use IEEE.numeric_std.all;
 
 use work.common_pkg.all;
+use work.extension_pkg.all;
 --use work.core_extension.all;
 
 
 package alu_pkg is
        
-       type status_rec is record
-               zero : std_logic;
-               oflo : std_logic;
-               sign : std_logic;
-               carry : std_logic;
-       end record;
-       
-       subtype status_t is byte_t;
        --type alu_interal_rec is record
        --      
        --end record alu_internal_rec;
@@ -26,14 +19,12 @@ package alu_pkg is
                result_addr : gp_addr_t;
                
                status : status_rec;
-               --stackpointer : gp_register_t;
 
                alu_jump : std_logic;
                brpr : std_logic;
                reg_op : std_logic;
                mem_op  : std_logic;
                
-               --new_val : std_logic;
                mem_en : std_logic;
                
                hw_op   : std_logic;
@@ -42,7 +33,7 @@ package alu_pkg is
                
        end record alu_result_rec;
        
-       constant SHIFT_WIDTH : integer := 4; --log2c(gp_register_t'length);
+       constant SHIFT_WIDTH : integer := 5; --log2c(gp_register_t'length);
        
        constant COND_ZERO : condition_t := "0001";
        constant COND_NZERO : condition_t := "0000";
@@ -84,10 +75,24 @@ package alu_pkg is
                        op_group : in op_info_t;
                        left_operand : in gp_register_t;
                        right_operand : in gp_register_t;
-                        displacement : in gp_register_t;
+                       
+            displacement : in gp_register_t;
+                       prog_cnt    : in instr_addr_t;
+                       brpr        : in std_logic;
+                       
                        op_detail : in op_opt_t;
+                       
                        alu_state  : in alu_result_rec;
-                       alu_result : out alu_result_rec
+                       pval            : in gp_register_t;
+                       pval_nxt   : in gp_register_t;
+                       
+                       alu_result : out alu_result_rec;
+            addr : out word_t; --memaddr
+            data : out gp_register_t; --mem data --ureg
+                       
+                       pinc : out std_logic;
+                       pwr_en : out std_logic;
+                       paddr : out paddr_t
                );
         end component alu;