Skip to content

NakajoLab/B4SMT

Repository files navigation

Scala CI

B4SMT Core

OoOのプロセッサ

準備

これらのソフトウェアをインストールしておく必要があります。

プロセッサの生成・テストコードの生成

NixについてはNixの公式サイトやZero to Nixを参考にしてみてください。

次のコマンドでこのプロジェクトのキャッシュを有効にしておくと多くのパッケージのビルドを省略できます。

$ nix shell "nixpkgs#cachix" -c cachix use b4smt

開発

テスト

  • Verilator
  • Icarus Verilog

プロセッサの生成

次のコマンドで./processorにSystem Verilogのソースが出力されます。

$ make processor

テストコードの生成

次のコマンドで./programsにいくつかテスト用のプログラムとriscv-testsのコンパイル結果が出力されます。

$ make programs

テスト用のプログラムの生成

テスト用プログラムはnixを使って管理しています。

テスト方法

いくつかの時間のかかるテストを除いたテストは次のように行います。

$ sbt "testOnly * -- -l org.scalatest.tags.Slow"

すべてのテストを実行するには次のコマンドを実行します。(とても時間がかかります)

$ sbt test

細かく実行するテストを決めたい場合はIntellij IDEAでプロジェクトを開き、各テストを実行してください。

トラブルシューティング

依存関係周りを編集したらプロセッサが生成できない

コンパイル中に依存関係周りで問題が発生していれば、Nixの依存関係のキャッシュに問題がある場合があります。 その場合は次のコマンドを実行してください。

$ nix run ".#update-hash"

このコマンドでnixの依存関係をを管理するHashを更新できます。