1
input

  clk ( clock ) :

        0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...

required output :

   F   :
        0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 ...

組み合わせ回路と順序回路(論理ゲートとフリップフロップ)を使用してその出力を取得するにはどうすればよいですか?トピックやウェブページをお勧めできますか?

4

3 に答える 3

1

出力にパターンが表示されますか? ほぼ0 0 1 1 0 0 1 1 0 0 1 1 0 0 ...です。それはどのように見えますか?

ヒント: 時計を数える、カウントを 2 進数で表す...

クロックから上記の出力を取得できるようになったので、目的の出力を取得するために前の出力をキャンセルするために使用できる別のビットを取得できないかどうかを確認してください。

ヒント: 上記のヒントをさらに見てください...

于 2011-03-20T11:14:26.267 に答える
1

さて、シーケンスは 8 ビットごとに繰り返されます0 0 1 1 0 0 0 0log_2(8)=3これは、出力関数を備えた 3 つの要素カウンターが必要であることを意味します。

0 0 0 = 0
0 0 1 = 0
0 1 0 = 1
0 1 1 = 1
1 0 0 = 0
1 0 1 = 0
1 1 0 = 0
1 1 1 = 0

今私は個人的に使用しています:

fun = BooleanMinimize[
  BooleanFunction[{{0, 0, 0} -> 0, {0, 0, 1} -> 0, {0, 1, 0} -> 
      1, {0, 1, 1} -> 1, {1, 0, 0} -> 0, {1, 0, 1} -> 0, {1, 1, 0} -> 
      0, {1, 1, 1} -> 0}][c, b, a]]

出力は:b && ! cですが、カルノー マップを使用できます。

これで、wolframalpha.com で以下を検索できますlogic circuit b && ! c

ここに画像の説明を入力

したがって、3 つの JK トリガーを作成して 3 つのエレメント カウンターを作成し、出力{a, b, c}を使用する必要がbありcます。講義ノートを調べて、それらを接続する方法を確認できます。

JK トリガーといくつかのバイナリ ロジックを使用したシンプルな 4 ビット 2 ウェイ カウンター。 ここに画像の説明を入力

  • andカウントアップするときは、上の演算子パスが使用されます。
  • カウント ダウンの場合は、下のパスが使用されます。
  • or要素はそれらを組み合わせるために使用されます。
  • 追加のロジック入力で、inverseどのようにカウントするかを決定するために使用されます。
于 2011-03-20T11:15:52.493 に答える