process(rst,pre_state) begin if(rst='1')then next_state <= IDLE; else --if(rising_edge(clk))then case pre_state is when IDLE => next_state <= WR1; when WR1 => next_state <= WR2; when WR2 => next_state <= WR3; when WR3 => next_state <= WR4; when WR4 => next_state <= WR5; when WR5 => next_state <= WR1; when others=> next_state <= IDLE; end case; end if; end process;
以上为专业做法,你如果不理解,就需要花点时间。 |