電子回路わからん日記

にゃーんと言いながら電子回路いじってます

Efinix Trion T20 Development Kitで遊んでみた所感

お久しぶりです。

だいぶ前にこんな記事を書きました。

audio-diy.hatenablog.com

 

今回はその続きについて書いていきたいと思います。


Digi-keyに相談

購入したDigi-keyに相談したところ、

ということで、

2つになってしまいました。

 

まぁ、勉強も兼ねて不良品はSPI/JTAGケーブルを自作して使えるようにしたいと思います。


正常動作品でいろいろ遊んでみる

正常動作品が届いたので、公式で配布されているDevelopment Kit用のTutorialを用いて一連の流れに触れてみます。

vimeo.com

大まかな開発手順についてはVimeoに移動して動画を見てもらうこととして、今回購入した開発ボード上に色々実装してみて気づいた事等を、「EfinixのFPGA気になってるけどどうなんだろ?」と思ってる人のために少しでも気になればと思い列挙していきたいと思います。


「公式ダウンロードケーブル」が存在しない

IntelXilinxFPGAに触れたことのある人ならご存知かと思いますが、

www.mouser.jp

japan.xilinx.com

FPGAベンダーが書き込み/デバッグ用にケーブルを販売しています。

それに対しEfinixはどうかと言いますと、

https://www.efinixinc.com/docs/an006-configuring-trion-fpgas-v5.3.pdf

You can program Efinix FPGA or the SPI flash using FTDI Mini Modules.

 

(AN006: Configuring Trion FPGAsより引用)

とあります。

簡単に言えば「FTDIのICを使って作ってね」ということです。(ただし、市販のMini Moduleをプログラミングケーブルとして使用可)

www.mouser.jp

IntelXilinxの公式プログラミングケーブルが3万円とかするのに対しFT2232H Mini Moduleは5000円弱なので導入コストで言えば良心的ですね。

あとこの構成を採用することで「設計基板上にFTDIチップを載せてしまってユーザーがアップデートできるようにする」といったことも可能になります。


USBドライバが汎用

先述の「公式ダウンロードケーブルが存在しない」にも絡んでくるのですが、書き込みに使用するケーブルのUSBドライバが汎用ドライバ(libusb-win32)です。

また、ダウンロードにはZadigというフリーソフトウェアを使用します。

zadig.akeo.ie

ここは開発者の考え方の違いが出てくると思いますが、量産製品に搭載する用途などではあまり好まれないのかなと思います。

 

ドライバのインストーラフリーソフトウェアとなれば「開発元は今後も開発を継続できるのか」といってところに神経を使ってしまいますし、ドライバ関係周辺で問題が発生したときにベンダーがサポートしてくれるのかという点でも不安が残ります。


シミュレーション環境が貧弱

正直に言って「貧弱」と言わざるを得ません。

 

まず、開発環境にシミュレータが付属しません。

IntelやMicrochip、LatticeにはModelSimの機能制限版が付属したり、Xilinxは自社設計のシミュレータが付属しますが、Efinixの開発環境にはそれらがありません。

eda.sw.siemens.com

japan.xilinx.com

公式チュートリアルではALDEC Active-HDLで波形を確認している例がざっくり紹介されていましたが、

www.aldec.com

開発環境のドキュメンテーションを確認したところ、

  1. 開発環境から呼び出して使用できるのは「Icarus Verilog」「ModelSim」「Incisive」の3種類
  2. 開発環境のGUIからはシミュレータの呼び出しは不可能で、コマンドを実行して呼び出す必要がある
  3. 開発環境からのVHDL RTLシミュレーションが不可能VHDLのシミュレーションは別途対応シミュレータを立ち上げて実行する必要がある)
  4. 開発環境はデフォルトでIcarus Verilogを使用してシミュレーションを実行しようとする

など、開発にVHDLを使用するエンジニアに対しては特に優しくない仕様です。

ここは素直に改善を望みます。


RTLビューアが無い

これはAUDIYが普段Intel FPGAを使用しているからというのもありますが、論理合成結果をRTLビューアのような回路図形式で見ることができません。

つまり論理合成結果からバグを見つけることは不可能に近いです。

ここもできれば機能があると嬉しいです。


開発環境の無償アップデート期間が設定されている

開発キットさえ購入すれば開発環境のソフトウェアは無料で使用できますが、無償アップデート期間は1年間のみで、以降のダウンロードやアップデートは有償(年単位での更新)になります。

www.efinixinc.com

こういったところもIntelXilinx、Latticeと比較すると少々導入難易度が高いと言わざるを得ません。(アップデートさえ気にしなければ継続使用は可能)

 

ただし、IntelXilinxは開発対象のFPGAバイスによってソフトウェアの有償・無償を区別していたりするのに対し、Efinixはその制限が無いので一長一短といったところです。


UIがシンプル

IntelFPGA開発環境であるQuartusは開発工程や設定項目毎に細かい階層構造になっているため色々見落としやすい部分もあると感じていますが、Efinixの開発環境は至ってシンプルです。

プロジェクト設定へのアクセスも2クリックで開きます。慣れてしまえば初設定や各工程で細かい作業するにはこちらのほうが早いと思います。

 

他にもクロック数の制限とか

タイミング制約とか、色々あるにはありますが、おそらく初めてFPGAに触れる人、初めてEfinixに触れる人が直面するこれまでの開発環境との違いはこんなところだと思います。


初学者・ホビーユーザー向けか?

正直なところ、現状の開発環境では初学者向けとは言えないとAUDIYは思います。

「これから初めてFPGAに触れる!」という人は、素直にTerasicやDigilentの学習キットを購入してIntelXilinxの勉強をしたほうが幸せになれると思います。(学習用資料も豊富に揃ってますし。)

www.digikey.jp

www.digikey.jp

 

ホビーユーザーに対しては、ソフトウェア・アップデートさえ気にしなければFPGA開発経験のある人は検討の価値があると思います。というのも、

  • 自前の書き込み環境を構築できる
  • コンフィグレーションROMや書き込み環境のコストを安く抑えられる
  • シミュレータやRTLビューアも大抵どうにかなる(AUDIYはModelSim Intel FPGA Starter EditionやYosysを組み合わせてます)

というのがそう考える理由です。


以上、AUDIYがEfinixの開発ボードでチュートリアルファイルを使って遊んでみた所感をまとめました。

 

せっかく動作不良品が手に入ったことですし、GPIOの数も豊富なので多くの入出力を必要とする設計や、自前の書き込み環境(FTDI FT2232Hを使った自作基板)の設計等勉強していければと思います。