この記事はセルオートマトンによるCPU作成連載記事の22本目です。(2023/02/02)
2つのシグナルが合流して待ち合わせる回路です。2つのシグナルがそろってから初めて出力側にシグナルが排出されます。フィボナッチ数列の回路を発展させてCPUにしていくにあたって、この回路が必要となりそうだったので作成しました。
シグナルを一度分流させてそれぞれの仕事をしたあとに、合流地点で2つそろうのを待ってから後続にシグナルを流すときにこの回路を使います。
このセルオートマトンの世界でのCPUでは、シグナルを一度分流させたあとに合流するときには、それぞれの途中経路に応じてタイミングがずれることになりますが、タイミングの差はセルの数またはステップ数で数えて必ず偶数になりますので、偶数の場合にだけうまく動作するようにテストしています。
下のサンプル回路で試すことができます。2つのボタンを押すとそれぞれからシグナルが流れます。片方だけ押すと他方が押されるまで右にシグナルが流れません。片方だけ連続してシグナルを流した時のことは想定していないので意図しない動きになります。
いろいろなタイミングでシグナルを流した場合の動作テストは以下のリンクから試すことができます。
半導体によるCPUでこれに該当する回路はないかもしれません。