オンラインショップ
問い合わせ
即日発送 送料無料 佐川急便かクロネコでお届け。カード、銀行振り込み、代引き決済。
製品情報>Spartan-7評価ボード>開発日記>構想から基板設計まで

構想から基板設計まで

 

Spartan-7ボードの完成と出図

2019.12.19

Spartan-7ボードですが、今日も夜中から微調整を行い、3時ごろにようやく設計完了です。

微調整のはずが、FPGAの奥の方のパッドからLEDの配線を8本引き出したり、全然、微ではすみませんでした。

1219_1

シルクの図を紙に印刷して、シルクとパッドが被っている場所がないかなど、念入りに確認します。

裏面には、令和元年を奉祝する文字を入れました。この「令和」の文字を入れるために部品を少し動かしたり。

ピンヘッダの横にFPGAのピン番号を入れました。これで、回路図を見なくてもピン配置がわかる!

1219_2

面付成功したのは3:50ごろ。眠くて吐きそうになったので、今日は寝ます。

1219_3

そして、寝て起きてびっくり。

面付した基板のシートは別の基板のものを流用していたので、デザインルールが違っていて、実は電源ラインが細いやばい基板になっていたとか。

やはり、時間をおいて再確認は必須ですね。

朝起きて面付しなおして、ガーバビューワで確認。

1219_4

よし、これなら大丈夫。

 

朝の9時ごろ、基板データ送信完了。

超特急コースなので6層基板だけど3日後の日曜日には届きます。

私は近畿地方のある基板メーカーにいつもお願いしています。

昔は某.com経由で東アジアの国で製造していましたが、数年前から国産メーカーに切り替えました。

こっちのほうがはるかに安くて早いのです。

 

そうしたら、実装用の配置座標ファイルや外形図、シルク図、メタルマスク図、部品表などを実装屋さんに送ります。

本来はDigikeyから部品が今日届くはずだったのですが、悪天候でUPSが一日遅れて明日になるようです。

本当に明日に来るかな?

 

Spartan-7ボード、ひとまずの完成

2019.12.18

日付も変わって、設計再開です。

まずは未配線のネットを引きつつ、未配置のコンデンサや抵抗などを配置していきます。

1218_1

午前3:12。

ようやく全配線ができてViolationが消えました。

1218_2

表面は

1218_3

裏面は、

1218_4

ただし、まだ完成ではなくて、この後、

  • REFDESの付けなおし
  • ポリゴン貼り
  • 配線の微調整
  • LEDの配線
  • シルクの位置調整
  • シルクで様々な説明を入れる
  • 面付

などの微調整が残っています。

ところで、今回の基板のダウンロードページをgithubに作りました。

https://github.com/tokuden/Spartan7

今後、回路図やFPGAの設計データなどはここに公開していきます。

 

 

Spartan-7ボードのI/Oの配線とLANの設計

2019.12.17

Spartan-7ボードのI/Oポートへの配線を始めます。

1217_1

わずか数センチの配線なのですが、平行線を見ていると無限に長く感じてきます。

下側の汎用I/Oへの配線が引けました。

1217_2

上側も1時間程度で引けるはずなのですが、午前6時なのでちょっと仮眠を取ります。

 

ZZZ

 

寝て起きて、日常の業務を終えた後で再び基板の設計に戻ります。

USBとFPGAとDDR3Lの面積が小さくできたのと、I/Oを配線しても大して面積は食わないことがわかったので、空いたスペースにイーサネットコントローラ(100BASE)とMicroSDカードとMIPI-CSIのコネクタを置いてみました。

1217_3

イーサネットのコネクタはさすがに乗らないので8ピンのピンヘッダを立てておくことにしました。

1217_4

100BASE-TXのイーサネットは、TX+/-、RX+/-の4本の線だけでよいのですが、パルストランスの中点やGND、LEDを含めても8本あれば十分です。そのため8ピンのピンヘッダを立てておいて、LANを使いたい人はここから配線を引き出せばよいようにしておきます。

ただし、LANチップの裏はSDカードなので裏面にパスコン等を配置することができないため、実質的に片面基板になりました。ここが一番苦労したところかな。

