diff --git a/lib/emac/src/piso.vhd b/lib/emac/src/piso.vhd index 966e769..7e5344f 100644 --- a/lib/emac/src/piso.vhd +++ b/lib/emac/src/piso.vhd @@ -62,7 +62,7 @@ begin end process; proc_fsm: -process(state, din_vld, pre_fin) +process(state, din_vld, shift_en, pre_fin) begin state_next <= state; shift_reg_we <= '0'; @@ -78,10 +78,12 @@ begin when shift => if pre_fin = '1' then - din_re <= din_vld; if din_vld = '1' then - shift_reg_we <= '1'; - state_next <= shift; + if shift_en = '1' then + din_re <= '1'; + shift_reg_we <= '1'; + state_next <= shift; + end if; else state_next <= idle; end if;