FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

DIGITAL ELECTRONICS NOTESをやってみる (11. 順序回路)

以下のデジタル回路の問題をやってみる。続き。

lancamentomerlo.my.canva.site

  • Q: 10110を認識するステートマシンを作ってください。
  • A:

上記で正解なのだが、考え方としては、

  • ステートA:初期状態
  • ステートB:1が受理された状態
  • ステートC:10が受理された状態
  • ステートD:101が受理された状態
  • ステートE:1011が受理された状態

となるため、一つずつ条件を考える。

  • ステートA:初期状態から1が入力されればBに移る。0が入力されればそのまま
  • ステートB:0が入力されればCに移る。1が入力されると、認識したい"10110"の最初の1が再度認識された状態とみなされ、Bにとどまる。
  • ステートC:1が入力されればDに移る。0が入力されると、"100"が受理された状態のためこのようなパタンは存在せず、Aに戻る。
  • ステートD:1が入力されればEに移る。0が入力されると、"1010"となるため、"10110"の2番目までが受理された状態と認識できるため、B戻る。
  • ステートE:0が入力されれば"10110"が受理された状態となる。1が入力されれば"10111"となり、最初の1が受理された状態と認識できるため、Aに戻る。

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com