XNORゲート
概要
- 目的: XNOR(排他的NOR)ゲートは入力に対して論理等価演算を実行します。すべての入力が同じ値(すべてHIGHまたはすべてLOW)の場合に出力がHIGH(論理'1')になります。
- シンボル: XNORゲートは、XORゲートに似たシンボルで表されますが、出力に追加の小さな円(バブル)があり、反転を示します。
- DigiSim.ioでの役割: デジタルシステムにおけるコンパレータ、パリティチェック回路、および等価検出の基本的なコンポーネントとして機能します。

機能説明
論理動作
XNORゲートは論理等価を実装し、すべての入力が同じ状態の場合にHIGH出力を生成します。2入力XNORゲートの場合、両方の入力が同じ(両方HIGH または両方LOW)の場合に出力がHIGHになります。
真理値表(2入力XNORゲート):
| Input A | Input B | Output Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
ブール式: Y = A ⊙ B(YはA XNOR Bに等しい)
入力と出力
- 入力: XNORゲートは2つの入力(A、B)を持ちます。
- 出力: XNOR演算の結果を表す単一の1ビット出力。
DigiSim.ioでの視覚的表現
XNORゲートは、左側に入力ピン、右側に出力ピンを配置して表示されます。そのシンボルには、入力側の二重曲線(XORゲートと同様)と出力の小さな円(バブル)が含まれ、反転を示します。回路に接続すると、接続ワイヤの色の変化を通じてピンの論理状態を視覚的に示します。
教育的価値
主要概念
- 論理等価: バイナリ値間の等価比較の概念を実証します。
- 組み合わせ論理: ゲートの出力が現在の入力値のみによって決定されることを示します。
- 相補演算: XORとXNORの相補関数としての関係を説明します。
- 偶数パリティ: デジタルシステムにおける偶数パリティチェックの概念を紹介します。
学習目標
- 論理等価演算とその真理値表表現を理解する。
- XNORゲートを使用して信号が同一である場合を検出する方法を学ぶ。
- XNORゲートと他の論理ゲート(NOT、AND、OR、XOR)の関係を認識する。
- コンパレータやパリティ生成器などの実用的な回路にXNORゲートを適用する。
使用例/シナリオ
- ビットコンパレータ: 2つのビットまたはビットパターンが同一である場合の検出。
- 偶数パリティ生成/チェック: エラー検出のための偶数パリティビットの作成または検証。
- 位相比較: 2つの信号が同位相または同じ状態にある場合の検出。
- 等価テスト: 複数の信号が同じ値を持つかどうかの比較。
技術ノート
- XNORゲートの出力は、いずれかの入力がハイインピーダンス(high-Z)状態または未定義の場合、ハイインピーダンスを示します。
- 多入力XNORゲートの場合、偶数個の入力がHIGH(ゼロを含む)の場合に出力がHIGHになり、偶数パリティ検出に有用です。
- DigiSim.ioでは基本論理ゲートですが、XNORゲートは物理回路ではAND、OR、NOTゲートの組み合わせ、またはXORゲートの出力を反転することで実装されることが一般的です。
特性
- ブール式: Y = A ⊙ B(またはA XNOR B)
- 代数式: Y = A·B + Ā·B̄
- 伝搬遅延: 通常8-17ns(技術により異なる)
- 消費電力: 低~中程度
- ファンアウト: 通常10-50ゲート(技術に依存)
- ノイズマージン: 中程度
- 論理レベル: TTL/CMOS互換
XNORゲートの種類
2入力XNOR
- 標準構成
- 等価比較に使用
多入力XNOR
- 3つ以上の入力
- 偶数パリティの検出に使用
- 偶数個の入力が1の場合に出力が1
ゲート付きXNOR
- 追加のイネーブル/制御入力を持つ
- 制御された演算に使用
オープンコレクタ/オープンドレインXNOR
- ワイヤードAND機能のための特殊な出力構成
- バス指向システムで使用
アプリケーション
等価コンパレータ
- バイナリ数のビット単位比較
- マッチ検出回路
偶数パリティ生成/チェック
- データ伝送におけるエラー検出
- メモリシステムのエラーチェック
位相比較
- デジタル位相検出器
- クロック同期回路
算術演算
- 1の補数システム
- 特殊な算術関数
制御システム
- 状態検出
- 条件付き操作のトリガ
レベル変換
- 他のゲートと組み合わせた場合
- システム間の信号変換
デジタル信号処理
- 相関検出
- パターンマッチング操作
実装方法
基本ゲートの使用
- Y = (A AND B) OR (NOT A AND NOT B)
- AND、OR、NOTゲートが必要
インバータ付きXORゲート
- XORゲートの出力にインバータを追加
- XORゲートが利用可能な場合のシンプルな実装
NAND/NOR実装
- NANDまたはNORゲートのみを使用して構築可能
- NAND実装:Y = ((A NAND B) NAND (A NAND A)) NAND ((B NAND B) NAND (A NAND B))
集積回路
- 74xx266:クワッド2入力XNORゲート
- 74xx520/521:8ビットコンパレータ(XNOR機能を使用)
トランジスタレベルの実装
- CMOS:MOSFETの相補対を使用
- TTL:バイポーラ接合トランジスタを使用
回路実装(基本ゲートを使用した2入力XNOR)
graph LR
A[Input A] --> NOT1[NOT Gate]
B[Input B] --> NOT2[NOT Gate]
A --> AND1[AND Gate]
B --> AND1
NOT1 --> AND2[AND Gate]
NOT2 --> AND2
AND1 --> OR[OR Gate]
AND2 --> OR
OR --> Y[Output Y]
ロジック: Y = A·B + Ā·B̄(入力が等しい場合にHIGHを出力)
ブール式
2入力XNORゲートの場合:
- Y = A ⊙ B(⊙はXNOR演算を表す)
- Y = A·B + Ā·B̄
- Y = (A + B̄) · (Ā + B)
- Y = (A ⊕ B)'(XORの補数)
- Y = A ≡ B(論理等価)
3入力XNORゲートの場合:
- Y = A ⊙ B ⊙ C
- Y = (A ⊕ B ⊕ C)'
- Y = A·B·C + A·B̄·C̄ + Ā·B·C̄ + Ā·B̄·C
関連コンポーネント
- XORゲート: XNORの補数、入力が異なる場合にtrueを出力
- ANDゲート: XNORゲートの構築に使用
- ORゲート: XNORゲートの構築に使用
- NOTゲート: XNORゲートの構築に使用
- コンパレータ: ビット単位比較にXNORゲートを使用
- パリティ生成器/チェッカー: 偶数パリティにXNORゲートを使用
- 位相検出器: 位相比較にXNORゲートを使用
- 論理等価チェッカー: 機能検証にXNORゲートを使用