以前作ったボードを久々に動かすシリーズですが、今日はMC14500ボードです。
これも動作には問題ありませんが、すでに書いたようにこのボードは酷い設計ミスをしていてジャンパだらけなので見ているうちにリファインしたくなってきました。
配線ミス以外にも気になる部分があって、1つ目はプログラムカウンタMC14516のプリセットがクロック非同期なのでJMP時の挙動がおかしいこと、2つ目はスタックを持っていないためサブルーチンが使えないことです。前者はプログラムで対処できましたが後者は如何ともしがたく、ただでさえ単純な処理しかできないICUでは致命的です。もちろん逆に自由度が大きいICUだからこそハードの付加でなんとでもなります。プログラムカウンタ周りの見直しをしてみました。
マニュアルにはサブルーチンを実現するハードウェアとして、以下のようにプログラムカウンタにLIFOが付いたものが示されています。
こういう機能のICは単体であるのでしょうか。具体例として挙げられている回路図で使っているのが「34706」というICで、モトローラだから「MC34706」なのか判りませんが、これが全くもって検索でヒットしません。
ということでもともと基板に実装されているプログラムカウンタMC14516×3個を抜いてそのソケットに挿すCPLDが載ったドータボードを考えてみました。