放課後の電子工作 HOME > Mandelbrot集合描画支援ハードウェア [ Pyxis ]

2011年4月20日 更新

Mandelbrot集合描画支援ハードウェア [ Pyxis ]

Mandelbrot集合描画支援
ハードウェア

[ Pyxis ]

Pyxis - 361個のTTLのかたまり

1988年12月17日
00時51分 完成

Pyxis -
 361個のTTLのかたまり

デモ動画

技術情報

内容の説明 - 
 ハードウェア設計コンテスト
 最終レポート [HTML版]

内容の説明 - 
 ハードウェア設計コンテスト
 最終レポート [PDF版]

Map16

思い立ったきっかけ〜完成まで

私が大学生だった1980年代の半ば、まだ6502や6809、Z80などの8ビットマイコンが全盛で、CPUクロックといえば4MHzくらいの頃のことです。
数学が得意な、ある学友が教えてくれたのが、この魅惑の世界[マンデルブロ集合]でした。
とてもシンプルなひとつの数式から、無限に複雑でかつ美しい模様が生まれることの不思議さに、たちまち虜になりました。

--

しかし当時のマシンスペックといえば、冒頭のとおり。
現在のようなオンチップの浮動小数点演算ユニットなんて考え及びもしなかった時代です。
1枚の画像を得るのに一昼夜以上かかることはざらでした。
しかも、描いてみないとどんな絵になるのかわかりません。
一晩待って「ガッカリ」ということもざらでした。

『これは耐えられん・・・』

というわけで、マンデルブロしか能がない、でも高速な専用ハードウェアを作ってしまいました。

 ・・・ と文章で書くと1行なのですが、完成までに実に丸2年かかりました。

--

この Pyxis についての思い出は尽きません。
家賃5千円の格安下宿とパンの耳で生きていた貧乏学生にとって、まずは予算が問題でした。
当然プリント基板化なんて有り得ません。出費は労力でカバーです。
"部品代だけで3万円まで"を目安に、手配線で作れることを前提条件として、
できるだけ好成績が得られる回路を考え始めました。

講義に出てもうわの空です。
TTL IC規格表を持ち歩き、難解なパズルを解くように、ひたすら回路を考えてました。
そして設計完了から約半年、ひたすらユニバーサル基板に手配線しました。

もちろんオシロやロジアナなどの測定器は持っていませんでした。
回路の規模や複雑さを考えると、実際に形になってからミスを見つけ出すことは、まず不可能と思われました。

そのため、一発完動を目指して、ゆっくりと時間をかけて設計、製作しました。
幸いにも時間はありましたので、ミスの無いように慎重に、慎重に事を運びました。

--

永かった配線作業が終わり、
取り急ぎテストプログラムを書いて、
マンデルブロの「雪だるま」が表示されたとき ・・・

 ・・・ うれしかったですね。これは筆舌に尽くせません。1988年の暮れでした。

--

結果は以下の通りです。
○構成
・内部データ形式
  実数部、虚数部各64ビット固定小数点(整数部4ビット、小数部60ビット)。十進有効桁18桁。
・主な動作
  ホストとのインターフェースは8ビットCPUバス形式。まず実行に先立って、ホストにより描画領域の左下隅の複素座標と、ピクセル間隔、最大反復回数をそれぞれレジスタに設定しておく。その後実行開始フラグをセットすると計算が開始される。マンデルブロ集合の漸化式に従って、発散するとみなされるまでの反復演算回数が計算され、結果レジスタに返される。計算は描画領域の左下隅から右へ400ピクセル、上へ320ピクセル分が自動的に順次実行される。実行開始後、ホストは各ピクセルの計算完了フラグ及び結果レジスタを読み出して、反復回数に従った色で画面に順次描画していくだけでよい。
・回路構成の概要
  漸化式の反復計算を実行する5つの演算ループと、全体の制御回路で構成される。各演算ループは2段のパイプラインになっており、2ピクセル分が同時に処理される。2次のBoothアルゴリズムによる64ビット乗算回路3個、キャリー保存型加算回路8個、同減算回路1個、発散判定回路3個。
・使用半導体
  標準TTL IC(LS、ALS、Fシリーズ)360個、オシレータモジュール1個の計361個。
○かかった費用
  IC代で¥30,780。
○実行速度
 400ピクセル×320ピクセル全てがマンデルブロ集合に含まれる場合(=ワーストケース)で、最大反復回数を256回とした時、
・比較対象1
  自作CP/Mマシン(Z80A、クロック4MHz) ・・・ 85時間20分。
・比較対象2
  研究室にあったPC98XL2(80386、クロック16MHz、NDP80387付き) ・・・ 3時間33分20秒。
・Pyxis
  比較対象1をホストとして ・・・ 83.9秒。
