Verilog の環境構築

はじめに

  • 自分の環境整理や研究室への情報共有のため,Verilog の環境構築についてまとめる
  • 以下の環境を想定している
    • Windows 10 以降
      • Scoop のインストールを前提としている
    • Linux (Ubuntu 22.04 等)
      • Ubuntu では apt を用いてインストールを前提としている
      • ただし,一部 linuxbrew を用いてインストールするものがあるため,必要時応じて導入を推奨する

エディタ

周辺開発ツール

  • 以下に便利な開発ツールとそのインストール方法を示す
  • これらは,VSCode の拡張機能と連携して利用できる

steveicarus iverilog

  • VerilogHDL/SystemVerilog シミュレーション用のコンパイラ

インストール方法

Windows
  • Scoop からインストール(推奨)
    • scoop install iverilog

Linux

  • apt からインストール(推奨)
    • sudo apt install iverilog

dalance svls

  • SystemVerilog の LanguageServer

インストール方法

Windows
  • Scoop からインストール(推奨)
    • scoop bucket add motty https://github.com/motty-mio2/scoop-bucket/
    • scoop install svls

Linux

  • brew からインストール(推奨)
    • brew install svls
  • cargo からインストール
    • cargo install svls

dalance svlint

  • SystemVerilog の Linter

インストール方法

Windows
  • Scoop からインストール(推奨)
    • scoop bucket add motty https://github.com/motty-mio2/scoop-bucket/
    • scoop install svlint

Linux

  • brew からインストール(推奨)
    • brew install svlint
  • cargo からインストール
    • cargo install svlint

chipsalliance verible

  • SystemVerilog の Linter Formatter LanguageServer

インストール方法

Windows
  • Scoop からインストール(推奨)
    • scoop bucket add motty https://github.com/motty-mio2/scoop-bucket/
    • scoop install verible

Linux

  • brew からインストール(推奨)
    • brew install motty-mio2/tap/verible

suoto hdl_checker

  • VerilogHDL に対応する LanguageServer
  • 他にあまり選択肢がないため,これを利用する

インストール方法

Windows
  • Scoop / pip からインストール(推奨)
    • scoop install python
    • ~\scoop\shims\python3.exe -m pip install hdl_checker

Linux

  • pip からインストール(推奨)
    • /usb/bin/python -m pip install hdl_checker

設定

  • VSCode

    • settings.json に以下の内容を追記する

      • 以下の設定は,自分の環境に合わせて適宜変更すること
      "verilog.formatting.iStyleVerilogFormatter.style": "ANSI",
      "verilog.formatting.verilogHDL.formatter": "verible-verilog-format",
      "verilog.languageServer.hdlChecker.enabled": true,
      "verilog.languageServer.svls.enabled": true,
      "verilog.languageServer.veribleVerilogLs.enabled": true,
      "verilog.linting.iverilog.arguments": "-g2012",
      "verilog.linting.iverilog.runAtFileLocation": true,
      "verilog.linting.linter": "xvlog", // Vivadoが入っている場合
      // "verilog.linting.linter": "iverilog", // Vivadoが入っていない場合
      "verilog.linting.verilator.runAtFileLocation": true,
      "verilog.linting.verilator.useWSL": true,
      
  • svls / svlint

    • 公式ドキュメントを参考に,設定ファイルを設置