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