頑張った甲斐があって、FPGA、USB2.0、DDR3、100BASEのLANインタフェースICと、MIPI CSI、MicroSDカードを載せてI/Oの配線もすべて引くことができました。

FPGAにMicroBlazeを入れれば、一応、組み込みLinuxのボードになりますが、本命はRISC-Vですね。

未配置の部品と未配線はあと100か所くらい残っているので、明日には終わるかなという感触です。

1217_5

 

Spartan-7基板のUSBと電源まわりの設計

2019.12.16

少し回り道をしたけど、電源の保護回路の方針などが決まったのでSpartan-7基板の設計を再開します。

今はこの状態。

1215

まず、USBのコネクタを何にするか。

選択肢としてはB、Mini-B、Micro-B、Cがあります。

ノーマルのBは大きすぎるので論外。

Micro Bは工業用製品に使うには弱すぎます。粗雑に扱うと壊れそうで怖いし、ケーブルが弱い力で引っこ抜けます。
最近では充電器をはじめとして様々な機器に使われてきていますが、MicroBが意外と丈夫なのはケースとケーブルが密着して力がケーブルの樹脂の部分に分散するからです。MicroBのコネクタの金属の部分だけだと簡単に折れます。

FPGA評価ボードはケースがなくて金属の部分だけで支えるので、破断する可能性が高いのでMicroBもやめることにします。

Type-Cはオーバースペックすぎる。

結局のところ、評価ボードにはそこそこ丈夫なType-Bがちょうど良いという結論です。

昨日のMOSFETによる保護回路と合わせてUSB周りの配置とざっくりとした配線ができました。

1216_1

また、USBインタフェースICのCY7C68013AからFPGAへの配線がですが、意外と簡単でした。

このくらい↓の配線なのですが、

1216_2 

かなりすっきりと配線できました。

1216_3

現在の基板の全体像はこのような感じです。

USBとFPGAとDDR3メモリの配置とざっくりとした配線ができました。

1216_4

10年前のSpartan-6基板と比べると狭いところに詰め込めていて、かなり基板の面積が余りそうな感じです。

 

Spartan-7のMIGの配線を検証する

2019.12.13 

Spartan-7ボードのDDR3メモリの配線が正しいかどうかを検証するために、MIGを使ったデザインで回路図のとおりに配置を指定して、論理合成できるかどうかを確かめるというプロセスを行います。

こんな感じのデザインを作りました。

Mig4

回路図を見ながら、MIGの設定画面で一つずつピン番号を入力していきます。

Mig3 Mig2

Mig5

そして保存して、いざ論理合成!とすると、突然、Vivadoが落ちるのです。

酷い時にはMIGのIPをクリックするだけで落ちます。

Mig1

いろいろ回避策を試しました。

まず、AR71898という「MIG 7 Series - パッチ - 2018.3 での既知の問題」というアンサーが出ているのですが、プロジェクト名/ディレクトリにスペースはないので、これも違います。一応、パッチのAR71898_vivado_2018_3_preliminary_rev4.zipもあててみました。

関係ないですが、このパッチは面白いですよ。

ZIPファイルを解凍すると、AR71898_vivado_2018_3_preliminary_rev4というフォルダが出来るので、D:\Xilinx\Vivado18.3\の下に自分でpatchesというフォルダを作り、このAR71898_vivado_2018_3_preliminary_rev4フォルダをコピーするのです。どのファイルをどうするとかではなく、フォルダごとpatchフォルダの下にコピーするのです。 Mig8

すると、次からVivadoを起動したときにタイトルにパッチ名が付いて、更新済みVivadoであることが示されるわけです。

Mig9

残念ながらこの方法でもうまくいかなかったので、Vivado 2019.2を試すことにしました。

せっかくだからVitisを入れようとしたのが失敗。

24GBをダウンロードして100GBのアプリをインストールするわけなので、午前中から昼過ぎまで何もできませんでした。

Mig6

Vivado 2019.2ならクラッシュせずに論理合成ができたのですが、何か腑に落ちないですね。

Mig7

ここで終わらせてはいけないので、徹底的に原因を探りたくなります。 

 

Spartan-7とDDR3Lの配線

2019.12.11

Spartan-7とDDR3Lの配線が引けました。

