論理回路図メーカー

論理式・真理値表・状態遷移表のいずれかを入力すると、 MIL記号の回路図を自動で描くツールです。 クワイン・マクラスキー法による簡単化、 D・JK・T フリップフロップを使った順序回路の設計にも対応しています。 描いた回路図は SVG と PNG で保存できます。

· * & AND が論理積、 + | OR が論理和、 ! ~ NOT が否定、 ^ xor が排他的論理和です。 Y = は省略できます。

出力欄は 0 / 1 のほか、 x(ドントケア=どちらでもよい)が使えます。

次状態と出力を埋めてください。出力は 0 / 1 / x が使えます。

入力できる書き方

意味使える記号例
論理積(AND)· * & && ∧ AND 、または並べるだけA·B、AB
論理和(OR)+ | || ∨ ORA + B
否定(NOT)! ~ ¬ NOT、後置の '!A、A'
排他的論理和(XOR)^ ⊕ XORA ^ B
NAND / NOR / XNORNAND NOR XNORA NAND B
定数0 1A·1

優先順位は NOT > AND > XOR > OR です。 括弧を使えば順序を明示できます。

変数名の決まり

AB のように大文字が続いている場合は、積の記号を省略したものとみなして A·B と解釈します。 いっぽう Cin Q0 clk のように 小文字・数字・アンダースコアを含むものは、まとめて1つの変数名として扱います。 大文字だけの名前を1つの変数として使いたいときは、A_B のように アンダースコアを入れてください。

MIL記号の読み方

ゲート形働き
AND右側が半円のD形すべての入力が1のときだけ1
OR先がとがった盾形どれか1つでも1なら1
NOT三角形+先端の丸0と1を反転する
XOROR形+後ろにもう1本の弧入力が異なるときだけ1
NAND / NOR / XNORそれぞれの形+出力の丸出力を反転したもの

出力側についている小さな丸は「否定」を表します。 NAND は AND の出力に丸がついたもの、NOR は OR の出力に丸がついたものです。

簡単化について

「簡単化」ではクワイン・マクラスキー法を使って、 主加法標準形(積和形)の最小の形を求めています。 カルノー図で手作業でまとめるのと同じ結果になりますが、 変数が5個あってもそのまま計算できます。

ドントケア(x)を指定すると、1として扱ったほうが式が短くなる場合に自動で利用します。 「この入力の組み合わせは起こり得ない」という条件があるときに使うと、回路が小さくなります。

順序回路の設計手順

状態遷移表から順序回路を作るとき、このツールは次の順に処理しています。

  1. 状態割り当て:各状態に2進数を割り当てます(4状態なら Q1Q0 = 00, 01, 10, 11)
  2. 次状態の論理を求める:状態ビットごとに、次の値が1になる組み合わせを集めます
  3. 励起入力を求める:使うフリップフロップに応じて入力を逆算します
  4. 簡単化:それぞれの式を最小の積和形にします
  5. 回路図を描く:組み合わせ回路とフリップフロップをつなぎ、出力を状態に戻します

フリップフロップごとの励起入力

今の値 Q次の値 Q⁺ DJKT
0000×0
0111×1
100×11
111×00

× はドントケアです。JK-FF は × が多いぶん、簡単化したときに式が短くなりやすく、 使うゲートの数が減ることがよくあります。 D-FF は次状態をそのまま与えるだけなので、導出が最も単純です。

ムーア型とミーリ型の違い

ムーア型ミーリ型
出力の決まり方今の状態だけで決まる今の状態と入力で決まる
入力が変わったとき次のクロックまで出力は変わらないすぐ出力が変わる
必要な状態数多くなりやすい少なくて済むことが多い

よくある質問

Q. 描いた回路図は保存できますか?
A. SVG と PNG で保存できます。SVG は拡大しても粗くならないため、レポートや資料に貼るときはこちらが向いています。

Q. 入力した式や表は送信されますか?
A. されません。すべてブラウザ上で処理しています。

Q. NANDだけで作る回路(NAND変換)は出せますか?
A. 現在は入力した式の形、または積和形での出力に対応しています。

Q. カルノー図も見たいです。
A. 簡単化の結果として、まとめられた項(主項)を式の形で表示しています。