Windows用
最近、windows環境でwslが簡単に使えるようになったため、個人のPC上でVerilog HDLを実習する環境がとても良くなりました。wsl自体は、Windows PowerShellを開いてwsl --installと打ち込めば良いです。インストールが行われ、アカウントとパスワードを聞いてくるので適当に打ち込んでください(ここではhunga)。 2度目以降はwsl.exe -d Ubuntuで起動できます。以下でicarus verilogとgtkwaveをインストールします。
sudo apt-get install iverilog
sudo apt-get install gtkwave
でiverilogとgtkwaveのインストールができます。ここで、テスト用のディレクトリを取ってきましょう。
このファイルをダウンロードすると、そのファイルは/mnt/c/Users/hunga/Downloadsの下に入ります。演習用のディレクトリvtestを作ってこのファイルをコピーし、解凍しましょう。
mkdir vtest
cd vtest
cp /mnt/c/Users/hunga/Downloads/aisemi.tar .
tar xvf aisemi.tar
cd aisemi
このtarファイルの中には、Verilog HDLの基本的な演習問題が入っています。詳細な解説はAIと半導体講座の第7回の資料中にあります。お試しください。
Mac用
Mac用では、まずHomebrewをインストールしてからicarus verilogをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install icarus-verilog
gtkwave は Homebrew の標準パッケージが macOS 14 以降(特に 15)では互換性がなく、そのままでは正しく動きませんでした。解決方法として、以下の手順で回避できます。既にインストールしている gtkwave があれば削除する
brew uninstall gtkwave
brew untap randomplum/gtkwave
Apple Silicon の場合は Rosetta を利用して再インストールする
arch -x86_64 brew install --HEAD randomplum/gtkwave/gtkwave
Intel Mac の場合は arch -x86_64 は不要です。
brew install --HEAD randomplum/gtkwave/gtkwave
補足として、初回起動時に Gatekeeper にブロックされる場合は「システム設定 → プライバシーとセキュリティ」から「このアプリを開く」を選ぶか、ターミナルで xattr -d com.apple.quarantine “$(which gtkwave)” を実行すれば起動できます。
また、XQuartz が必要なので入っていなければ brew install --cask xquartz を先に実行してください。(公式サイトでアプリを直接にダウンロードすることも可能です。)
RISC-VをVerilogで記述してシミュレーションするための設定
以下は、第7回の最後の部分のデモを手元で再現するための設定です。これは、やってみたいという意欲のある方のためのものです。今、wslの環境しか用意してないので、Macユーザの方は申し訳ないのですが、ご自分でなんとかしていただけると嬉しいです。要するにmake、ruby、python3を実行できればいいのです。
まずmakeができないとまずいので、これがない方は、以下でインストールします。
sudo apt install make
次にrubyをインストールします。ここで使っているrubyは古い版でも問題ないので、
sudo snap install ruby --classic
sudo snap refresh
で入ります。これでRISC-Vの簡単なアセンブラが動きます。このアセンブラは、旧慶應天野研の卒業生の斎藤君(社長)が作ったshapaをコアとしてpython3でラップしたものです。もちろんgccを使えばいいのですが、結構面倒なんでこの環境を使っています。ここまでできれば、例えばmultr.asm(aisemi.tarに入れておきます)をアセンブルする場合、
make multr
make
./test
でシミュレーションが走ります。これも第7回の授業資料中に使い方を書いておきます。