秋月Efinixボード T8F81 入門

秋月電子で話題（？）の[Efinix社のFPGAが搭載された開発ボード](https://akizukidenshi.com/catalog/g/g129595/)(2500円)が発売されました。チュートリアルのLチカを実施したのでそのレポートになります。

## T8F81とは

Efinix社のFPGA [Trion T8](https://www.efinixinc.com/jp/products-trion.html) の81ボールFBGAパッケージの製品です。（T8は144ピンのパッケージもあるのでそちらを渇望している方も多そうです。）

スペックは以下。
- ロジック・エレメント (LEs)	7,384
- マスク・プログラマブル メモリ (MPM):なし
- 内蔵メモリビット (kb):123
- 18x18乗算器:8
- PLLs:5
- LVDS (TX, RX):6, 6
- DDR3, LPDDR3, LPDDR2(up to 1066 Mbps):なし
- MIPI DPHY (4レーン):なし
- 内蔵 MIPI CSI-2 コントローラ:なし

同じく秋月で買えるFPGAとしては[Tang Nano 4K](https://akizukidenshi.com/catalog/g/g118248/) 2980円あたりが競合でしょうか。ボード単体で言えばEfinix社のT8F81のほうが若干安いです。ボード単体でいえば…

## T8F81 DIP化モジュールキット

T8F81をDIP化したモジュールキットです。
秋月の説明の通り、動作させるために最低限の電圧レギュレータ、クロック生成、SPI-Flashのみが搭載されています。
**USB-JTAGはありません。**
そのため、JTAG、SPIのダウンロードケーブルが必要です。
チュートリアルでは[FT232HL](https://akizukidenshi.com/catalog/g/g106503/)を使用しています。1600円…
自分はボードをぽちったときにFT232HLを買い忘れたのでなにもできずの時がありました。

## 事前準備

### ハードウェア

秋月販売サイトにリンクされているAE-T8F81-DIP40チュートリアルに記載されているリストをAkiKartに登録しました。

[秋月Efinixボード T8F81 入門部品リスト](https://aki.prioris.jp/list/9bc64bcf-ccd7-4cef-b9ea-9a756152e81b/)

※ブレッドボードをBB-102に変更しています。（BB-801は小さい）
※ブレッドボード用のジャンパワイヤも追加しています。

全部で5550円です!（自分はFT232HL以外は家に転がってた）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/9781c39e-bc0d-a2b0-23cb-8a63c8e84c50.png)

### ソフトウェア

Efinix社の開発ツールをダウンロードするために、事前にEfinix社のアカウント作成が必要です。[Efinix社のサポートセンター](https://www.efinixinc.com/support/efinity.php)からアカウント作成が可能です。
Company欄にN/Aの例が記載されているので、個人のホビイストにも優しいですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/803b240c-e6ad-a10d-0d46-fc055096c3b8.png)

代理店欄には秋月、チュートリアル作成元の(株)エクスプローラも見当たらなかったので、Otherを入力しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/b1e5e0e9-a135-20c0-47d2-3afe2b3c8187.png)

ログイン後フリーライセンスをリクエストすることで、EfinityIDEをダウンロードできます。

フリーライセンスのリクエスト方法は[加賀電子様のサイト](https://www.kgdev.co.jp/products/efinix/faq/
)がわかりやすいです。

リクエスト後は自動で承認されるようで、まもなくダウンロード可能な画面に行くことができました。
Windows版のVer2024.2.294をダウンロードしました。
大手FPGAベンダのツールと異なりまだ702MBと帯域もストレージにもお優しいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/ba399ed0-e61b-3929-5c84-20cffab8355d.png)

## チュートリアル上の注意

[FPGAボード販売サイト](https://akizukidenshi.com/catalog/g/g129595/)のチュートリアル1、および、チュートリアル1(演習データ一式)をダウンロードして手順通り従いましょう。以降はチュートリアルに従います。自分が詰まった点のみ記載します。

### pinアサイン

基板にシルクがないのでわかりにくいですが、チュートリアルによれば以下のアサインのようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/337bfe6f-298c-7aa2-7f6a-47a0f0e9da57.png)

### 回路の作成

**ボードにはLEDやスイッチの類も一切実装されていない** のでLチカするだけでも
自分で回路を作成する必要があります。リセットスイッチすらない。すべて（37本）がUserIOとして使えますという漢気。（そこまでするなら144pinパッケージで出してほしかった感も）
ブレッドボードで組んでみました。チュートリアルではBB-801のブレッドボードを推奨してましたが、写真の通り大きいブレッドボードのほうが収まりよいです。

![PXL_20241207_021533777.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/402628c3-7c58-607e-fc8c-f8392c178a71.jpeg)

### Zadigの設定

FTDI社のFT232HLをダウンロードケーブルと使用するため、FDTI社のドライバでなくlibusb-win32を適用する必要があります。そのためにZadigというソフトを使います。おなじみ[FPGAの部屋様の記事](https://marsee101.blog.fc2.com/blog-entry-6215.html)がわかりやすいです。

Option メニューから List All Devicesを選択します。
自分の環境では、FT232HLは「Single RS232-HS」と表示されていました。
[Efinixのドキュメント](https://www.efinixinc.com/docs/an050-managing-windows-drivers-v1.1.pdf)によれば置き換え先ドライバはlibusb-win32を推奨とのこと。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/5367c8fb-f345-6782-d73e-fd781cfa42e7.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106476/62cde928-eef9-4aeb-4cc4-1cf4534d0ef7.png)

### ピンの設定

ピン設定は、ピン定義ファイルを自分で作成する方法と、GUIで実施する方法があります。GUIでは双方向バッファや3-Stateバッファ設定ができないようですが、今回は関係ないのでGUIで作りました。Interface Designerデザインフローを参照ください。

## 結果

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">T8F81のチュートリアルdone<br>Lチカだけならいろんな意味でTangnanoの方が手軽だなあと感じる等 <a href="https://t.co/nDAripJBEO">pic.twitter.com/nDAripJBEO</a></p>&mdash; たるい (@taru_logi) <a href="https://twitter.com/taru_logi/status/1864319578236703177?ref_src=twsrc%5Etfw">December 4, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## その他所感

慣れてないのもあるがEfinixのツールが絶妙に使いにくい。他のツールと配置が異なっていたり、アイコンもなんかわかりにくい。Programmerで設定を一つでも変えるたびに、書き込む対象のバイナリファイル設定がクリアされるため毎回設定する必要がある、など。Lチカしかしていないのでバグの類はまだ踏んでません。

FT232HLが必要だったり、Zadigでドライバ入れ替えが必要だったり、はんだ付けが必要だったり、LEDやスイッチすらもないので自分で回路作らなきゃいけなかったりとどうも初心者には優しくない。自分もなんだかんだ3,4時間ぐらいかかってしまいました。FPGAでLチカ入門～ってだけならGOWIN社のTangNanoシリーズのほうがお手軽。LEDやスイッチぐらいはつけてほしかった。

お手軽にLチカだけやってFPGAの雰囲気を感じたいなら[Tang Nano 9k](https://akizukidenshi.com/catalog/g/g117448/)
もう少し背伸びしていろいろやりたいなら[Tang Primer 20K Dock拡張ボードセット](https://akizukidenshi.com/catalog/g/g117540/)あたりがおすすめかなと思いました。