1 / 63 · 概念
デジタル信号:電圧を 0 と 1 として読む条件
論理値と電圧を区別し、入力しきい値・ノイズマージン・伝搬遅延を計算します。
レッスンは無料で読めます。受講登録すると進捗を保存できます。
このコースで作れるようになるもの
このコースでは、大学初級のデジタル論理設計をテンポよく学び、回路で確かめます。高校程度の代数があれば始められ、RTL 実習では基礎的なプログラミング経験が役立ちます。まず ゲート → 組合せ回路 → 記憶素子 → 状態機械をつなげます。後半の選択制の発展編ではデータパスとインターフェースへ広げます。
今回の目標は、単に「電圧が高ければ 1」と覚えることではありません。どの範囲で、どの時点から正しい論理値が保証されるかを説明できることです。
電圧を論理値として解釈します
論理回路は と を計算しますが、配線にかかる電圧は連続的に変化します。入力が 以下なら 0、 以上なら 1 と読むように規定します。二つのしきい値の間では、どちらも保証されません。実際の許容電圧範囲としきい値は素子のデータシートで定められます。
教材用の 3.3 V 回路を例にします。次の数値は特定製品の規格ではありません。
| 受信入力電圧 | 保証される解釈 |
|---|---|
| 0~0.8 V | 論理 0 |
| 0.8 V 超、2.0 V 未満 | 0/1 の判定は保証されない |
| 2.0~3.3 V | 論理 1 |
1.4 V が「第三の論理値」になるわけではありません。その入力について、デジタルモデルの保証条件を外れたという意味です。入力が 0 から 1 に変わる際はこの範囲を通るので、出力を観測する時点も定める必要があります。
- 送信側の出力: 許容負荷で Low・High の電圧を保証
- 配線とノイズ: 受信電圧は送信電圧と異なる場合がある
- 受信側の入力: VIL・VIH で論理値の有効範囲を判定
- 論理機能: 入力安定後、遅延時間が経過すると出力を保証
出力基準と入力基準の間の余裕
送信側の最大 Low 出力を 、最小 High 出力を とすると、ノイズマージンノイズマージン 送信側の保証出力電圧と受信側の入力判定基準の間の余裕です。静的な電圧規格の差から計算します。は次のようになります。
Low 出力に +0.4 V のノイズが加わっても 0.6 V なので、Low 入力の範囲内です。これは電圧規格と負荷条件を満たすことを前提とした静的な余裕です。短いパルスや配線の反射まで、この値一つで判定することはできません。
機能と時間の条件を合わせて考えます
AND の入力が 11 なら出力は 1 です。ただし、入力を変えたその瞬間にも出力が 1 であるとは保証しません。各経路の最大ゲート遅延を合計し、そのうち最大の値を遅延の上限とします。直列の二つのゲートの最大遅延が 2 ns と 3 ns なら、入力安定後に最大 5 ns 待つモデルです。
入力を接続しないことも、0 を与えることとは異なります。シミュレータの X は不明な値、Z はハイインピーダンスの駆動状態を表し、どちらも特定の実電圧と一対一には対応しません。このコースのボタン実習は、安定した 0/1 のモデルを使います。
参考資料:MIT OpenCourseWare — The Digital Abstraction
実習 · ノイズマージンの境界を越えてみる
VIL=0.8 V; VIH=2 V; VOL=0.2 V; VOH=2.8 V. NM_L=0.6 V; NM_H=0.8 V. 入力しきい値の間では 0/1 の判定を保証できません。教育用の静的モデルです。
- 送信 0 を選びます。出力は最悪条件の Low 電圧 0.20 V に固定します。ノイズを +0.60 V にすると受信電圧は 0.80 V で、まだ 0 が保証されます。
- 右矢印キーでノイズをさらに 10 mV 増やします。受信電圧が 0.81 V になると、判定が「保証なし」に変わります。すぐ 1 になるという意味ではありません。
- 送信 1 では出力 2.80 V からノイズを引いてみます。−0.80 V までは受信 1 が保証されますが、−0.81 V では保証されません。
- さらに大きなノイズで反対側の有効領域まで移ると、受信側は有効な論理値と判定しても、送信したデータは誤っている場合があります。有効な電圧と正しいデータは別の条件です。
実習の 0~VDD を外れる入力を、有効領域に強制的に丸め込むことはしません。実際の素子の許容入力範囲、クランプ電流、過渡パルスの条件は、データシートで別途確認する必要があります。ここでは特定素子の破壊や動的応答を予測しません。
自分で考えてみましょう
送信 1 の出力が 2.80 V、ノイズが −0.85 V なら、受信値は 0 と結論できますか。送信 0 に +2.00 V が加わる場合と比較してください。
解説を見る
最初は 1.95 V でしきい値の間にあるため、0 と 1 のどちらも保証されません。次は 0.20+2.00=2.20 V なので受信値は 1 ですが、送信ビットは 0 でした。有効な電圧と判定されても、送信データが正しく伝わったとは限りません。