Due to differences between macOS and Linux in system kernels and development toolchains, Picker has some functional limitations on macOS:
- The emulator only supports Verilator
- Dynamic multi-instance is not supported; please use static multi-instance if multiple instances are needed
Therefore, we strongly recommend using Picker in a Linux environment for more comprehensive feature support.
Warning
We recommend installing Picker dependencies on macOS via Homebrew. If you do not use Homebrew for dependency setup, you will need to troubleshoot any problems yourself.
The instructions below assume you have Homebrew properly configured.
brew install cmake lcov lld llvm pkgconf python3 swig systemc verilator zlibThese dependencies are required when Picker exports C++ and Python DUTs. Among them:
llvmis optional; you can also use the system’s defaultclang(AppleClang), but AppleClang typically compiles larger DUTs more slowly.lldis optional but speeds up linking. If not installed, the system will use the defaultld(Apple Linker).- If multiple Python versions exist on your system, ensure tools like
pythonandpython-configare not mixed across versions to avoid compilation errors caused by ABI mismatch.
If you want support for other languages like Java, Go, Lua, or Scala2, please configure the relevant toolchains yourself; this guide does not cover that.
Tip
Please refer to the README.md in the project root for build steps.
Here we demonstrate installing picker to the ~/Applications/Picker folder.
First, run this command to compile and install:
make init
make install ARGS="-DCMAKE_INSTALL_PREFIX=$HOME/Applications/Picker"This installs picker under:
$HOME/Applications/Picker/bin$HOME/Applications/Picker/share/picker$HOME/Applications/Picker/lib
Then configure your environment variables:
export PATH="$HOME/Applications/Picker/bin:$PATH"Finally, run picker --check to verify the installation is complete.