「真理値表」の解説

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
2022年04月23日 更新。
用語:真理値表
用語の読み方:しんりちひょう

2値論理回路の特性を表すために、入力信号と出力信号の真理値の関係を表形式に表す場合が多くあります。この様な表を真理値表(truth table)といいます。

狭義には、真理値表は、出力信号がその時の入力信号によってのみ決まる、組み合わせ回路の性質の記述に使用される表です。しかし、広義には、出力信号が過去の回路の状態の影響を受ける、順序回路の性質の記述に使われる表も真理値表と呼びます。

組み合わせ回路の動作を完全に記述するには、入力信号の真理値の、考えられる全ての組み合わせを真理値表に記入する必要があります。入力信号1つにつき、01の2通りの真理値が考えられるので、N個(Nは自然数)の入力端子があれば、入力信号の真理値の考えられる全ての組み合わせは2N通りあります。

順序回路の出力信号は、現在の入力信号だけでは決まりませんから、順序回路の真理値表を作成するには、後述する様に、直前の入力信号や出力信号などの真理値を、変数として真理値表に記入する必要が出てきます。

なお、真理値表はもともと入力信号と出力信号の真理値の関係を表す表の事を指しますが、正論理回路であるという前提であれば、真理値0は電圧Lと同義で、真理値1は電圧Hと同義ですから、入力信号と出力信号の電圧の関係を表す表を真理値表と呼ぶ事もあります。

広告

目次

1. 組み合わせ回路における真理値表 … 1ページ
2. Don't careを使った真理値表の省略表記 … 1ページ
3. 電圧表記の真理値表 … 1ページ
4. 順序回路における真理値表 … 1ページ
4-1. 非同期式の順序回路の真理値表の例 … 1ページ
4-2. クロック同期式の順序回路の真理値表の例 … 1ページ

1.組み合わせ回路における真理値表

組み合わせ回路の一例として、図1に示すNOT回路を取り上げます。

図1、NOT回路
↑ 画像をクリックすると拡大
図1、NOT回路

NOT回路は、出力Yに入力Xの反対の真理値(X=0ならY=1で、X=1ならY=0)が出てくる回路です。このNOT回路の特性を真理値表で表すと、表1の様になります。

表1、NOT回路の真理値表
入力 出力
X Y
0 1
1 0

入力信号1本で、0または1の2種類の真理値の組み合わせがあります。N本(Nは自然数)の入力信号がある回路の場合、入力信号の組み合わせは2N種類になります。よって、入力信号の本数が増えるにしたがって、真理値表の行数が指数的に増えます。

例として、図2に示す3入力AND回路を考えましょう。

図2、3入力AND回路
↑ 画像をクリックすると拡大
図2、3入力AND回路

この回路は、3つの入力信号A、B、およびCのすべてが0の場合は出力信号が1になり、他の入力電圧の組み合わせの場合は出力信号が0になります。この特性を真理値表で表したのが表2になります。

表2、3入力のAND回路の真理値表
入力 出力
A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

3入力AND回路の場合、真理値表の真理値(01)を記した行数が、23=8行になります。

4入力の組み合わせ回路なら、真理値表は24=16行になります。また5入力の組み合わせ回路回路なら、真理値表は25=32行になります。この様に、入力信号の本数が1つ増えるたびに、真理値表の行数が2倍になります。

2.Don't careを使った真理値表の省略表記

