1fbc2eca1126c06346fbb1f8f2967264b031e318
[calu.git] / cpu / src / gpm_b.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 use work.alu_pkg.all;
7
8 architecture behaviour of gpm is
9 type gpm_internal is record
10         status : status_rec;
11 end record gpm_internal;
12
13 signal reg, reg_nxt : gpm_internal;
14
15 begin
16 syn : process (clk, reset)
17 begin
18         if (reset = RESET_VALUE) then
19                 reg.status <= ('0','0','0','0');
20         elsif rising_edge(clk) then
21                 reg <= reg_nxt;
22         end if;
23 end process syn;
24
25 asyn : process (clk, reset, alu_nxt)
26 begin
27         reg_nxt.status <= alu_nxt.status;
28 end process asyn;
29
30 psw <= reg.status;
31         
32 end architecture behaviour;