9ec598638530aa97708967dca32b9ac78210de10
[calu.git] / cpu / src / writeback_stage.vhd
1 library IEEE;
2 use IEEE.std_logic_1164.all;
3 use IEEE.numeric_std.all;
4
5 use work.common_pkg.all;
6
7 entity writeback_stage is
8
9         generic (
10                         -- active reset value
11                         RESET_VALUE : std_logic;
12                         -- active logic value
13                         LOGIC_ACT : std_logic;
14                         FPGATYPE : string
15                         );
16         port(
17                 --System inputs
18                         clk : in std_logic;
19                         reset : in std_logic;
20
21                         result : in gp_register_t;      --reg  (alu result or jumpaddr)
22                         result_addr : in gp_addr_t;     --reg
23                         address : in word_t;            --ureg 
24                         ram_data : in word_t;           --ureg
25                         alu_jmp : in std_logic;         --reg
26                         br_pred : in std_logic;         --reg
27                         write_en : in std_logic;        --reg  (register file) bei jump 1 wenn addr in result
28                         dmem_en : in std_logic;         --ureg (jump addr in mem or in address)
29                         dmem_write_en : in std_logic;   --ureg
30                         hword : in std_logic;           --ureg
31                         byte_s : in std_logic;          --ureg  
32
33                         regfile_val : out gp_register_t;
34                         reg_we : out std_logic;
35                         reg_addr : out gp_addr_t;
36                         jump_addr : out instruction_addr_t;
37                         jump : out std_logic;
38                         -- hallo stefan mir adden da jetzt mal schnell an uart port :D
39                         bus_tx : out std_logic;
40                         bus_rx : in std_logic;
41                         -- instruction memory program port :D
42                         new_im_data_out : out std_logic;
43                         im_addr : out gp_register_t;
44                         im_data : out gp_register_t;
45                         
46                         sseg0 : out std_logic_vector(0 to 6);
47                         sseg1 : out std_logic_vector(0 to 6);
48                         sseg2 : out std_logic_vector(0 to 6);
49                         sseg3 : out std_logic_vector(0 to 6);
50
51                         int_req : out interrupt_t
52
53                 );
54                 
55 end writeback_stage;