df26eb15e34b5b1b67b2474aadacb9c6ae8922b9
[calu.git] / cpu / src / alu.vhd
1 library IEEE;\r
2 use IEEE.std_logic_1164.all;\r
3 use IEEE.numeric_std.all;\r
4 \r
5 use work.common_pkg.all;\r
6 use work.alu_pkg.all;\r
7 use work.extension_pkg.all;\r
8 \r
9 entity alu is\r
10         --some modules won't need all inputs\r
11         port(\r
12         --System inputs\r
13         \r
14                         clk : in std_logic;\r
15                         reset : in std_logic;\r
16         --operation inputs\r
17                         cond : in condition_t;\r
18                         op_group : in op_info_t;\r
19                         left_operand : in gp_register_t;\r
20                         right_operand : in gp_register_t;\r
21                         \r
22             displacement : in gp_register_t;\r
23                         prog_cnt    : in instr_addr_t;\r
24                         brpr        : in std_logic;\r
25                         \r
26                         op_detail : in op_opt_t;\r
27                         \r
28                         alu_state  : in alu_result_rec;\r
29                         pval            : in gp_register_t;\r
30                         pval_nxt    : in gp_register_t;\r
31                         \r
32                         alu_result : out alu_result_rec;\r
33             addr : out word_t; --memaddr\r
34             data : out gp_register_t; --mem data --ureg\r
35                         \r
36                         pinc : out std_logic;\r
37                         pwr_en : out std_logic;\r
38                         paddr : out paddr_t\r
39                 );\r
40                 \r
41 end alu;\r
42 \r