]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/blobdiff - hw/lx-rocon_tumbl/lx_rocon_gprf_abd.vhd
Tumbl - disable GPRF forward if finish_wrb_mem_s is clock cycle cause.
[fpga/lx-cpu1/lx-rocon.git] / hw / lx-rocon_tumbl / lx_rocon_gprf_abd.vhd
index 94cf3da29d2651efdf490683e86ec5b08e22ea85..1cb7446ab6a3f4690b217bb25315cb276cc92359 100644 (file)
@@ -16,6 +16,8 @@ entity lx_rocon_gprf_abd is
                clk_i        :  in std_logic;
                rst_i        :  in std_logic;
                clken_i      :  in std_logic;
+               gprf_finish_wrb_mem_i : in std_logic;
+
                --
                ID2GPRF_i    :  in ID2GPRF_Type;
                MEM_WRB_i    :  in WRB_Type;
@@ -158,9 +160,9 @@ p_regd:
        begin
                wait until clk_i'event and clk_i = '1';
                if (clken_i = '1') then
-                       wthru_rA_r <= not ena_rA_s;
-                       wthru_rB_r <= not ena_rB_s;
-                       wthru_rD_r <= not ena_rD_s;
+                       wthru_rA_r <= not ena_rA_s and not gprf_finish_wrb_mem_i;
+                       wthru_rB_r <= not ena_rB_s and not gprf_finish_wrb_mem_i;
+                       wthru_rD_r <= not ena_rD_s and not gprf_finish_wrb_mem_i;
                end if;
        end process;