正在加载图片...
process(clk) if reset=l' then st<=s0 elsif clk'event and clk='l' then case st Is when s0=>st<=sI when sl=> if input='I then st<=s0 else st<=sI end case nd if output<'I when st=sl else end beh 例 Moore状态机的设计 该状态机有5个状态,转换图如下所示:其中输入控制ID为 4位二进制数,对应为1位16进制数 S0/00 >10 S2/11 ID=7 S4/11 S3/10 D=9 设计思路:采用二进制常数定义不同的状态;输出直接与状 态的后2位对应;先确定状态的变化,再将状态的后2位输 出 library ieee use ieee std logic 1164 allsignal st: state_type; begin process(clk) begin if reset='1' then st<=s0; elsif clk'event and clk='1' then case st is when s0=>st<=s1; when s1=> if input='1' then st<=s0; else st<=s1; end if; end case; end if; end process; output<='1' when st=s1 else'0'; end beh; 例 Moore 状态机的设计 该状态机有 5 个状态,转换图如下所示:其中输入控制 ID 为 4 位二进制数,对应为 1 位 16 进制数; 设计思路:采用二进制常数定义不同的状态;输出直接与状 态的后 2 位对应;先确定状态的变化,再将状态的后 2 位输 出; library ieee; use ieee.std_logic_1164.all;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有