となりました。Pyxisを用いない場合と比べて3,662倍、当時最高速クラスの386+387マシンと比べても153倍の高速化が得られました。

--

そして、完成からずっと後の1994年に、CQ出版社の『インターフェース』誌上で開催された『ハードウェア設計コンテスト』の自由課題部門において、優秀賞をいただくことができました。

--

》Pyxis - 361個のTTLのかたまり

Pyxis は361個もの標準TTLを使用し、ユニバーサル基板上に手配線で仕上げたシステムです。
1986年から88年にかけての丸2年間、まさに寝食を忘れて没頭し、ばかばかしいほどの労力を注ぎ込んだ作品を見てやってくださいませ。

外観
[ Pyxis ] 外観

タカチのアルミケースに入っています。
中身の力の入れように対して、いたってシンプル。
というか、それ以上に、ケースに入れたのはずっと後になってからでした。それまでは基板むき出し。(^^)

内部
内部

上ふたを開けると不気味に基板が現れます。
コネクタ配置の都合で、ハンダ面が上になっています。

基板 - 部品面
基板−部品面

Pyxisは4枚の基板で構成されています。
それぞれの主な役割は以下のとおりです。
 ・左上:ノルム計算、発散判定部
 ・左下:実軸系演算部
 ・右下:虚軸系演算部
 ・右上:演算開始座標計算、制御回路部

基板は4枚ともタカス電子製作所のA-711-998というユニバーサル基板を使いました。245mm×330mmもある大型のものです。その上に361個のTTLをびっしり並べました。
この基板を選んだ大きな理由は『片面がベタ』だから。大型基板4枚に分かれたTTL361個の同期回路を安定して動作させるには、まず安定した電源系が不可欠です。オシロも無いのにノイズに悩まされたりするのは絶対に避けたかったので、グランドとしてこのベタを使い、さらにφ0.8のスズめっき線をメッシュ状に這わせて強化してあります。

基板 - はんだ面
基板−はんだ面

青く見えているのが配線です。
完成後、何本くらいあるのか気になったのでネットリストから推定してみたところ、5〜6,000本くらいあるようです。

手配線
配線の様子(1)

部品配置をどんなに工夫しても、ある程度配線が錯綜するのは避けられません。
経路が遠回りにならない範囲でできるだけ集中しないように配線しました。また後からコテを当てるとき除けられるように少し浮かせてあります。

手配線
配線の様子(2)

自分で言うのもなんですが、結構きれいでしょ?
結局配線好きなんです。
・・・救われませんね。

ラッピングワイヤ
ラッピングワイヤ

配線に使用したラッピングワイヤです。
銀メッキの絶大なる威力により、ハンダのノリが抜群のスグレモノです。
一度これを使ったら、もう他のワイヤは使えません。
詳しくはこちら愛用の工具と材料

動作の様子
動作の様子

Lynxと接続して動作しているところをビデオに撮ってみました。
専用ハンドリングソフトウェア[ MP ]のオープニングです。

Lynxではデジタル8色しか表示できないので色がさびしいです。
でも、4MHzクロックのZ80マシンとは思えない速度でマンデルブロ集合が現れることがわかっていただけますでしょうか。今となっては遅く感じてしまいますが、当時はこれでもめちゃくちゃ速かったんです。何しろソフトだけで描かせると一晩かかったんですから。

8ビットCPUバス−USB変換器(1)
8ビットCPUバス−USB変換器(1)

8ビットCPUバスをUSBの仮想COMポート経由で制御できるようにするための小品を製作し、Windowsマシンと接続できるようにしてみました。

8ビットCPUバス−USB変換器(2)
8ビットCPUバス−USB変換器(2)

中身はこんな感じ。基板の固定がヒノキ棒というところが私らしいかも。(^^)

元々Pyxis自体は最大反復回数として32767まで設定できますので、ホストが対応していればフルカラーに近いグラデーション表示が可能なんです。Pyxis完成から22年。ようやく本来のきれいな画像が得られるようになりました。

》デモ動画

Windowsマシン接続記念に、改めてビデオを撮ってみました。

超速だったPyxisも、今となっては激遅です。
のんびり、まったり、ご覧くださいませ。

Pyxis製作当時は、この画面1枚で数時間〜数十時間かかるのが普通だったんです。『これは耐えられん・・・』という気持ち、わかっていただけますでしょうか。

》技術情報

より詳しい内容についてはハードウェア設計コンテスト 最終レポートのページへどうぞ。
全回路図も公開しています。

--

今、改めて見ると、我ながら『よく作ったなあ・・・』という感じです。
これまでいろんなものを作ってきましたが、この Pyxis だけは二度と作れません。断言。

--

△ページの先頭へ戻る


HOME