しなぷすのハード製作記

「真理値表」の解説

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
2019年06月21日 更新。
用語:真理値表
読み:しんりちひょう
概要

基本論理ゲートを始めとした組み合わせ回路(場合によっては簡単な順序回路を含める事もある)の特性を表すために、入力電圧と出力電圧の関係を表形式に表す場合が多くあります。この様な表を真理値表(truth table)といいます。

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

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

広告

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

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

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

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

表1、NOT回路の真理値表
入力電圧 出力電圧
X Y
L H
H L

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

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

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

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

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

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

この様に、入力信号の本数が多い時は、真理値表が大きくなり使いにくくなるのですが、回路の種類によっては、複数の行をまとめて書くことにより、行数を少なくする事も可能です。

例えば、3入力AND回路の真理値表は、表3の様に簡略表記する事ができます。

表3、3入力AND回路の真理値表(簡略表記)
入力電圧 出力電圧
A B C Y
H H H H
上記以外の組み合わせ L
広告

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

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

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

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

非同期式の順序回路の真理値表の例

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

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

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

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

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

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

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

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

表4、図4の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を入力した時の、記憶した情報を保持する動作を表現しています。

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

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

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

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

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

表5、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の記号を使わずに真理値表を作成する事も可能ですが、XがLの場合とHの場合で、2行に分けて真理値表を表記する必要があり、真理値表の行数が増えてしまいます。この様にXは、真理値表を簡略表記するのに便利な記号です。

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

表6、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

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

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

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

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

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

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

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

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

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

広告
ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー

関連用語

関連ページ

このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
こちらのページもおすすめです。
サイトマッププライバシーポリシーお問い合わせ用語集
しなぷすのハード製作記