CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

タイミング修正

このような不具合はカウンタが最初のMC14516の時には起きていませんでした。CPLDに置き換えてからだと思うのですが、ここでMC14500のユーザーズマニュアルに立ち返ってLIFO付の回路例を改めて見てみると、クロックラインに何やらCR積分が入っています。

f:id:O3I:20210411115317j:plain

図面の注釈のところでそのCRの値は「経験的に」決めた、とあります。何ぞそれ?

ヒゲやタイミングで動かない回路にCをペタペタ貼り付けて何とかしちゃうというのはアマチュア的ではありますがともかくやってみます。積分で波形を鈍らせて立上りを遅延させ、立下りはダイオードで急速充電させて遅れをなくすということでしょうが念のためシミュレーションしてみると

f:id:O3I:20210411115643j:plain

f:id:O3I:20210411115655j:plain

C・R=1000×10^-12×10×10^3=10×10^-6、計算通り10usオーダで遅延が得られます。つまりここまでアドレスバスのホールドタイムが稼げることになり、低速CMOSでも充分な値です。もっと短くてもいいはずですがクロック周波数がせいぜい数十kHzなのでこれくらいにしておきます