CPU実験室

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

カウンタ換装

 

MC14500ボード上のプログラムカウンタ跡地にアダプタ基板を差し、そのピンソケットからCPLDデバッグ基板のピンヘッダにジャンパ線を飛ばして両者を接続しました。

データ出力12本、プリセット入力12本、RESET信号、LOAD信号、電源2本でCPLDはワイヤのジャングルの中に埋もれています。

f:id:O3I:20210315220833j:plain

もともとMC14500ボード上の3個のMC14516の機能をそっくり外付け基板に移植しただけなんですが見た目が大げさすぎです。

ともあれ現状機能は満たしているはずなので今まで動いていたバイナリを転送したのですが案の定うんともすうとも動きません。というかプログラムメモリにコードが転送できていません。

 

・・とこれは意外に単純なミスで、システムコントローラPIC18F4550MC14516の非同期プリセット機能を使ってコード転送していたためでした。まずはカウンタを完全にMC14516とコンパチにするためにリセット、プリセットをクロック非同期にしました。

 

VHDLではprocess文のセンシテビティリストにRESET,LOADを追加しています

f:id:O3I:20210315220856j:plain

 

これをコンパイル、フィッテイングさせると

Total macrocells 12 / 64 ( 19 % )

Total pins 31 / 36 ( 86 % )

12ビットカウンタなので使用マクロセルはきっかり12個なのはいいですが使用ピン数はギリギリです、

f:id:O3I:20210315221234j:plain

 

ところでCPLDのピンアサインをプランナーでD0..11、Q0..11のようにきれいに並べようとするとフィッティングで失敗します。マクロセルとの接続関係で制約があるのでしょうが、うっかり決め打ちしたPLCC変換基板を発注しなくてほんとう良かったです。

 

さてこれでテストプログラムを転送できるようになり、実行も正常動作しています。

ただこれはやっと既存の動きができるようになっただけでこれをベースにカウンタの機能追加をしなければなりません

 

f:id:O3I:20210315220805j:plain