MC14500ボード上のプログラムカウンタ跡地にアダプタ基板を差し、そのピンソケットからCPLDデバッグ基板のピンヘッダにジャンパ線を飛ばして両者を接続しました。
データ出力12本、プリセット入力12本、RESET信号、LOAD信号、電源2本でCPLDはワイヤのジャングルの中に埋もれています。
もともとMC14500ボード上の3個のMC14516の機能をそっくり外付け基板に移植しただけなんですが見た目が大げさすぎです。
ともあれ現状機能は満たしているはずなので今まで動いていたバイナリを転送したのですが案の定うんともすうとも動きません。というかプログラムメモリにコードが転送できていません。
・・とこれは意外に単純なミスで、システムコントローラPIC18F4550がMC14516の非同期プリセット機能を使ってコード転送していたためでした。まずはカウンタを完全にMC14516とコンパチにするためにリセット、プリセットをクロック非同期にしました。
VHDLではprocess文のセンシテビティリストにRESET,LOADを追加しています
これをコンパイル、フィッテイングさせると
Total macrocells 12 / 64 ( 19 % )
Total pins 31 / 36 ( 86 % )
12ビットカウンタなので使用マクロセルはきっかり12個なのはいいですが使用ピン数はギリギリです、
ところでCPLDのピンアサインをプランナーでD0..11、Q0..11のようにきれいに並べようとするとフィッティングで失敗します。マクロセルとの接続関係で制約があるのでしょうが、うっかり決め打ちしたPLCC変換基板を発注しなくてほんとう良かったです。
さてこれでテストプログラムを転送できるようになり、実行も正常動作しています。
ただこれはやっと既存の動きができるようになっただけでこれをベースにカウンタの機能追加をしなければなりません