Mig_1

過去に作成したSpartan-7基板のメモリの部分から配線のデータをコピーしてきて、Spartan-7のBank35につなげます。

XILINX FPGAのDDRメモリインタフェースは一つのバンクのT0~T3で表されたブロックの中にデータ線とDQSとDMを入れておけば配置は自由にできるので、Bank35のT3にデータバスを押し込み、T0~T2にアドレス線や制御信号を詰め込みました。

つまり、メモリからFPGAに引きやすいように配線を引いて、後からFPGAの端子を割り当てる作戦です。

DDR3の配線をしなければならないというのは気が重くなりますが、やってみるとそんなに難しくはなかったです。やはりメモリが一個だからでしょう。

 

基板全体に占めるFPGAとメモリの面積は下の図のような感じです。

Mig_2

Spartan-6基板(2009年の設計)の頃と比べると随分と縮んだように感じます。

デバイスの面積が小さくなったせいでしょうか?

 

Spartan-7ボードの設計を再開します

2019.12.10

1年くらい前から設計途中で中断していたSpartan-7評価ボードをやはり仕上げることにしました。

Sp7_board

Spartan-7を中心として、DDR3L SDRAM、USB2.0(USB-JTAG付き)、2.54mmピッチの40pinピンヘッダ2個にI/O 64本、7cm×5cmという仕様です。

10年くらい前ならこういう評価ボードは日本の各社から結構出ていてたのですが、現在ではアジア製の安い評価ボードが簡単に買えて、

 - 具体的に言うと、Zyboとか、Artyとか、PYNQとか。

しかもリファレンスデザインも充実しています。

今、誰もが最初に購入しようとするFPGAボードはZyboかArtyかPYNQじゃないですか?

学校とかでFPGAで何かを作る課題があったとして、実際に使うボードは上の3つのどれかじゃないですか?

こういう安くてコモディティ化したボードが巷にあふれている状況で、シンプルなボードを、名もない日本企業が、そんなに安くもない価格で出す意味があるのか、と悩んでいました。

 

海外ボード勢の価格は、日本で作ろうとしたらどう頑張っても原価さえ回収できず赤字となってしまいます。しかもgithubで手の込んだリファレンスデザインも出しているとなっては、もう手も足もでません。おそらくFPGAやメモリ、電源ICなどのを、一般価格よりも相当低い価格で仕入れることができているのでしょう。

 

そういう理由で、もうFPGA評価ボードは作るのをやめようと思っていた次第です。

 

しかし、FPGAを工業用の組み込みモジュールとして使うなら、スイッチやLEDやLAN、PMODなどが出ていないほうが使いやすいのではと思うところもあります。はがき大のサイズのボードだと機器に組み込むにはちょっと大きいし、背の高いLANコネクタは邪魔になります。

それに、原価低減のためなのか実装面積を削減するためなのか、こういった海外ボードはユーザガイドに示された推奨数のパスコンが乗っていないこともあります。(Kintex以上だとパスコン内蔵ですが)

小型高密度で、ちゃんとパスコンを載せたボードがあってもいいかもしれない。

されど高密度で極小サイズで作ってしまうと、コネクタがメザニンになってしまい、万能機版が使えなくなり、評価用や1台~2台の工業製品に組み込むボードとしては使いにくいものになってしまいます。

よって、2.54mmピッチのコネクタにたくさんのI/OがついたFPGAボードというのは、まだ少しでも需要があるかもしれない

・・

などと、ぐずぐず考えて判断した次第です。

ただ、こういう汎用の「何にでもなれるけど何者でもないFPGAボード」を設計するのは最後にしたいと思い、このボードの名前を以下のように決めました。

LAST BOARD(ラスト☆ボード)

 

令和ボードを作ります

2019.04.01

新元号が令和に決まりましたね。

とても良い響きだと思います。

この国の一大イベントで、自分にも何かできることはないかと思い、「令和」と記された基板を作ることにしました。

昨年開発していたSpartan-7ボードに「奉祝 令和元年」とシルクで刻印してみました。

Reiwa1

点描画で描かれています。

Reiwa2

令和元年5月1日の発売が目標です。


© 2017 TokushuDenshiKairo Inc. All rights reserved