Vivado 2020.2 にてSPI-Flash ROMにBINファイルを書き込む方法
Vivadoは従来のISEと異なり、PROM(SPI-Flash ROM)にコンフィグレーション・データを書き込む際、MCSファイルを書き込む場合は何故かコンソールでコマンドを実行する必要があり、少し面倒です。一方で、BINファイルであればGUIの操作で簡単に書き込むことが出来ます。下記、手元にあるBINファイルを書き込む手順です。
1.ダウンロードケーブルが接続され、FPGAボードの電源が入っていることを確認
2.Vivadoを起動したら、まずFlow->Open Hardware Managerを選択
3.Tools -> Auto Connect を選択
4.Tools -> Add Configuration Memory Deviceから、FPGAを選択
5.FPGAボードに搭載されているPROMの型番とSPIの接続方法を選択
6.メモリへの書き込みを行うか聞かれるので、OKを選択
7.BINファイルを選択して書き込みを開始
8.書き込み中
書き込み中
9.書き込み完了
以上がBINファイルの書き込み手順ですが、BINファイルはインプリメントオプション(-bin_file)で作成するようにしておく必要があります。
Vivadoでは何故未だにMCSファイルの生成をGUIから実行できないのか謎ですが、BINファイルが推奨ということなのでしょうか・・
AltiumのFanoutがおかしいときの原因
Altium Designerには結構前のバージョンからBGAの配線の引き出しを自動的に行ってくれる「Fanout」という機能があります。特にフルグリッドのBGAの場合、引き出し方法はあまりバリエーションが取れないため、自動配線と手動配線で差異がなく、ピン数が増えてくると手作業ではとても大変になるので、必須の機能となります。図1が部品を配置しただけの未配線の状態で、図2がFanoutによる自動引き出しを実行した結果です。
この例では400pinのフルグリッドのBGAを貫通ビアのみで、4層で引き出しています。一般的に電源ラインなどの共通信号があるため、全てのピンを独立して引き出す必要はありませんが、これを編集していくことで効率良く配線できるというわけです。
実行はメニューの「Route」->「Fanout」->「Component」でFanoutしたい部品をクリックするだけです(図3)。
部品を選択する前に表示されるオプションは下記の通りです(図4)。未使用ピンは引き出す必要がなく、差動は同一層、同一方向が良いので、図4の設定が良いと思います(貫通ビアのみの場合)。
1. ネットの割り当ての無い未使用ピンも引き出すかどうか
2. 外周の2列もViaを使って引き出すかどうか
3. Viaまでの引き出しに加え、外周まで引き出すかどうか
3.1. ブラインドビアを使うかどうか(ドリルペアが指定されてブラインドビアが有効になっていなければ関係ない)
3.2. 差動配線を優先的に同じ層、同じ方向に引き出すかどうか
ここからが本題です。上記のように実行できれば問題ないのですが、今回実行結果が図5のように何故かViaが一切打たれず、外周のみFanoutされました。
原因として考えられるのは下記の2つです。
1. デザインルールで指定しているViaのサイズが大きすぎて、BGAのPadの間に配置できない
2. 基板の層数がピン数に対して不足していて引き出せない
1についてはViaを一つ手動で置いてみて、DRCがエラーにならないか確認すれば良いわけです。2については見積もりが難しいので、400pinなら8層など多めの層数にして通るか試すのが良いと思います。
ただ、今回はいくらViaを小さくしても、層数を増やしても図5のようになり原因がわ分かりませんでした。Altiumのサポートにファイルを送って確認してもらったところ、BGAのあるパッドの上に既配線(トラック)があったことが原因でした(図6、図7)。
今回はPadの上の配線という非常に見つかり難いものでしたが、図8のように一部のピンを配線しておいた場合も正しくFanoutされません。例え、外周のFanoutに関係なさそうなところでもダメでした。
つまり、「Fanoutは対象部品のPadを配線する前に実行する必要がある」ということです。
なお、今回使用したAltiumのバージョンは18.1.9です。
Altium Designer18で3DconnexionのSpaceNavigatorを使う方法
17まで問題なく使えていた3Dマウスが18になってから3DxWareでの設定が上手く行かなくなった。
ごちゃごちゃいじっていると設定が反映される場合もあるが、いづれにしてもAltiumを起動し直すと設定がデフォルトに戻ってしまう。
原因を調べてみたら、Altiumの実行ファイル名がDXP.exeからX2.exeに代わったことが原因の模様。
C:\Users\[username]\AppData\Roaming\3Dconnexion\3DxWare\Cfg\
にある、X2.EXE.xml を削除し、代わりに AltiumDesigner.xml のDXP.EXEを指定している行の次にX2.EXEも指定する。
具体的には下記のようにする。
<ExecutableName>DXP.EXE</ExecutableName> <ExecutableName>X2.EXE</ExecutableName>
出展:Altium Designer 18 (X2.EXE) - 3DxWare profile? - 3Dconnexion Forum
こういうUIのトラブルは地味に凹む。
Altium Designer18のUI
AltiumがVer.18にアップデートされましたが、今回のメジャーアップデートではこれまでとUIが大分変わったので、忘れないようにメモ。
1. License Managementの在り処
17までは、メニュー左端のDXPの最初に「My Account」があり、ここからLicense Management Windowを開けました。しかし18のメニューにはDXPがありません。代わりに一番右端の人の頭のアイコンをクリックすると出てくるプルダウンメニューの2番目にLicense Managementがあります。
2. 回路図のシートサイズ、グリッドやタイトル変数の変更
17までこれらは、回路図シート上で右クリック→Options→Document Optionsもしくは、シートの縁をダブルクリックで変更できましたが、18は後者のシートの縁のダブルクリックのみとなったようです。
設定画面は別Windowではなく、ドッキングウィンドウになった。シートサイズなどのパラメータだけでなく、他の様々なパラメータもドッキングウィンドウになった模様。いちいちパラメータ設定後にOK/Cancelボタンを押さないのが今風。個人的にはこっちの方が一覧性も高くて好きだが、ノートなどで画面が狭いと見難いかも?Inspector Windowと統合されたということ?
3. デフォルトで部品がスペースキーで回転しないのは17と同様
「Always Drag」をOFFにすれば良い。設定画面は、メニューのTools -> Preferences -> Schematic -> Graphical Editing の Optionにある。
4. Find Similar Objectなどでマスクした後、マスクを外すのは、メニューバー下の「Clear Current Filter」アイコン
もしくは右クリックで同アイコンか「Shift+C」

