論理回路シミュレータlogisimで順序回路、DFlipflopを作成

フリップフロップの仕組みを理解するためにDフリップフロップを作成しました。DはDelayの略で、クロック(CLK)の立ち上がりのタイミングでD入力の値をQ出力として保持します。NAND回路4つとNOT回路1つなので非常にシンプルです。

NAND回路4つで作成
D=0の時、Q=1。間違えている?

Logisimの制限

  • Logisim cannot simulate subcircuits whose pins sometimes behave as inputs and sometimes behave as outputs. Components built using Java can have such pins, though: Within the built-in libraries, the Memory library’s RAM circuit contains a D pin that can act both as an input and as an output.

Logisimでは、組み合わせ回路はサブサーキットとして保存して、それをメインの回路図で使うことができます。例えばALUのサブサーキットを作成して、メインの回路図で汎用ロジックICのように部品として使えます。

だだし、入力と出力の振る舞いを持つピンがあるサブサーキットはシミュレートできないようです。ただしbuilt-inライブラリーとMemory Library’sのRAMサーキットはDピンを持っていますが動作するようです。

まだ「ときどき入力と出力の振る舞いを持つ」という意味が分かっていませんが、少なくとも、私がはじめに作成したDフリップフロップをさらに同じ回路につなげるようなことは問題ありませんでした。