通常は、真理値には0()と1()の2種類のみを考えます。さらに、「0でも1でも良い」という真理値(これをDon't careといいます)を加えると、真理値表を簡略化する事ができます。

例えば表2の3入力のAND回路の真理値表を、Don't careを用いて簡略化すると、表3になります。

表3、Don't careを用いて簡略化した3入力のAND回路の真理値表
入力 出力
A B C Y
0 X X 0
1 0 X 0
1 1 0 0
1 1 1 1

この表において、Xと書いてある部分がDon't careで、0でも1でもいい事を表しています。

3.電圧表記の真理値表

真理値表の本来の意味を考えると、真理値表は入力信号と出力信号の真理値の関係を表す表です。これが狭義の真理値表です。

しかし、扱う2値論理回路が正論理で設計されているという前提であれば、真理値の0と電圧のLは同義で、真理値の1と電圧のHは同義ですから、入力電圧と出力電圧の関係を表した表も真理値表と同じ意味を持ちます。よって、広義には入力電圧と出力電圧の関係を表した表も、真理値表と呼びます。

参考:入力電圧と出力電圧の関係を表した表を「電圧表」とか「電圧値表」などと呼ぶ事はないようです。論理回路は論理学(特に命題論理)の応用として発展した歴史的経緯があり、論理学で真理値表という言葉を使っていたため、真理値表という言葉が定着し、入力電圧と出力電圧の関係を表した表も、そのまま真理値表と呼ばれる様になったと思われます。

TC74HC08AP(東芝セミコンダクター社製)という標準ロジックICを例に挙げて、広義の真理値表について説明します。

TC74HC08APは、2入力AND回路(図3参照)が4個、1つのパッケージに収められたICです。

図3、2入力AND回路
↑ 画像をクリックすると拡大
図3、2入力AND回路

2入力AND回路の狭義の真理値表(入力信号と出力信号の真理値の関係を表した表)は、表4の様になります。

表4、2入力AND回路の真理値表(真理値表記)
入力 出力
A B Y
0 0 0
0 1 0
1 0 0
1 1 1

表4の真理値を電圧に書き換える(0Lに置き換え、1Hに置き換える)と、表5の様になります。(広義の真理値表)

表5、2入力AND回路の真理値表(電圧表記)
入力 出力
A B Y
L L L
L H L
H L L
H H H

実際にTC74HC08APのデータシートを見ると、図4に示す様に、表5と同様に、電圧表記の真理値表が載っています。

図4、TC74HC08APのデータシートに載っている電圧表記の真理値表
図4、TC74HC08APのデータシートに載っている電圧表記の真理値表
この表は、東芝セミコンダクター社TC74HC08APの日本語のデータシート(2014-03-01版)の2ページより引用しました。

このページの、これ以降の真理値表では、電圧表記で真理値表を書く事にします。

4.順序回路における真理値表

順序回路の場合は、現在の入力信号だけではなく、過去の回路の状態が出力信号に影響しますから、入力信号と出力信号の真理値の対応表である真理値表を作成する事は、原則的にはできません。

しかしながら、場合によっては、直前の入力電圧や出力電圧などを変数として使う事で、順序回路でも真理値表を作成する事ができる場合があります。

順序回路には非同期式の順序回路とクロック同期式の順序回路がありますので、順に、それらの真理値表の例を紹介します。

4-1.非同期式の順序回路の真理値表の例

順序回路の例として、ここではRSフリップフロップを取り上げます。

RSフリップフロップとは、2つの入力端子RおよびSと、2つの出力端子QおよびQを持つ論理回路で、1ビット(2進数1桁分)の情報を記憶する働きをします。

図5にRSフリップフロップの回路記号を、図6にRSフリップフロップを2つの2入力NOR回路で構成した例を示します。

図5、RSフリップフロップの回路記号
↑ 画像をクリックすると拡大
図5、RSフリップフロップの回路記号
図6、RSフリップフロップを2つの2入力NOR回路で構成した例
↑ 画像をクリックすると拡大
図6、RSフリップフロップを2つの2入力NOR回路で構成した例

RSフリップフロップは、R端子にH、S端子にLを入力した場合は0を記憶し、R端子にL、S端子にHを入力した場合は1を記憶し、R端子とS端子の両方にLを入力した場合は記憶内容を保持します。

0を記憶している状態ではQ端子にLQ端子にHを出力し、1を記憶している状態ではQ端子にHQ端子にLを出力します。

R端子とS端子の両方にHを入力する事は、普通禁止される(利用者にR端子とS端子に同時にHを入力しない義務を課す)事が多いのですが、図6の回路でRSフリップフロップを構成する場合は、R端子とS端子の両方にHを入力すると、Q端子とQ端子の両方にLを出力します。

図6のRSフリップフロップの真理値表を、表6に示します。

表6、図6のRSフリップフロップの真理値表
入力 出力 動作
R S Q Q
L L QOLD QOLD 記憶保持
L H H L セット(1を記憶させる)
H L L H リセット(0を記憶させる)
H H L L 禁止

注:表4の真理値表ではR端子とS端子の両方にHを入力した場合、Q端子とQ端子の両方にLを出力していますが、他の出力電圧になるようなRSフリップフロップの構成法もあります。この表は、あくまで図4の様にRSフリップフロップを構成した場合の真理値表です。

表4の真理値表には、QOLDQOLDの2つの変数が現れている事に注意が必要です。

QOLDは出力端子Qの直前の出力電圧を意味しています。またQOLDはQOLD論理反転した値を意味しています。

この様に、QOLDQOLDの2つの、回路の過去の状態を表す変数を導入する事で、R端子とS端子の両方にLを入力した時の、記憶した情報を保持する動作を表現しています。

4-2.クロック同期式の順序回路の真理値表の例

ここでは、クロック同期式の順序回路の例として、Dフリップフロップを取り上げ、真理値表の作成方法を説明します。

図7にポジティブエッジトリガのDフリップフロップの回路記号を示します。

図7、Dフリップフロップの回路記号
↑ 画像をクリックすると拡大
図7、Dフリップフロップの回路記号

ポジティブエッジトリガのDフリップフロップは、CLK信号の立ち上がりのタイミングでD信号を読み取り、それをQ端子に出力する働きをします。CLK信号の立ち上がり時以外は、直前のQ端子の電圧を保持します。この働きを真理値表で表現すると、表7の様になります。

表7、Dフリップフロップの真理値表(Don't care使用)
入力 出力 動作
CLK D Q
L X QOLD 記憶保持
H X QOLD
X QOLD
L L 読み取り
H H

ここで、Xは電圧がLでもHでも構わない事を示しており、通常"Don't care"と呼ばれています。Xの記号を使わずに真理値表を作成する事も可能ですが、XLの場合とHの場合で、2行に分けて真理値表を表記する必要があり、真理値表の行数が増えてしまいます。この様にXは、真理値表を簡略表記するのに便利な記号です。

参考までに、表7と同じ内容を表す真理値表を、Xの記号を使わずに作成すると表8の様になります。

表8、Dフリップフロップの真理値表(D'ont care不使用)
入力 出力 動作
CLK D Q
L L QOLD 記憶保持
L H QOLD
H L QOLD
H H QOLD
L QOLD
H QOLD
L L 読み取り
H H

参考:D信号には、電圧の立ち上がりと立下りに意味がないので、D信号が取る値はLHの2種類なのに対して、CLK信号には電圧の立ち上がりに意味があるので、CLK信号が取る値はLH、および↑と、念のために立ち下がりの↓を入れて、4種類ある事に注意してください。真理値表の電圧の値(LH↑、および↓)が書いてある行は4(CLK信号の値の種類)×2(D信号の値の種類)=8行になります。

表7(および表8)において、QOLDは、端子Qの直前の出力電圧を示す変数です。QOLD変数により、記憶保持動作を表現しているのは、表6のRSフリップフロップの真理値表と同様です。

クロック同期式の順序回路は、クロック信号の立ち上がり(ポジティブエッジトリガの場合)または立下り(ネガティブエッジトリガの場合)の、いずれかのタイミングで、回路の出力状態が変化します。そのため、クロック信号の立ち上がり、または立下りを表す記号を真理値表に導入する必要があります。

表7(および表8)においては、CLK信号の立ち上がりを"↑"の記号で、CLK信号の立下りを"↓"の記号で表しました。このページでは、文字コードが割り当てられているという理由で上矢印と下矢印の記号を使いましたが、図8および図9に示す記号もよく使われます。

図8、電圧の立ち上がりを示すのによく使われる記号
↑ 画像をクリックすると拡大
図8、電圧の立ち上がりを示すのによく使われる記号
図9、電圧の立ち下がりを示すのによく使われる記号
↑ 画像をクリックすると拡大
図9、電圧の立ち下がりを示すのによく使われる記号

ポジティブエッジトリガの回路の場合、クロック信号の立ち上がりのタイミングのみで出力電圧が変化する事が、真理値表の書き手と読み手とで了解が取れているならば、出力電圧の変化が起こらない、クロック信号の立ち上がり以外のタイミングについては、真理値表に表記する必要がありません。そのため、表9に示す、クロック信号の立ち上がりのタイミングのみを書いた真理値表でも、回路の動作が十分に伝わります。

表9、Dフリップフロップの真理値表(CLK信号の立ち上がりタイミングのみ表記)
入力 出力
CLK D Q
L L
H H

Dフリップフロップの様な簡単な回路では表7の様な真理値表を書いてもあまり問題はないですが、動作が複雑なクロック同期式の順序回路では、その様な真理値表の書き方では行数が非常に多くなるため、表9の様な、出力電圧の変化の可能性のあるクロック信号の立ち上がり(ネガティブエッジトリガの場合は立ち下がり)のタイミングのみを真理値表に書く事が多くあります。

注:クロック同期式の順序回路に非同期プリセット端子や非同期リセット端子などの非同期入力端子がある場合は、それらの電圧(LH)も真理値表に記入します。(図10参照)

クロック同期式の順序回路では、読み手の理解力に応じて、表7~表9に示した様に、色々な真理値表の書き方をしますから、注意が必要です。

ここで、市販されているDフリップフロップICのデータシートに載っている真理値表を見てみましょう。

図10は、東芝セミコンダクター社のTC74HC174APという、負論理の非同期クリア端子が付いたDフリップフロップ(図11参照)が6個、1つのパッケージに収められたICの、データシートに載っている真理値表です。

図10、TC74HC174APのデータシートに載っている真理値表
図10、TC74HC174APのデータシートに載っている真理値表

この表は、東芝セミコンダクター社TC74HC174APの日本語のデータシート(2014-03-01版)の2ページより引用しました。

図11、非同期クリア端子が付いたDフリップフロップの回路記号
↑ 画像をクリックすると拡大
図11、非同期クリア端子が付いたDフリップフロップの回路記号

非同期クリア端子のあるDフリップフロップの、非同期クリア端子(CLR端子)の電圧をHに固定すると、非同期クリア端子のないDフリップフロップ(図7参照)と同じ働きをします。

そこで、図10の真理値表のCLR=Hの行のみを取り出し、かつCLRの列を削除すると、表10の真理値表になります。

表10、図10の真理値表からCLR=Hの行のみを取り出した真理値表
入力 出力 動作
CLK D Q
L L 読み取り
H L
X QOLD 保持

注:図10の真理値表ではクロック信号の名称がCLKではなくCKとなっていますが、図7に合わせて、CLKに書き換えました。また、図10ではDがCKの左側にありますが、左右を入れ替えました。図10の最後の行のQの値はQnとなっていますが、これは「直前のQ端子の電圧」という意味です。表7に合わせて、QnをQOLDに書き換えました。また、図10の一番右の列(Functionの列)の下から2行目と3行目が ー となっていますが、表10では「読み取り」と表記しました。

本来、表10と表7は、同じ働きをする回路の真理値表なので、同じ表になるはずです。しかし2つの真理値表を比べると、表10は電圧の値(LHX、↑、↓、およびQOLD)が書いてある行が3行なのに対して、表7は5行あります。

これは、表10において、CLK=HおよびCLK=Lの行が省略されているからです。おそらく、「クロック信号の電圧が変化しない時にDフリップフロップの出力が変化しないのは自明だから」と、これら2行を省略したのでしょう。

この様に、クロック同期式の回路の真理値表は、読み手にどの程度の知識を仮定するかで、書き方が変わってきます。

広告

関連用語

関連ページ

Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。