PCB Editorの方もInspector Windowが無くなったが、それ以外は今のところあまり差異を感じない。
Altium Designer17のデフォルト設定
先日やっとAltium Designer16から17にアップデートしてみたのですが、早速基本操作でつまずきました。結果としては、Altium Designer16, 17でデフォルトの設定が変更になったとのことで、下記の設定を行うことで無事解決しました。
- トラブル1:スペースキーで部品が回転しない
回路図エディタで部品をドラッグした状態でスペースキーを押しても、部品が回転しなくて困りました。ライブラリから部品をドラッグで取り出した直後は回転するのですが、部品を一旦配置すると、ドラッグ中にスペースキーを押しても回転しません。
これは17からデフォルト設定が変更されたとのことで、メニューの"Preferences"->"Schematic"->"Graphical Editing"のOptionにある"Always Drag"のチェックを外すことで直りました。
- トラブル2:アートワークのポリゴンが編集後にリビルドしない(Altium Designer16になってから)
ついでに、これは16からだったと思うのですが、PCBエディタの方でポリゴンを編集した際、以前は「リビルドするか?」と毎回尋ねて来ました。最近のバージョンではこれがないため、毎回"Tools"->"Polygon Pours"->"Repour All"を実行していました。
こちらも最近デフォルト設定が変更になったとのことで、下記設定を変更することで自動リビルドされるようになりました。"Preferences"->"PCB Editor"->"General"->"Polygon Rebuild"の"Repour Polygons After Modification"にチェックを入れる。
以上で無事解決しました。
メカトロパーツ天国「沙井電子城」
2016年4月に4度目となる深センを訪問、その際これまでとは違い、モーターやギアなどのメカトロニクス部品を扱うエリアを見つけたので報告します。
これまで深センと言えば、電子部品だけと思っていました。電子部品のお店が集積している華強北路は秋葉原に比べると非常に広く、ここを見て回るだけでいっぱいでした。
しかし、今回は現地の家電メーカに勤められていた久原さん(日本人)に教えて頂いた「沙井電子城」というメカトロ部品のお店に行ってきました。

建物は一つですが、とても広い。メカトロ部品のショッピングセンターと言ったところ。3階建てで、1階が計測器、コンプレッサー、大型動力機、刃先工具、中古部品、電子部品、2階が小型モーター、ギア、エアー部品、3階がPCショップ、レジスターといったところ。

中古のリニアガイドやボールネジ

空圧系の何か

空圧系マニピュレータ

ギアいっぱい(サンプル展示?)

リレーとブレーカーいっぱい(ここから2階)

メータ。空圧用にしては値が細かいような・・

PLC(中古?)

ステッピングモータその1

ステッピングモータその2(上記とこのモータを買ってきましたw)

隣に文具城なるものがあって、気になったので行ってみました。

確かに文具城

輪ゴムの袋売り!

帰りに高須さんにフィギュアショップがあるというので連れて行って貰いました。場所は地下鉄の老街駅の周辺。

クリス 180元(2,800円)は安いのでは・・

こちらは良くわからないけど、400〜500元(6,200〜7,800円)と高い。
ということで、今回はメカトロ部品、文具、フィギュアと、電子部品以外の深センの一面を見てきました。
華強北路ではステッピングモータを扱っている店舗を2か所しか見つけられなかったのですが、沙井電子城では5箇所くらいありました。
ただ、モーターは思ったより安くなく、上記のモーターその1が1個55元(860円)でした。取り扱い点数としては、空圧系の部品が多い印象です。
お客さんは周辺の工場のようで、取り外した工作機械の制御パネルを持ってきて相談している人を見かけました。
ちなみに沙井電子城の3階は普通のPCショップが少し入っているだけなので、つまらないです。
最後のフィギュアショップに関しては、ラジオ会館の1フロア分くらいの取り扱い数で、まだこれからという印象です。
フィギュアの通販を行っている知り合いの中国人の話では、客層は10代〜20代が多く、400〜500元というのはかなり高額とのこと。
そのため、売れ行きが良いのはUFOキャッチャーの景品などのもう少し安価なものらしい。
また扱っているキャラクターは割と新しいものが多い印象でした。