modified: interfaces according to SP operation
[calu.git] / cpu / src / alu_pkg.vhd
index 7a9564e913149c6f0b4c25a407f75234b3d5c5df..57e2dc4b82b7d36a45731834e0c4ef2a614dc10c 100755 (executable)
@@ -4,23 +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;
-
-       constant PADDR_WIDTH : integer := 2; 
-       type pointers_t is array(0 to 2**PADDR_WIDTH-1) of gp_register_t;
-       subtype paddr_t is std_logic_vector(PADDR_WIDTH-1 downto 0);
-       
-       subtype status_t is byte_t;
        --type alu_interal_rec is record
        --      
        --end record alu_internal_rec;
@@ -86,14 +75,23 @@ 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;
-                       prog_cnt : in instr_addr_t;
-                       brpr    : in std_logic;
+                       
+            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;
+                       pval            : in gp_register_t;
+                       
                        alu_result : out alu_result_rec;
-                        addr : out word_t; --memaddr
-                        data : out gp_register_t --mem data --ureg
+            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;