とりあえず書き溜めておいた記事を公開することにしました。 わからないところがあれば、適宜ご質問ください。
Tang Primerってなんですか?
Tang Primerとは中華FPGAです。IntelやXilinxのFPGAよりも ロジック数は少ないですが、おもちゃとしては十分です。 とはいっても、HummingBirdというRISC-VのIPが載るらしいので、 そこまで非力ではないはず。
FPGAってなんですか?
任意の論理回路を構成できるすごいやつ! 主たる構成要素としては、LUT(Look-Up Table)とD-FFとセレクタがあって、 それらをひとまとめにしたものがたくさん並んでます。 以下にWikipediaから借りてきた画像を載せときます。
ローエンドからハイエンドまであって、ローエンドは今回ご紹介する Tang PrimerやIntelのCyclone, XilinxのSpartanが有名です。 主にエッジ側で使われることが多いです。 ハイエンドはデータセンターや通信設備などパフォーマンスが要求される 場所で使われます。1個数百万はするはずなので、庶民には買えないです。
開発環境構築 (Linux)
公式サイトでも見てください。 注意点だけ書いておきます。
- 私が使用しているディストリビューションはUbuntu 20.04 LTSです。
- FPGAのコンフィギュレーションのためにJTAGが必要ですので、 実機かVirtualBoxなどのUSBパススルー機能があるVMを使ってください。
- ライセンスファイルが必要です。https://dl.sipeed.com/shareURL/TANG/Premier/IDEより最新のライセンスファイルを入手してください。 ダウンロードしたライセンスファイルはAnlogic.licとリネームし、 /opt/TD_RELEASE_xxx/licenseに置いてください。
- Tang Dynasty IDEはroot権限なしで起動すると、USBデバイスを 探しに行くときにSEGVで落ちてしまいます。
- 公式サイトに書いてある、/usr/binにシンボリックリンクを作る方法だと プロジェクト作成時に初期化ファイル?を正しく読み込んでくれないです。 というわけで、私は適当に起動用のシェルスクリプトを書きました。
#!/bin/bash sudo /opt/TD_RELEASE_March2020_r4.6.4/bin/td -gui