# Install verilator with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Verilog simulator. Version 5.050 via Homebrew; verified 2026-07-02.

## Install

```sh
sudo av install brew:verilator
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install verilator
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install verilator
```

  Evidence: MacPorts ports tree: science/verilator/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add verilator
```

  Evidence: Alpine Linux edge package indexes: verilator from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install verilator
```

  Evidence: Debian stable package indexes: verilator from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install verilator
```

  Evidence: Fedora Rawhide package metadata: verilator from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#verilator
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ve/verilator/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S verilator
```

  Evidence: Arch Linux sync databases: verilator from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install verilator
```

  Evidence: openSUSE Tumbleweed package metadata: verilator from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:verilator
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/verilator>
- **Version:** 5.050
- **Source summary:** Verilog simulator
- **Homepage:** <https://www.veripool.org/wiki/verilator>
- **Repository:** <https://github.com/verilator/verilator>
- **Upstream docs:** <https://verilator.org/guide/latest/index.html>
- **License:** LGPL-3.0-only OR Artistic-2.0
- **Source archive:** <https://github.com/verilator/verilator/archive/refs/tags/v5.050.tar.gz>
- **Last updated:** 2026-07-02T01:52:21Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- verilator (cli)
- verilator_bin (cli)
- verilator_bin_dbg (cli)
- verilator_coverage (cli)
- verilator_coverage_bin_dbg (cli)
- verilator_gantt (cli)
- verilator_profcfunc (cli)
- verilator (alias)
- verilator_bin (alias)
- verilator_bin_dbg (alias)
- verilator_coverage (alias)
- verilator_coverage_bin_dbg (alias)
- verilator_gantt (alias)
- verilator_profcfunc (alias)

## Build dependencies

- autoconf
- automake
- help2man

## Uses from macOS

- perl
- python

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 5.050
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://github.com/verilator/verilator
- Upstream latest detected: v5.050 (current)
## Project history and usage

Verilator is an open-source Verilog/SystemVerilog simulator and lint system that compiles HDL into optimized C++ or SystemC models. Its reputation comes from speed: rather than acting like a traditional event-driven simulator, it generates compiled models that are especially useful for large cycle-accurate simulations, CPU models, open hardware projects, and regression farms.

### Project history

Verilator's roots go back to 1994 at Digital Equipment Corporation, where a Core Logic Group team led by Paul Wasson built technology to convert Verilog to C for Alpha-processor co-simulation. DEC released the source code in 1998, turning the internal tool into available open-source EDA infrastructure.

In 2001 Wilson Snyder took up the kit, added a SystemC mode, and packaged it as Verilator2. In 2002 he rewrote the tool from scratch in C++ as Verilator 3.000, producing large performance gains and setting the direction for the modern project under the Veripool umbrella.

The project kept expanding SystemVerilog and verification support, including major SystemVerilog and DPI additions in 2009. Verilator 4.000 in 2018 added multithreaded support, a milestone for using commodity multi-core hosts to accelerate hardware simulation. In 2019 Verilator joined the CHIPS Alliance, reflecting its role in the open-source silicon ecosystem.

In the Verilator 5 era, the project added a more IEEE-compliant scheduler and delay semantics, addressing historical limitations while preserving its compiled-simulation identity. Current documentation presents it as a fast SystemVerilog simulator, lint tool, C++/SystemC model generator, and JSON-emitting front end for other tools.

### Adoption history

Verilator's earliest adoption came from engineering teams that needed fast executable models and were willing to integrate HDL with C++ or SystemC testbenches. Secondary histories and the Verilator FAQ describe use across academic research, open-source projects, major silicon companies, and large organizations such as CERN.

The rise of open hardware made Verilator more central. Projects in the RISC-V, OpenRISC, CHIPS Alliance, and education communities use it because it is packageable, automatable, and free software, making it viable in CI where proprietary EDA licensing is impractical or impossible.

Commercial adoption grew because Verilator can turn synthesizable RTL into fast simulation artifacts for long regressions and software bring-up. It does not replace every feature of event-driven commercial simulators, but it occupies a powerful niche where speed, openness, and integration with normal C++ tooling matter.

### How it is used

Package users invoke `verilator` on Verilog or SystemVerilog sources to generate C++ or SystemC, compile the generated model with a C++ testbench, and run the resulting executable. Common flags select C++ output, lint-only checks, tracing, SystemC output, coverage, multithreading, and build integration.

Verilator is used for linting RTL, building cycle-accurate simulators for CPU cores and SoCs, running firmware against hardware models, profiling generated simulation code, collecting coverage, and integrating HDL models into larger C++ or SystemC environments. Its companion tools such as `verilator_coverage`, `verilator_gantt`, and profiling helpers support those workflows.

### Why package nerds care

Verilator is one of the rare EDA tools that feels native to ordinary open-source package workflows: install it, run it in CI, version the RTL and testbench, and avoid license-server friction. For hardware developers, that makes the Homebrew formula more than convenience; it is an on-ramp to serious open silicon verification.

### Timeline

- 1994: DEC's Core Logic Group develops the original Verilog-to-C technology for Alpha co-simulation.
- 1998: DEC releases the source code.
- 2001: Wilson Snyder packages the technology as Verilator2 and adds SystemC mode.
- 2002: Verilator 3.000 is rewritten in C++ with major performance gains.
- 2009: Major SystemVerilog and DPI support lands.
- 2018: Verilator 4.000 introduces multithreaded support.
- 2019: Verilator joins the CHIPS Alliance.
- 2022 onward: Verilator 5 work improves IEEE scheduling and delay semantics while retaining the compiled-model architecture.

### Related projects

- Verilator is related to Icarus Verilog, CXXRTL/Yosys, GHDL, commercial simulators such as Synopsys VCS, Siemens Questa/ModelSim, and Cadence Xcelium, and open-hardware projects such as OpenRISC and RISC-V cores. Compared with Icarus Verilog it is usually chosen for speed and C++ integration; compared with commercial tools it is chosen for openness and packageability.

### Sources

- <https://abopen.com/news/wilson-snyder-officially-launches-verilator-4-0-at-orconf-2018/>
- <https://en.wikipedia.org/wiki/Verilator>
- <https://github.com/verilator/verilator>
- <https://verilator.org/guide/latest/changes.html>
- <https://verilator.org/guide/latest/contributors.html>
- <https://verilator.org/guide/latest/languages.html>
- <https://veripool.org/guide/latest/faq.html>
- <https://veripool.org/papers/>
- <https://www.veripool.org/verilator/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** verilator
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - verilator - 5.032-1+b2: normalized package name match | Debian stable package indexes: verilator from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast free Verilog simulator | http://www.veripool.org/wiki/verilator
- Nix - verilator: normalized package name match | nixpkgs package indexes: pkgs/by-name/ve/verilator/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - verilator - 5.020-1: normalized package name match | Ubuntu 24.04 LTS package indexes: verilator from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast free Verilog simulator | http://www.veripool.org/wiki/verilator
- apk - verilator - 5.048-r0: normalized package name match | Alpine Linux edge package indexes: verilator from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Convert Verilog and SystemVerilog to C++ or SystemC | https://verilator.org
- apk - verilator-dev - 5.048-r0: normalized package name match | Alpine Linux edge package indexes: verilator-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Convert Verilog and SystemVerilog to C++ or SystemC (development files) | https://verilator.org
- apk - verilator-doc - 5.048-r0: normalized package name match | Alpine Linux edge package indexes: verilator-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Convert Verilog and SystemVerilog to C++ or SystemC (documentation) | https://verilator.org
- dnf - verilator - 5.046-3.fc45: normalized package name match | Fedora Rawhide package metadata: verilator from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A fast simulator for synthesizable Verilog | https://veripool.org/verilator/
- dnf - verilator-devel - 5.046-3.fc45: normalized package name match | Fedora Rawhide package metadata: verilator-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Libraries and header files for verilator | https://veripool.org/verilator/
- dnf - verilator-doc - 5.046-3.fc45: normalized package name match | Fedora Rawhide package metadata: verilator-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Documentation for verilator | https://veripool.org/verilator/
- pacman - verilator - 5.048-1: normalized package name match | Arch Linux sync databases: verilator from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | The fastest free Verilog HDL simulator | https://www.veripool.org/verilator/
- zypper - verilator - 5.038-1.3: normalized package name match | openSUSE Tumbleweed package metadata: verilator from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Compiling Verilog HDL simulator | https://www.veripool.org/projects/verilator/wiki/Intro
- zypper - verilator-devel - 5.038-1.3: normalized package name match | openSUSE Tumbleweed package metadata: verilator-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Verilator library header files | https://www.veripool.org/projects/verilator/wiki/Intro
- zypper - verilator-examples - 5.038-1.3: normalized package name match | openSUSE Tumbleweed package metadata: verilator-examples from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Examples for verilator | https://www.veripool.org/projects/verilator/wiki/Intro
- MacPorts - verilator: normalized package name match | MacPorts ports tree: science/verilator/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [help2man](https://www.automicvault.com/pkg/brew/help2man/) - Build dependency declared by Homebrew.
- [gplcver](https://www.automicvault.com/pkg/brew/gplcver/) - Shares av.db curated category or tags: cli, developer-tools, simulation, verilog.
- [gpsim](https://www.automicvault.com/pkg/brew/gpsim/) - Shares av.db curated category or tags: cli, developer-tools, simulation, simulator.
- [rggen](https://www.automicvault.com/pkg/brew/rggen/) - Shares av.db curated category or tags: cli, developer-tools, hardware, systemverilog.
- [i2c-tools](https://www.automicvault.com/pkg/brew/i2c-tools/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [icestorm](https://www.automicvault.com/pkg/brew/icestorm/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [nextpnr-ice40](https://www.automicvault.com/pkg/brew/nextpnr-ice40/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [openfpgaloader](https://www.automicvault.com/pkg/brew/openfpgaloader/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [prjtrellis](https://www.automicvault.com/pkg/brew/prjtrellis/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [surelog](https://www.automicvault.com/pkg/brew/surelog/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, hardware, systemverilog.
- [sv2v](https://www.automicvault.com/pkg/brew/sv2v/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, hardware, systemverilog.

## Combined YAML source

View the package source record on GitHub. [combined/verilator.yml](https://github.com/automic-vault/db/blob/main/combined/verilator.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
