2つの2進数があって、その大きさによって比較しなければならないとします。 これらの 2 つの数値のうち 1 つの数値は、もう 1 つの数値より大きいか、等しいか、小さいかのいずれかです。 この2進数間の比較タスクを実行するデジタル回路は、デジタルコンパレータと呼ばれます。 AとBの値は0か1のどちらかであり、それ以外にはありません。 入力はAとBの2つで、出力はA > B、A = B、A < Bの3つになるように論理的に設計しよう。 出力端子をそれぞれG、E、Lとする。
我々が望むのは、
G = A > Bのとき1(論理的に1)、
B = A = Bのとき1(論理的に1)、
そして
L = A < Bのとき1(論理的に1)、である。
この論理回路をうまく設計すれば、2つの1ビット2進数A、Bを確実に比較し、AとBの比較条件に応じてそれぞれの出力端子をハイ状態にすることができます。
a | b | g | e | l | |||||
b | a | a | b | b | b0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | |||||
1 | 0 | 1 | 0 | 0 | |||||
1 | 0 | 1 |
このとき、。 A=0かつB=0のとき、A=BかつE=1
A=0かつB=1のとき、A<BかつL=1
A=1かつB=0のとき、A>BかつG=1
A=1かつB=1のとき、A=BかつE=1
ここで上の表から、次のことがわかります。 この回路は、
として実現できます。
上記は2つのシングルビット2進数しか比較できないので、シングルビットディジタルコンパレータと呼ばれます。
2進数システムでは、通常、単一の2進数は使用せず、通常は4ビット以上のマルチビット2進数を使用します。
2つの4ビット2進数があるとします。
この2つの数値を比較してみましょう。
条件(1)、A1 > B1、つまりA1 = 1、B1 = 0のとき⇒ A > BまたはG = 1となる。
条件(2)、A1=B1かつA2> B2すなわちA2=1かつB2=0のとき⇒A >B or G=1.
条件(3)、A1=B1かつA2=B2かつA3 > B3すなわち。e. A3=1かつB3=0⇒A<2763>BまたはG=1.
条件(4)、A1=B1、A2=B2、A3=B3、A4<2763>B4 i. A1=B1、A2=B2、A3=B3、A4=B4i.e. A4=1 かつ B4=0 ⇒ A<2763>B または G=1 となる。
したがって、上式のいずれかが真であればG=1である,
同様に、
さて、次に。
Again when,
上記の式(i)、(ii)、(iii)から論理回路を描くことができる。
これが4bitデジタルコンパレータです。
デジタルコンパレータのIC
4bitデジタルコンパレータで使えるIC(集積回路)はIC 7485です。 より多くのビットを比較するために、このようなICを複数個カスケードすることができます。 このICは、(A < B)in, (A = B)in, (A > B)inの3端子と、(A < B)out, (A = B)out, (A > B)outの3端子があり、この3端子をカスケード接続することで、より多くのビットを比較することができます。 2つの7485をカスケード接続すると、下位の(A < B)out, (A = B)out, (A > B)out はそれぞれ上位の (A < B)in, (A = B)in, (A > B)in に接続することになります。