Lattice Diamond

提供: ArchWiki
ナビゲーションに移動 検索に移動

Lattice Diamond は Lattice FPGA アーキテクチャの設計ソフトウェアです。

公式には Lattice Diamond は Arch Linux をサポートしていませんが、Xilinx ISE WebPACKXilinx Vivado などの他の HDL スイートと同じように、多少の修正で Lattice Diamond のほとんどの機能を使うことができます。

要件

現在、AUR にあるパッケージは、64ビット版のスイートでしか使うことができません。そのため、Arch Linux の64ビット環境をインストールする必要があります。

インストール

lattice-diamondAUR をインストールしてください。インストール容量がかなり大きいため (4 GB)、パッケージの圧縮時にかなり時間がかかります。PKGBUILD ファイルを編集して圧縮を無効にすることでパッケージの生成を速くすることができます。

ライセンス

Lattice Semiconductor からフリーライセンスを得ることができます (登録が必要です)。ノードロックライセンスです (MAC やイーサネットカードに紐付けられます)。ライセンスファイルを入手したら、/usr/local/diamond/3.10_x64/license/license.dat にコピーすることで、スイートが起動できるようになります。

トラブルシューティング

Place & Route が失敗する

Place & Route が ERROR - par: Switch "-msgsegset" is not allowed. というメッセージを残して失敗する場合、プロジェクトのルートディレクトリに存在する promote.xml ファイルを削除して、再度実行してみてください。それで通常通り実行されるはずです。

FTDI ケーブルを使ってプログラミングできない

ftdi_sio カーネルモジュールがロードされていない場合、FTDI チップが載ったケーブルを使って FPGA をプログラミングすることはできません。プログラマを接続してから、以下を実行してください:

# rmmod ftdi_sio

接続を解除するまでプログラマが正しく動作するようになります (プログラマを接続するたびに上のコマンドを実行してください)。

FTDI ベースのシリアルインターフェイスが Lattice スターターキットに存在するとき Diamond がクラッシュする

"Lattice Diamond 3.9 Installation Notice for Linux" ドキュメントには手動でシリアルドライバーを設定する方法が載っていますが、ドキュメントに書かれている udev ルールの命名方法は機能しません。代わりに以下の手順で上手く行きます。

1. まず /etc/group ファイルに書かれているユーザー名を探してください。必要ならログアウトしてください。例:

username:x:1000:

2. 51-lattice.rules という名前のファイルを作成してください。

3. 51-lattice.rules ファイルに以下の情報を追加してください:

  • Lattice
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="1134",ATTRS{idProduct}=="8001",MODE=="0660",GROUP=="username:x:1000:",SYMLINK+="lattice-%n"
  • FTDI
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",MODE=="0666",GROUP=="username:x:1000:",SYMLINK+="ftdi-%n"
SUBSYSTEM=="usb",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",RUN+="/bin/sh -c 'basename %p > /sys/bus/usb/drivers/ftdi_sio/unbind'"