おはようございました。
今更ながらxilinxのzynq7010の乗った中古ボードで遊ぼうと思い立ちましたので今日はその話題。
今から丁度一年ほど前に起きた隣国での『仮想通貨のマイニング禁止』に伴い、市場にゴミとなったマイニング装置が大量に流れ始めました。
メインの分散処理プロセッサ自体は設計から幾らか経っていることや、マイニング可能な残量の都合で電力対儲かる比がずいぶんと悪化しており、ごみ同然と化していました。
しかし、その中でも一際注目を集めたのが制御側の基板です。
Zynq7010を搭載し、そこそこ最低限の電源・メモリーI/Oが実装された基板は瞬く間に世間の注目の的となり、FPGA界隈の一部でお祭り騒ぎが行われました。
当時は¥1500~3000という破格の値段でそこそこの基板が出回っており、しかも、汚いながらにもそれなりの正しい中古という意味での品質が確保されていたためか、大人買いする方もよく見られました。
さて、それからずいぶんと時間がたった今、市場ではリアルにゴミ(産廃の山)からの発掘で調達しているためか、下手な業者から買うと漏れなく
- インダクタ・コンデンサが割れている
- パターンがはがれている
- 割れたコンデンサを外すときにパターンを剥いでそのまま出荷
というリアルなゴミを送り付けて金銭をせしめようとする販売者が多いのもまた事実です。
私も例に漏れず、ゴミを押し付けられて販売者と揉めに揉めました。皆様におかれましても、十分にご注意ください。
さて、私も半年様子見てから漁り始めたこともあり、半数は外れであったこともあって、さっそくパターンの修復とコンデンサの再実装、そして、遊ぶに至って必要な最低限の機能を実装するための改造を行いました。
注文しても発送しない(リアルに今から採掘しに行く的な店が多く、数か月後にギブアップ宣言な)業者だらけで、世間のまともな通販業界とはかなり毛色が違うことを思い知らされました。
運良く手に入った8枚を早速遊びで使えるだけの代物にしてゆきます。
まずはPL側(FPGA側)のクロック供給。PS側(プロセッサ側)は最初から33MHzが接続されていますが、PL側(FPGA側)にはクロックが供給されていないので、FPGAだけで遊ぶときは不便です。ダンピング抵抗(20~33Ωぐらい)を実装してサクッとつなげちゃいます。
次に空いているパターンにスイッチが取り付けられるので、さくっと取り付けちゃいます。
秋月電子にも『スナップインタイプタクトスイッチ 通販コード:P-07193』で売っています。
一部のロットでは0Ωと1μFが実装されていないので、よろしく付けちゃいます。コンデンサはチャタリング防止が目的のため、値は適当で構いません。
お隣のよしみということで、J7やmicroSDカード用のコネクタも付けましょう。
次にリセット、毎回電源抜き差しするのは馬鹿らしいので、足の長いプッシュボタンを加工して、リセットIC(U65)の1ピンと3ピン(GND)の間に設置してしまいます。
今回はEthernet用の25MHzのクロックが有る物と無い物が混在していたので、ソースを合わせるためにすべて実装しました。(FPGA内部で25MHz作って出力すればいいだけなんだけど、案外と面倒くさくて忘れそう)
せっかくmicroSDカードを取り付けたのに起動できないのは残念なので、起動を切り替えるスイッチを付けてしまいます。
ついでにD24にダイオードを付けます。秋月電子にも『ショットキーバリアダイオード 40V5A SK54 通販コード:I-04128』として使える品が販売されています。
1kΩ程度の抵抗とスイッチを直列につなげたものをR2577に付けます。外側のシールド部分のレジストを剥がしてスイッチを固定しました。ロットによっては異様にレジストが厚いものがありますが、根気よく丁寧に剥がしましょう。
SDカードで起動できるならJTAGでも起動したいよね?ということで、足の長いスイッチを加工してNAND側のR2585とGNDを接続できるように設置します。
これで起動時に押していた状態であればJTAGで起動できるようになります。
Zynq7000シリーズにはXADCという内部の温度や電圧をモニタリングできる素晴らしい道具が実装されているのですが、そのままでは部品が未実装で使えない状態なので、やっつけ仕事?で強引に動くように電源供給をします。
C664→0ΩでGND接続、C327とC2354の電源側を接続して1.8V供給をします。
そして肝心のダウンロードケーブル。ピン配置があっているのにピッチが合わないので、2mmピッチと2.54㎜ピッチの変換コネクタを作って対応します。
一応電気用のホットメルトで固めて剥がれないようにします。JTAGのピンヘッダをはんだ付けした後でこれを刺せばそのまま純正ケーブルが乗るので安心です。
後で分かりやすいようにテプラを張り付けて何のスイッチか?が分かるようにしておきます。
これで一通り完成。後はガンガン作って遊ぶだけです。
DLC9互換のケーブルを持っていましたが、Windows10とのドライバの相性もあり、今回DLC10互換のケーブルを買うことにしました。
ドライバを色々弄ってwindows10+DLC9でも動くようにはなったのだが、正式にはサポートされておらず、かなり面倒くさい手順なので、これを機に新調しました。
自分が現役で弄ってた頃はずいぶんと昔で、ロジックの規模が今の1/10より少ないサイズでしたので、
『無限に何でも積めるような万能感』
を抱いていますが、反面、当時と同じ手法で組んだら、
『ガチガチに組み始めたら数年単位でかかる恐ろしい代物』
でもあります。
現役だったころから長い間離れていたので、高位合成とか勉強しながら程よく遊んでみたいと思います。