VerilatorインストールとSystemC実行(Mac)
SystemCインストールしたので、Verilatorと一緒に動かしてみる。
環境
- macOS Monterey 12.5
前提
以下がインストールされている状態です。
インストール
versionにこだわりなかったので、brew
でインストールした。
$ brew install verilator
$ verilator --version Verilator 4.224 2022-06-19 rev UNKNOWN.REV
実行
基本的には、Verilatorのマニュアルを参考にした。
SystemCの環境変数として、以下が設定されている必要がある。
SYSTEMC_INCLUDE
SYSTEMC_LIBDIR
基本的には、上記で出来たけど面白味にかけるので CMake
でできるようにしてみた。
マニュアルとしては、以下を参考にした。
$ ls
CMakeLists.txt our.v sc_main.cpp
CMakeLists.txt
の中身はこちら
cmake_minimum_required (VERSION 3.1) project(cmake_example) set(target run.x) find_package(verilator HINTS $ENV{VERILATOR_ROOT}) add_executable(${target} sc_main.cpp) verilate(${target} SYSTEMC SOURCES our.v) verilator_link_systemc(${target})
あとの手順は以下の通り。
$ mkdir build; cd build $ cmake .. $ make [ 10%] Building CXX object CMakeFiles/run.x.dir/sc_main.cpp.o [ 20%] Building CXX object CMakeFiles/run.x.dir/CMakeFiles/run.x.dir/Vour.dir/Vour.cpp.o [ 30%] Building CXX object CMakeFiles/run.x.dir/CMakeFiles/run.x.dir/Vour.dir/Vour___024root__DepSet_hd6c43f43__0.cpp.o [ 40%] Building CXX object CMakeFiles/run.x.dir/CMakeFiles/run.x.dir/Vour.dir/Vour___024root__Slow.cpp.o [ 50%] Building CXX object CMakeFiles/run.x.dir/CMakeFiles/run.x.dir/Vour.dir/Vour___024root__DepSet_hd6c43f43__0__Slow.cpp.o [ 60%] Building CXX object CMakeFiles/run.x.dir/CMakeFiles/run.x.dir/Vour.dir/Vour__Syms.cpp.o [ 70%] Building CXX object CMakeFiles/run.x.dir/usr/local/share/verilator/include/verilated.cpp.o [ 80%] Linking CXX executable run.x [100%] Built target run.x $ ./run.x SystemC 2.3.3-Accellera --- Aug 16 2022 12:13:48 Copyright (c) 1996-2018 by all Contributors, ALL RIGHTS RESERVED Hello World - our.v:4: Verilog $finish
という感じでおしまい。