正在加载图片...
8.3摩尔状态机设计(续1) 例8.2四状态摩尔型有限状态机的描述。 BEGIN PROCESS(ck,reset)一状态转换的时序进程 BEGIN IF reset ='1'THEN state <=s0; ELSIF(ck'EVENT and ck='1')THEN CASE state IS WHEN s0=>IF input ='1'THEN state<=s1; ELSE state <=s0; END IF; WHEN s1=>IF input ='1'THEN state <=s2; ELSE state <=s1; END IF; WHEN s2=>IF input ='1'THEN state <=s3; ELSE state <=s2; END IF; WHEN s3 =IF input ='1'THEN state <=s0; ELSE state <=s3; END IF END CASE; END IF; END PROCESS; PROCESS(state)一输出由当前状态唯一决定的组合逻辑进程 BEGIN CASE state IS WHEN s0=>output <="00" WHEN s1 =output <="01"; WHEN s2 =output <="10"; WHEN s3=>output <="11"; END CASE; END PROCESS; END rti; 8.3 摩尔状态机设计(续1) BEGIN PROCESS (clk, reset) -- 状态转换的时序进程 BEGIN IF reset = '1' THEN state <= s0; ELSIF (clk'EVENT and clk='1') THEN CASE state IS WHEN s0=> IF input = '1' THEN state <= s1; ELSE state <= s0; END IF; WHEN s1=> IF input = '1' THEN state <= s2; ELSE state <= s1; END IF; WHEN s2=> IF input = '1' THEN state <= s3; ELSE state <= s2; END IF; WHEN s3 => IF input = '1' THEN state <= s0; ELSE state <= s3; END IF; END CASE; END IF; END PROCESS; PROCESS (state) -- 输出由当前状态唯一决定的组合逻辑进程 BEGIN CASE state IS WHEN s0 => output <= "00"; WHEN s1 => output <= "01"; WHEN s2 => output <= "10"; WHEN s3 => output <= "11"; END CASE; END PROCESS; END rtl; 例8.2 四状态摩尔型有限状态机的描述
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有