「FPGAボードで6809を作ってNitros9を走らせてみました」の基板を作成しました
2022年6月22日に上記のタイトルでアップしたCycloneⅡ(EP2C5T)搭載のFPGAボードの工作の際には、有り合わせの基板に手配線で仕上げました。それ以降、折に触れ使用してきましたが、いかにもそのやっつけ感が気になっていました。また、FPGAに書き込むプログラムを変えればZ80としても6809としても動作するのはすごいことなのですが、切り替えて使用するためにはその都度FPGAのプログラムを書き換えるという手間がかかります。
また、以前も参考にさせていただいたブログ「石原 博の覚書(https://blog.goo.ne.jp/ishihara-h/e/ea09920e03694aab5227db6f08fde76e)」を見ていて、プリント基板を作成できればZ80、6809のそれぞれ専用のボードが作れるなと思っていました。
そんな時に、倍ぐらいに価格が上がってしまっていたFPGAボードがAliExpressで以前のような価格で購入できるショップを見つけたので2枚購入し、プリント基板も作成することで、Z80、6809それぞれの専用ボードとすることにしました。
参考にしたオリジナルの記事
https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start
の中にはプリント基板の回路等のデータがあることは知っていたのですが、それはEagleによるもので、以前、私が常用しているKiCadで読み込んで処理しようとしてうまくできずあきらめてしまっていたので、今回はEagleの無料版をインストールしてgerberデータを作成してみました。使い慣れたKiCadによるgerberデータではないので、正しく作られているのかどうか不安でしたが、そのまま発注してみました。
出来上がった基板が下の画像のものです。
基板とFPGAボード |
かなりの高密度で、シルク印刷がパターンの穴等によって読めなくなっている箇所も複数あり、迷うところもありましたがオリジナルの記事等を参考にして何とか実装してみました。
それが下の画像の2枚です。
製作した基板2枚 |
私は基本、シリアル入力を使用するのですが、最初に作成した左の基板はうまく動かなかったので、PS/2キーボード入力、VGA出力に加えてRS-232Cコネクタまで実装してしまいました。動作させるために必要な最小限のものだけを実装したのが右の基板です。また、オリジナルで使用されているSDカードモジュールと同じものが入手できなかったので手持ちのもので間に合わせることになりましたが、モジュールを瞬間接着剤で固定して画像のように配線することで(多少見苦しいですが)無事に動作させることができました。
左下の6ピンのシリアル端子の上に乗っているのは、手持ちのUSB-シリアル変換ケーブルの端子配置に変換するためのアダプタで、最初に作成した基板が動作しなかった(ように見えた)のは、この配線を間違えていたためというお粗末な話でした。
参考までに、作成を通して気づいた点を列記しておきます。
1.gerberデータはオリジナルのデータからEagleで作成できますが、SDカードモジュール部のパターンと合致するモジュールは多分入手困難です。
2.シリアルの6ピン端子の配列は一般のUSB-シリアル変換ケーブルのピン配列と合致しない可能性があります。
3.512KBのSRAMのアクセススピードについてですが、上の画像のように、55nsのAS6C4008-55PCNだけでなく、70nsのHM628512CLP-7でも使用できました。
4.Z-80用としては mc-2g-1024.zip 中の14-Multicompを使用しましたが、何故かTTY版は正常に動作しませんでした。動作するVGA版をインストールしましたが、基板上のVDUFFD0端子をショートすることでシリアル入出力に切り替えることができました。
5.6809用としては multicomp09_nov2016.zip 中のものを使用しました。
6.FPGAボード上のROMに書き込むための手順については、ちかてつ.comさんの「Amazonの激安基板(CycloneⅡ)ではじめるFPGA開発(JICプログラミング編)(https://tikatetu.com/electronics/amazon-fpga-jic/)」を参考にさせていただきました。ありがとうございます。
今取り組んでいるいくつかのテーマがいずれもうまく進まず、いささか倦んでしまっていたのですが、ちょうど良い気分転換になりました。