まさはる's Weblog

まさはる's Weblog
Macintoshとオーディオの話題

2015年11月22日

PRISON ARCHITECT(その5)

Category : Game 5 / Posted at 2015年11月22日 07:41

 最近、囚人をほったらかしにして論理回路にハマっている、Prison Architectの話題です。

 ネットを眺めていたら、Texas Instrumentsのデータシートにネガティブエッジトリガー・JKフリップフロップのSN74LVC112Aの回路図があったので、真似て作ってみました。

Negative Edge-triggered JK Flip-Flop
ネガティブエッジトリガー・JKフリップフロップ回路

 前々回に、JKフリップフロップは、マスター・スレーブ型は正常に動作すると記載したのですが、マスター・スレーブ型ではない、この回路図でも正常に動作します。ちなみにこの回路図は、データシートに記載されている回路図から(1)左右開きを上下開きに変更、(2)遅延回路をNOTゲートを4つ使用したものに変更しています。
 最初、データシートにある左右開きの回路図が分かりにくかったので、上下開きの左から右への回路図に変更すれば、あの魚を開いて干物にしたような回路図よりも見栄え的に改善されるだろうと思っていたのですが、結果は干物を横にしただけというものになりましたw。あと、この回路図は結構ゴチャゴチャしていますが、プリセットとクリアが不要であれば、この回路図の場合は単純に消してしまって構いません。

 なお、このゲーム内での実験では、4つのNOTゲートを2つに減らすと正常に動作しません。3つの場合は正常に動作しましたが、4つにしておくのが無難だと思います。

 この回路のように遅延回路を使えば、ループする回路でも発振させずに正常に動作させられるということが分かりました。へぇーって感じです。このゲームで論理回路を始めた頃、JKフリップフロップが正しく動作しないと悩んでいた時に、これを知っていればもう少し早く、解決策が見つけられたような気がします。

 話変わって、前回まで作っていたあのカウンタ、タイマーを使って定時にクリアする回路を作ってみました。

Counter Clear
タイマーを使用したカウンタ・クリア回路

 このゲームにあるタイマーは、1時間毎に1か0の出力を設定できるので、シフトレジスタを使用して、今の状態と1クロック前の状態を比較し、違っていれば1クロック分のクリア信号が出るようになっています。なお、この回路図のDフリップフロップは、次の図のものを使用しています。

Positive Edge-triggered D Flip-Flop
ポジティブエッジトリガー・Dフリップフロップ回路

 Dフリップフロップはこの図のものでなくてもいいのですが、クロックの立ち上がりか立ち下がりで動作するタイプでないと、シフトレジスタが正常に機能しないので、注意が必要です。

このページのトップに戻る