FPGAのお話です
今までの部署はXilinxだったんですが、今の部署はAlteraってことで、久しぶりにAlteraに戻ってます。
確か12年くらい前のCycloneIIIの時代に某製品用のHD-SDI出力とかを作ってたのが最後だったと記憶しています。
時がすぎるのははえーなー
で、久々のALTERAなので、ツールのインストールから簡単な回路を動かすまでちょっと苦労したので備忘録としてメモっておきます。
ちなみに今の部署内にFPGAの熟練者はいないようです。派遣さん任せにしてたようで、その派遣さんがいなくなったら誰も満足にわかってない状況。使ってたバージョンもクソ古いし、ライセンスもよくわかってないみたい。いい加減な部署や。で、こんな年寄に全部押し付けられてもーた。まぁ楽しいからいいけど。
久々のAlteraですが、Xilinxのように資料が充実している感じではないようですね。
Intel(Altera)の情報よりもマクニカ(アルティマ)さんの情報が充実していて、それなしでは生きていけないって感じです。
ただ、Xilinxもそうですが、頻繁にツールがアップデートするのでドキュメントが追いついていないって感じなのは一緒のようです。
Quartus
以前はQuartusII、その前はMaxPlusとかっていうツールだったと思いますが、今はQuartusPrimeってなってます。
ちゃんと覚えていませんが、XilinxのISE→Vivadoの変わり方からすれば可愛いものなの(とっつきやすいって意味)かなって思います。
あれ?QuartusIIってことはQuartusIってのもあったのかなぁ。。。
で、今のQuartusPrimeにはPro/Standard/Liteエディションがありまして、それぞれの違いはこちらを参考に。
まぁ個人では無償のLiteEditionでしょうし、会社だとProかStandardってことかと思います。
うちの部署はStandardのライセンスがありますが、数が少ないのでLiteと使い分けをする感じでしょうか。
ProとStandardは同じ有償ですが、機能だけじゃなくて、サポートするデバイスも違うので必ずしもProの方がいいとは限らないようです。
ってか、今はProもStandardも同じライセンスになったとも聞いてたりします。同じライセンスと別々のライセンスで価格が違うのかとかそこまではまだわかってません。次回の会社のライセンス更新のときにでも聞いてみよう。
Quartusのインストール
Windows版で説明します。
まずサポートしているOSですが以下に書いてありまして、Windows11ではQuestaという以前のModelsimに変わるシミュレーションソフトがサポートされていないようです。Quartusとぱっと見で区別付かないスペルですよね。
で、これでWin11でも合成だけならいいかなって思ってしまいそうですが、こちらをご覧ください。
各Edition、Versionによるサポート状況が出ています。
これをみるとWindows11は ProEditionのVer22.3しかサポートしてないってことがわかります。
なので、最新のStandardEditionやLiteEditionではWindows10(64bit)でしかだめですよってことですね。
こういうのがあるんで会社のPCは最新にアップデートできないんですよね。いろいろなソフトがついてこれない。
ということで、EditionとVersionを決めたら以下のページからダウンロードします。
Windows向けダウンロード をクリックしたら各ページに飛ぶんですが、何故かデフォルトで選ばれているVersionが21.1.1で最新の22.1が選ばれておらず自分で変更する必要があります。まだ22.1ってStable版じゃないってことなんだろうか?
Versionを選んだら、Standard/ProならComplete Download、LiteEditionならMultipleDownload
のQuartus-*.tarってところをクリックしてtarファイルを落とします。
かなりでかいので気長に待ちましょう。
ダウンロードしたら適当なディレクトリに展開します。
そして、setup.batをクリックして実行。指示に従いインストールします。
設定するのはインストール先とコンポーネントの選択
デバイスは後から追加できるので、とりあえず使うものだけを選択します。ディスク容量が潤沢にある場合は気にせず大人買いで全部いれちゃってください。
Questaは2つありますが、ライセンスが無いのであればStarterEditionの方を選択しましょう。
XilinxのVivadoなんかよりは遥かに使用する容量は小さい気がしますが、それでもそれなりに時間かかりますので、辛抱強く待ちましょう。
最近はHDDじゃなくSSDにしか入れないのでわかりませんが、Xilinxの場合、HDDだと半日以上かかってたような記憶があります。
インストールが終わったら、QuartusやQuestaは起動すると思いますが、Nios II Software Build Tools for Eclipse は起動しないと思います。
そこでEclipseのマニュアルインストールを行います。
インストール先のnios2eds/binディレクトリの中のREADMEに従ってインストールを行います。
簡単に言うと
・eclipse-cpp-mars-2-win32-x86_64.zipをダウンロード
・binの下に展開。eclipseというディレクトリができる。
・eclipseからeclipse_nios2にリネーム
・binの下にあるeclipse_nios2_plugins.zip を展開して上書き(eclipse_nios2に上書きされます)
・eclipse_nios2/plugin_customization.ini ができていればOK
・eclipse_nios2.exeが起動すればOK
です。
加えてWSLが必要になります。
WSLのインストール方法、設定はちゃんとおぼえてないのでググってください(丸投げ)
基本はここが参考になるはずです。
バージョンですが、自分の環境ではUbuntu-20.04でも動いてますが、古いQuartusだと18.04じゃないとだめってのもあるかもしれません。
以前マクニカだかIntelのサイトでUbuntuの対応バージョン表を見た記憶があるんですが、見つけられませんでした。
確か、18.04は幅広く対応していて、20.04は最近のだけって感じだったはず。
無難なのはマクニカのサイトでも書いてある18.04ですね。
あと大事なのはWSLのバージョンは1にしておくことです。バージョン2には対応してなかったはず。ここで少しハマりました。
先のマクニカさんの情報のように、Ubuntu上でこれらはすべて実行しておいてください。
これでまぁOKでしょう。
あと、StandardやProなら普通は会社での利用かと思いますので、ライセンス管理者に聞いてライセンスを設定しておきましょう。うちの場合、ライセンスの設定方法は教えてもらいましたが、ライセンスの中身はわからないっていうおいおいって感じでした。なんちゅういい加減な部署や。。。
環境変数は
QSYS_ROOTDIR に イントールディレクトリ下のquartus\sopc_builder\bin
QUARTUS_ROOTDIR に イントールディレクトリ下のquartus
SOPC_KIT_NIOS2 に イントールディレクトリ下のnios2eds
となっていますが、少なくとも後者2つは勝手に設定されるようです。
バージョン違いのQuartusを環境変数変えずに起動できましたので問題ないんでしょう。
これで合成もできたし、NIOSのソフトもできた。
シミュレーションもできたのでほぼほぼ設定はできているんだと思います。
ただ、すべての機能を試したわけじゃないのでまだ足りない設定とかあるかもしれませんね。
次回は、NIOSのソフトと自作回路の強調シミュレーションの方法を書いてみたいと思います。
お役に立てば幸いです。
コメント