Moore机设计:例3 when a0=> if a=0 then sreg<=ok0; elsif a='l then sreg<=al; end if: when al=> if a=0 then sreg<=a0 elsif a=l then sreg<=okl; end if: when ok0 => if a=0 then sreg<=ok0; elsif a='land b=0 then sreg<=al; elsif a='land b='l then sreg<=okl end if:
when a0 => if a='0' then sreg<=ok0; elsif a='1' then sreg<=a1; end if; when a1 => if a='0' then sreg<=a0; elsif a='1' then sreg<=ok1; end if; when ok0 => if a='0' then sreg<=ok0; elsif a='1' and b='0' then sreg<=a1; elsif a='1' and b='1' then sreg<=ok1; end if; Moore机设计:例3
Moore机设计:例3 when okl=>if a=0'and b=0 then sreg<=a0; elsif a=o and b=l then sreg<=oko elsif a=l then sreg<=okl; end if: when others =>sreg<=init end case: end if end process
when ok1 => if a='0' and b='0' then sreg<=a0; elsif a='0' and b='1' then sreg<=ok0; elsif a='1' then sreg<=ok1; end if; when others =>sreg<=init; end case; end if; end process; Moore机设计:例3
Moore机设计:例3 with sreg select-根据状态决定输出 0 when initaoJal I when ok0Jokl 0 when others end beh; 综合结果如下: 回002
with sreg select --根据状态决定输出 z<= '0' when init|a0|a1, '1' when ok0|ok1, '0' when others; end beh; 综合结果如下: Moore机设计:例3
Moore机设计:例4 通过对状态图的分析,可以简化 A a0 oko/z A a-last a AB a=last a init A AB A'B C init>looking>ok/lz AB a1 ok1/z b=0 atlast a 使用1个寄存器专门存放触发时的输入 则状态可以减少到3个;结构也简化了
通过对状态图的分析,可以简化: 使用1个寄存器专门存放触发时的输入a; 则状态可以减少到3个;结构也简化了。 Moore机设计:例4