- ベストアンサー
論理回路の問題を教えてください。
- この記事では、論理回路の問題について解説します。
- 質問内容の要点は、同期式順序回路の設計方法と回路図についてです。
- 具体的な問題に対する解答として、状態遷移図、状態変数の式、Dフリップフロップを用いた回路図の作成方法を解説します。
- みんなの回答 (6)
- 専門家の回答
その他の回答 (5)
あらま。放置、というわけでもなかったみたいですね.. 気になってたので、ちょっと言葉がすぎました。すみません。
何の反応もないけどわかってんのか? 何か言えよ。 知りたい事解ったら後はどうでもいい。と思ってるなら質問文に書いとけよ。 回答しないから、こんなイヤな思いをしなくて済むからよ。 礼儀も知らないようなヤツがしれっと質問するな。迷惑だ
補足
a-me-ma-さん、反応が遅くなって大変申し訳ありませんでした。 また、不快な思いをさせてしまった事に対し、深くお詫び申し上げます。 すぐに回答欲しいというマークを出しているにもかかわらず、 こちらがすぐに反応しなかったことを深く反省しようと思います。 大変恐縮ですが、もしお許し下されば、今後ともご教授お願いいたします。 問題については、解説を熟読した後、補足をしたいと思います。
No.1,2 です。 「状態は4つと考える方がよい」と、それ前提で書いてしまいましたが、 出題の条件の通り3つで回答しなくてはいけませんよね。 ちょっと考えますのでしばしお待ちを。
現実にはReset 入力は非同期なのが殆どですが、 >Resetが0のときは状態Aとなること。 の一文から「Reset入力は非同期」と解釈します。 (1)の回答について 質問者さんの考えだと、タイムチャートの左から Reset=0 の時が状態(A)、 Reset=1 で Out=0 の期間が状態(B)、 Out=1 の期間が状態(C)... という事だと推測しました。 「CLK は立ち上がりエッジに同期して動作」とあるので、 「エッジである」事を示す表現にするべきです。 ・遷移 (A)→(B) の条件が Reset=1 となってますが、NGです。 Reset=1 だけで遷移するのは出題内容 >CLK信号の立ち上がりエッジに同期して動作し に反します。 遷移するタイミングは CLK↑ですよね。 ・状態(B)の部分に Out=1 を出力する、と記すといいです。 既にここで状態(B)が質問者さんの考えと違っています。 ・遷移(B)→(C) の条件は同様に CLK↑ ・状態(C)の部分に Out=0 を出力する、と記すといいです。 さて、状態(C)は、CLK↑ 1回目は状態保持、2回目で(B)に遷移、 と言う事です。1回目、2回目を識別する仕組みは後で考えるとして 遷移条件は以下のように書いてしまいます。 ・遷移(C)→(C) の条件 CLK↑1回目 ・遷移(C)→(B) の条件 CLK↑2回目 (そういう意味で、状態が3つでなく4つで考える方がわかり易いんですけどね。 出題者の意図が不明ですがとりあえず従って進めます) あと >Resetが0のときは状態Aとなること。 に合うように、以下の2つの遷移が要ります。 ・遷移(B)→(A) の条件 Reset=0 ・遷移(C)→(A) の条件 Reset=0 (2)について そうですね。まず表に追記しましょう。 ところでこの問題、やっぱりおかしいと思います。 >1CLKサイクル後の状態 とあるので、 状態(C)の Out=0 は 2CLKサイクル期間同じ状態ですが、 分けて考える必要があります。 S1 S2 S1' S2' Out A 0 0 0 1 0 B 0 1 1 0 1 C1 1 0 1 1 0 C2 1 1 1 0 0 先にも触れたように、やはり「状態は4つ」と考えるべきだと思います。 上のようにC1,C2 に分けたものから式を起こせば、 ・S1' = ^S1・S2 + S1・^S2 + S1・S2 = ^S1・S2 + S1 ・S2'= ^S1・^S2 + S1・^S2 となります。 (3)について。 S1'、S2' は、それぞれ S1、S2 の 1CLKサイクル後の予定の値ですから、 D フリップフロップ (以下DFF) の D入力に与えてやればいいです。
お礼
a-me-ma-さん、非常に詳しい解説ありがとうございました。 なるほど、そのような回路図になるのですね。 この問題が理解できたおかげで、他の問題も解決いたしました! 本当にありがとうございました!