LiteXではじめる自作SoC(2) インストール
https://zenn.dev/tanakmura/articles/first_article_konnnichiwa 第1回
FPGA環境
手元にあるのがArty(初代)なので、それで説明していく。
これのマイナーチェンジである Arty A7-35T とかは、わずかな変更で動くはず。基本的には、変更が必要なのはSPIに付いてるFlashだけで、他は変更しなくても動く気がする(よくわからなければそのまま動くはず)
Arty A7-35T は、誰でも使えるACRi ルームで時間単位で借りれるので、
少し試してみたい場合はそれを使ってみるのもよいと思う。(動作確認はそのうちしてみるのでちょっと待って)Arty, Arty A7-35T以外については、各自でうまいこと対応してください。
LiteX と SymbiFlow のインストール
aptとかに慣れてしまってると少しめんどうだが、サクっとインストールしてしまおう。
LiteX と SymbiFlow のインストールは独立しているが、SymbiFlow は Anaconda 用の環境が用意されていて、LiteXはPython環境にインストールされるので、SymbiFLowから先にインストールするのがよいと思う。
LiteX は、SymbiFlow が無くても、Vivado などベンダ依存のツールがあれば使えるようになっている。そちらを使うのであれば、SymbiFlow のインストールは必要ない。SymbiFlowでは Xilinx の FPGA の機能を使えない部分が一部あるようなので、Vivado もインストールしておくのがよいと思う。
SymbiFlow のインストール
symbiflow-examples という symbiflow のサンプルコードを集めたプロジェクトに、Anaconda 上に SymbiFlow の環境を構築する enviroments.yml が置いてある。これを使うのがいいと思う。
この手順に従えばよい。
- conda のインストール
- $ conda env create -f symbiflow-examples/xc7/environment.yml
- $ conda activate xc7
- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/367/20210822-000315/symbiflow-arch-defs-install-709cac78.tar.xz と https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/367/20210822-000315/symbiflow-arch-defs-xc7a50t_test-709cac78.tar.xz を取得して、展開して、中に入っているbinにPATHを通す
恥ずかしながら、私ははじめてAnacondaを使ったので、同じようにこういうのをよく知らない人のために書いておくと、AnacondaはPythonで作られた小さいLinuxディストリビューションみたいなやつで、必要なライブラリとかを全て管理することで、もとのLinux環境やpip環境をあまり汚すことなく色々インストールできるというものだ。
conda をインストールして、
$ conda activate <環境名>
$ pip install xyzzy
$ conda deactivate
とかすると、特定の環境だけに色々なものをインストールできる。(それ以上の詳しい使い方は私も知らない)
これで、うまくいっていれば、
(base) $ conda activate xc7
(xc7) $ yosys
yosys> exit
(xc7) $ symbiflow_pack --help
(xc7) $ conda deactivate
(base) $
とかすれば、yosys と SymbiFlow が使える環境が確認できるはず。
あと dtc がいりますね…普通にaptとかでインストールしておく。
$ sudo apt intsall device-tree-compiler
LiteX のインストール
色々インストールしないといけないが、一発でインストールできるスクリプトがあるので、それを使おう。
これをダウンロードして、実行すれば、実行したディレクトリに依存ライブラリが全て置かれて、Python環境にインストールされる。
(SymbiFlowをインストールしている場合は、conda activate xc7 してから litex_setup.py を実行する)
インストール後、
(xc7) $ python
import litex
などして、litex モジュールがロードできればインストールに成功している。
sbt のインストール
あとsbtがいるっぽい。
sbtのインストールは SDKMAN を使うのがいいらしい。(よく知らないので各自で説明を読んでなんとかして)
次回、とりあえず Linux が動く SoC を作る編に続く。
https://zenn.dev/tanakmura/articles/litex_linux_ae3feff0b48ede 第3回
Discussion