X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=cpu%2Fsrc%2Fextension_b.vhd;fp=cpu%2Fsrc%2Fextension_b.vhd;h=a035511b1284e489e2d14ee37d95175ace76c738;hb=2271e17a13449f5e4f590cca7dc9c1c2992cb30c;hp=1947bde77ba738377e2817691e3c0acee3d1a8eb;hpb=9d97e7af92a104026cabcfd4ba41551af98a2114;p=calu.git diff --git a/cpu/src/extension_b.vhd b/cpu/src/extension_b.vhd index 1947bde..a035511 100644 --- a/cpu/src/extension_b.vhd +++ b/cpu/src/extension_b.vhd @@ -8,24 +8,29 @@ use work.core_pkg.all; use work.mem_pkg.all; use work.extension_pkg.all; -architecture behav of extension is +architecture behav of extension_gpm is +type gpm_internal is record + status : status_rec; +end record gpm_internal; +signal reg, reg_nxt : gpm_internal; begin - - -syn: process(clk, reset) - +syn : process (clk, reset) begin + if (reset = RESET_VALUE) then + reg.status <= ('0','0','0','0'); + elsif rising_edge(clk) then + reg <= reg_nxt; + end if; +end process syn; + +asyn : process (clk, reset, alu_nxt) +begin + reg_nxt.status <= alu_nxt.status; +end process asyn; - if (reset = RESET_VALUE) then - - elsif rising_edge(clk) then - - end if; - -end process; - +psw <= reg.status; end behav;