LoginSignup
1
3

More than 3 years have passed since last update.

Windows10 + WSL2 + VScode + Docker で Chisel 開発環境を作る

Last updated at Posted at 2020-10-06

関連リンク

Windows10のバージョン

WSL2のために,Windows10はバージョン2004以上にする.

Windowsのバージョンは,以下から確認できる.

[設定]->[更新とセキュリティ]->[Windows Update]->[OSビルド情報 (ウィンドウ右側,[関連するリンク]欄) ]

WSL2のセットアップ

参考に従って,WSL2を有効化する

手順:

  1. [コントロールパネル] -> [プログラム] -> [Windowsの機能の有効化または無効化] -> [Linux用Windowsサブシステム]にチェック. (再起動)

  2. [Windows Powershell (管理者権限)]から

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. [Windows Powershell (管理者権限)]から

    wsl --set-default-version 2
    
    WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください  
    WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
    

    と表示される場合は,https://aka.ms/wsl2にアクセスし,最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロード/インストールする.

  4. Microsoft Storeから,Ubuntu 20.04 LTS をインストールする.

  5. Ubuntuを起動し,初期設定を完了する.
    以下のコマンドは実行しておく.

    sudo apt update
    sudo apt upgrade -y
    

Dockerのセットアップ

参考1, 参考2に従って,Dockerをインストール

  1. Docker Desktop WSL2 backendより,Docker Desktop Stable 2.3.0.2以降のバージョンをインストールする.

  2. [Settings] -> [General] にてUse the WSL 2 based engineにチェックが入っていることを確認する.

  3. [Settings] -> [Resources] -> [WSL INTEGRATION] にて Enable integration with additional distros:Ubuntu-20.04を有効にする.

VSCodeのセットアップ

参考1, 参考2に従って,VSCode上でWSL2およびDockerを使用可能にする.

  1. VSCodeの[Extensions]よりRemote - WSL, Remote - Containersをインストール

  2. VSCode左下にある緑の><マーク(Open a Remote Window)をクリックし,Remote - WSL: New Window Using Distro...->Ubuntu 20.04を選択.

    以降はWSL側のVSCodeで作業.

  3. [Extensions]よりDockerをインストール

  4. VSCode上部のタブよりTerminal->New Terminalを選択し,ターミナルを開く.
    以下のコマンドを実行する (開発フォルダを設定)

    mkdir workspace
    mkdir workspace/chisel
    
  5. VSCodeの[Explorer]->[Open Folder]より,\home\<user_name>\workspace\chiselを開く.

  6. [New File]よりDockerfileを作成し,以下の内容を書き込む.

    # Reference: https://github.com/freechipsproject/chisel3/blob/master/SETUP.md
    FROM ubuntu:20.04
    
    # Install sbt
    RUN apt update
    RUN apt upgrade -y
    RUN apt install -y gnupg2
    RUN apt install -y default-jdk
    RUN echo "deb https://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
    RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823
    RUN apt update
    RUN apt install -y sbt
    RUN apt install -y git make autoconf g++ flex bison
    
    # Install Verilator
    WORKDIR /tmp
    RUN git clone http://git.veripool.org/git/verilator verilator
    
    WORKDIR /tmp/verilator
    RUN git pull
    RUN git checkout v4.016
    RUN unset VERILATOR_ROOT
    RUN autoconf
    RUN ./configure 
    RUN make
    RUN make install
    
    # Set volume
    VOLUME [ "/volume" ]
    WORKDIR /volume
    
  7. 右下の緑の>< WSL:Ubuntu-20.04をクリックし,Remote-containers: Reopen in Container -> From Dockerfileをクリック

    以降はDockerコンテナ内のVSCodeで作業

  8. [Extensions]よりScala(Metals)をインストール(Install on Dev Container: Existing Dockerfileボタン)

Chiselの動作確認

参考に従って,Chiselのプロジェクトテンプレートをダウンロードし,動かしてみる.

  1. テンプレートをダウンロードする.

    git clone https://github.com/ucb-bar/chisel-template.git MyChiselProject
    cd MyChiselProject
    
  2. Gitの履歴をクリアする.

    rm -rf git
    git init
    git add .gitignore *
    
  3. Projectの名前を変更する.

    build.sbtを開き,name := "my-chisel-project"となっている箇所を変更する.

  4. README.mdを適宜変更する

  5. 変更をコミットする.

    git commit -m "Starting MyChiselProject"
    
  6. 動作確認をする

    sbt test
    

    最後の行に[Success] Total time: ...と表示されていれば成功

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3