Almost lost technologies

ここは昔の CPU を用いた工作記事を書くために用意しました。

TMS99105 のタイミング(よく見たらまずい)

TMS99105システムですけど、一旦 9901 周り以外は配線終わったところで、まずいのが判明です。GAL周りと、F244 を GAL に入れ替えて論理を入れるかどうか考え中。

まずメモリですが、READ は WAIT なしだとこんな感じ。

f:id:efialtes_htn:20201223224428p:plain

99105 NOWAIT MEMORY READ (1grid 5.1nS: 24MHz の 1/8)

/RD 信号からは /OE 制御がせいぜいですけど、アドレスからデータセットアップまでは CPU 出受けで 85nS あるので、それに F373+F245 で 15nS(max) くらいがボードの口でのディレイ、memory board 側はアドレスデコーダ GAL 25nS で、ちょうど ROM の必要アクセスタイムは 45nS ぐらいに、tr/tf で少し削れる感じです。まぁ max なのでかなり余裕がある。むしろ /OE のほうが多少足りないか。

 

f:id:efialtes_htn:20201223225125p:plain

99105 1WAIT MEMORY READ (1grid 10.2nS: 24MHz の 1/4)

1wait だとこんな感じ。+166nS あるので 150nS 品の ROM でもゆるゆるです。

で、問題は I/O 側。READ は今の回路では WAIT が掛からないので、以下のようなタイミングです。

f:id:efialtes_htn:20201223225414p:plain

99105 NOWAIT I/O READ (1grid 10.2nS: 24MHz の 1/4)

これでは、24MHz動作だと/CE側が厳しくて (166ns x 1.5) - 15nS(CPUアドレス遅延) - 8nS(F373) -10nS(HC4078) - 15nS(GAL) -30nS(CPU セットアップ) で TMS9902Aの口で 170nS しかありません。TMS9902A の仕様だと 240nS で全然足らないので、ここは仕方がないので並行して TMS9902A-40 を UTSource に発注かけていました。これなら 165nS なので一応足ります。も一つ厳しいのが WRITE 側のセットアップです。タイミングは 1WAIT 入れて以下の通り。

f:id:efialtes_htn:20201223230514p:plain

99105 1WAIT I/O WRITE (1grid 10.2nS: 24MHz の 1/4)

もともとIOCLK幅も足りないので 1WAIT 入れるのですが、セットアップタイミングは 166nS + 7.5nS(F04) で、仕様だと 180nS なのでちょっと足らない。F244 の出力 /WE から回してなんとか。途中ゲートがあまり速いとちょっと危ない感じです。

この辺前提として GAL 論理をもう少し見直し中です。一応 TMS9902A-40 は手に入ったのですが、I/O READ 側にも WAIT 入れることも考え中。