"在网上找到的一个状态机代码如上 感觉next_state <= sx;好像多于的 因为 case中对每种情况的 next_state 多做了赋值 这样写不知道有什么好处?" 从开始的这段程序中,我们可以看到系统使用的reset为异步复位state <= s0;,但是在没有异步复位时state为随机值,就有可能是sx,这时sx就会等待。相当于default状态。 process (clk, rst) begin if rst = '1' then state <= s0; elsif rising_edge(clk) then state <= next_state; end if; end process; |