2

私は現在、競合状態に関連する 2 つのことを理解しようとして立ち往生しています。

問題 1:

私は次の質問を提示されました。

We consider the digital circuit and the value of its inputs a,
and b as given below. For all logic gates, we assume that
there is a gate delay of exactly one time unit (i.e. the gate
delay equals the time between two dotted lines in the
diagram). Give the values of c, d, e, f in the digital circuit for
every point of time between 0 and 8.

ここに画像の説明を入力

そして、与えられた答えは次のとおりです。

ここに画像の説明を入力

これはどのように正確に達成されますか?これは私がこれまでに考えたことです:

  • aが0から始まるのでcは1から始まります
  • bは 1から始まるため、 dは 0 から始まります。
  • 時間が 2 に等しい場合、aは 1 になります... cが 0 に切り替わるまでに 1 の伝搬遅延があるため、3 時間単位で 0 になります
  • 同じロジックがdに適用されます
  • efは定数 1 または 0 を意味しますが、何かの影響を受けているようです。

ここで実際に何が起こっているのですか?ブール関数または何かに関連していますか。もしそうなら何?

問題 2:

単純な回路を生成するための単純な方法または論理的アプローチを誰かが持っていますか (XOR、AND、OR、NOT、NAND ブール関数を使用して:

  • 静的な競合状態 - 値が一定であることを意図している場合
  • 動的競合状態 - 値の変更が予想される場合

よろしくお願いします!

4

1 に答える 1

2

さて、ゲートの入力が異なる時間に変化すると、非同期回路の競合状態が発生します。論理関数が次のようになっているとしましょう

λ = ab + ~b~a

この関数をゲートで実装する最も簡単な方法は次のようになります

: 基本的な構成要素は AND、OR、および NOT であると想定しています。明らかにCMOS回路では、NAND、NOR、およびNOTが回路を構築する方法ですが、一般的な原則は同じままです。0 to 1また、AND、NOR、および NOT の遅延は同じであると仮定しますが、実際には NAND と NOR は、出力がまたはの場合に異なる遅延を持ち1 to 0、NOT は NAND または NOR よりも約 20% 高速です。

a ->| AND |-------->| OR | -> λ
b ->|  1  |         |    |
                    |    |
a ->| NOT |->|AND|->|    |
b ->| NOT |->| 2 |  |    |

ここで、AND と NOT の両方に 2ns の遅延があると仮定します。つまり、OR ゲートは、2 番目の位置の値が変化する 2 ns 前に、最初の位置の値が変化するのを認識します。

つまり、最初の AND ゲートの出力は から に進むため、 と の両方が から に進む場合、同じままであると予想されますab1AND0ゲートの出力は からに進みます。つまり、OR 条件は真のままです。λ1001

ただし、最初の AND ゲートの少し後に 2 番目の AND ゲートから出力を取得すると、OR ゲートはからへ0,0の遷移中にその入力を一時的に確認します。つまり、一時的な落ち込みがあり、次のようになります1,00,1λ

     __
   a   |___________
     __
   b   |___________
     ____
AND1     |_________
            _______
AND2 ______|
     ______   _____
   λ       |_|

AND1 が下降して AND2 が上昇する間の OR ゲートの入力を見ると、OR ゲート0を介して伝播し、確かに、2ns 後に出力にディップがあります。

これは、競合状態がどのように発生するかについての一般的な概要です。あなたの質問を理解するのに役立つことを願っています。

于 2012-06-12T18:53:40.633 に答える