How To Install verilator on Fedora 34

verilator is A fast simulator for synthesizable Verilog

Introduction

In this tutorial we learn how to install verilator on Fedora 34.

What is verilator

Verilator is the fastest free Verilog HDL simulator. It compiles synthesizable Verilog, plus some PSL, SystemVerilog and Synthesis assertions into C++ or SystemC code. It is designed for large projects where fast simulation performance is of primary concern, and is especially well suited to create executable models of CPUs for embedded software design teams.

We can use yum or dnf to install verilator on Fedora 34. In this tutorial we discuss both methods but you only need to choose one of method to install verilator.

Install verilator on Fedora 34 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install verilator using dnf by running the following command:

sudo dnf -y install verilator

Install verilator on Fedora 34 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install verilator using yum by running the following command:

sudo yum -y install verilator

How To Uninstall verilator on Fedora 34

To uninstall only the verilator package we can use the following command:

sudo dnf remove verilator

verilator Package Contents on Fedora 34

/usr/bin/verilator
/usr/bin/verilator_bin
/usr/bin/verilator_bin_dbg
/usr/bin/verilator_coverage
/usr/bin/verilator_coverage_bin_dbg
/usr/bin/verilator_gantt
/usr/bin/verilator_profcfunc
/usr/lib/.build-id
/usr/lib/.build-id/69
/usr/lib/.build-id/69/6dbcf8491b763f30a6534865d28b9ddf57cd47
/usr/lib/.build-id/c2
/usr/lib/.build-id/c2/f919d96d2a3f9617f7a72b21ee6a63ab59b56d
/usr/lib/.build-id/c5
/usr/lib/.build-id/c5/dcbc474cadca8db39c19c23eaa221a3433b479
/usr/lib64/pkgconfig/verilator.pc
/usr/share/doc/verilator
/usr/share/doc/verilator/Changes
/usr/share/doc/verilator/README.adoc
/usr/share/doc/verilator/examples
/usr/share/doc/verilator/examples/cmake_hello_c
/usr/share/doc/verilator/examples/cmake_hello_c/CMakeLists.txt
/usr/share/doc/verilator/examples/cmake_hello_c/Makefile
/usr/share/doc/verilator/examples/cmake_hello_sc
/usr/share/doc/verilator/examples/cmake_hello_sc/CMakeLists.txt
/usr/share/doc/verilator/examples/cmake_hello_sc/Makefile
/usr/share/doc/verilator/examples/cmake_protect_lib
/usr/share/doc/verilator/examples/cmake_protect_lib/CMakeLists.txt
/usr/share/doc/verilator/examples/cmake_protect_lib/Makefile
/usr/share/doc/verilator/examples/cmake_tracing_c
/usr/share/doc/verilator/examples/cmake_tracing_c/CMakeLists.txt
/usr/share/doc/verilator/examples/cmake_tracing_c/Makefile
/usr/share/doc/verilator/examples/cmake_tracing_sc
/usr/share/doc/verilator/examples/cmake_tracing_sc/CMakeLists.txt
/usr/share/doc/verilator/examples/cmake_tracing_sc/Makefile
/usr/share/doc/verilator/examples/make_hello_c
/usr/share/doc/verilator/examples/make_hello_c/Makefile
/usr/share/doc/verilator/examples/make_hello_c/sim_main.cpp
/usr/share/doc/verilator/examples/make_hello_c/top.v
/usr/share/doc/verilator/examples/make_hello_sc
/usr/share/doc/verilator/examples/make_hello_sc/Makefile
/usr/share/doc/verilator/examples/make_hello_sc/sc_main.cpp
/usr/share/doc/verilator/examples/make_hello_sc/top.v
/usr/share/doc/verilator/examples/make_protect_lib
/usr/share/doc/verilator/examples/make_protect_lib/Makefile
/usr/share/doc/verilator/examples/make_protect_lib/secret_impl.v
/usr/share/doc/verilator/examples/make_protect_lib/sim_main.cpp
/usr/share/doc/verilator/examples/make_protect_lib/top.v
/usr/share/doc/verilator/examples/make_tracing_c
/usr/share/doc/verilator/examples/make_tracing_c/Makefile
/usr/share/doc/verilator/examples/make_tracing_c/Makefile_obj
/usr/share/doc/verilator/examples/make_tracing_c/input.vc
/usr/share/doc/verilator/examples/make_tracing_c/sim_main.cpp
/usr/share/doc/verilator/examples/make_tracing_c/sub.v
/usr/share/doc/verilator/examples/make_tracing_c/top.v
/usr/share/doc/verilator/examples/make_tracing_sc
/usr/share/doc/verilator/examples/make_tracing_sc/Makefile
/usr/share/doc/verilator/examples/make_tracing_sc/Makefile_obj
/usr/share/doc/verilator/examples/make_tracing_sc/input.vc
/usr/share/doc/verilator/examples/make_tracing_sc/sc_main.cpp
/usr/share/doc/verilator/examples/make_tracing_sc/sub.v
/usr/share/doc/verilator/examples/make_tracing_sc/top.v
/usr/share/doc/verilator/examples/xml_py
/usr/share/doc/verilator/examples/xml_py/Makefile
/usr/share/doc/verilator/examples/xml_py/sub.v
/usr/share/doc/verilator/examples/xml_py/top.v
/usr/share/doc/verilator/examples/xml_py/vl_file_copy
/usr/share/doc/verilator/examples/xml_py/vl_hier_graph
/usr/share/doc/verilator/verilator.html
/usr/share/doc/verilator/verilator.pdf
/usr/share/licenses/verilator
/usr/share/licenses/verilator/Artistic
/usr/share/licenses/verilator/LICENSE
/usr/share/man/man1/verilator.1.gz
/usr/share/man/man1/verilator_coverage.1.gz
/usr/share/man/man1/verilator_gantt.1.gz
/usr/share/man/man1/verilator_profcfunc.1.gz
/usr/share/verilator
/usr/share/verilator/bin
/usr/share/verilator/bin/verilator_includer
/usr/share/verilator/include
/usr/share/verilator/include/gtkwave
/usr/share/verilator/include/gtkwave/fastlz.c
/usr/share/verilator/include/gtkwave/fastlz.h
/usr/share/verilator/include/gtkwave/fst_config.h
/usr/share/verilator/include/gtkwave/fstapi.c
/usr/share/verilator/include/gtkwave/fstapi.h
/usr/share/verilator/include/gtkwave/lz4.c
/usr/share/verilator/include/gtkwave/lz4.h
/usr/share/verilator/include/gtkwave/wavealloca.h
/usr/share/verilator/include/verilated.cpp
/usr/share/verilator/include/verilated.h
/usr/share/verilator/include/verilated.mk
/usr/share/verilator/include/verilated.v
/usr/share/verilator/include/verilated_config.h
/usr/share/verilator/include/verilated_config.h.in
/usr/share/verilator/include/verilated_cov.cpp
/usr/share/verilator/include/verilated_cov.h
/usr/share/verilator/include/verilated_cov_key.h
/usr/share/verilator/include/verilated_dpi.cpp
/usr/share/verilator/include/verilated_dpi.h
/usr/share/verilator/include/verilated_fst_c.cpp
/usr/share/verilator/include/verilated_fst_c.h
/usr/share/verilator/include/verilated_heavy.h
/usr/share/verilator/include/verilated_imp.h
/usr/share/verilator/include/verilated_intrinsics.h
/usr/share/verilator/include/verilated_save.cpp
/usr/share/verilator/include/verilated_save.h
/usr/share/verilator/include/verilated_sc.h
/usr/share/verilator/include/verilated_sym_props.h
/usr/share/verilator/include/verilated_syms.h
/usr/share/verilator/include/verilated_threads.cpp
/usr/share/verilator/include/verilated_threads.h
/usr/share/verilator/include/verilated_trace.h
/usr/share/verilator/include/verilated_trace_imp.cpp
/usr/share/verilator/include/verilated_vcd_c.cpp
/usr/share/verilator/include/verilated_vcd_c.h
/usr/share/verilator/include/verilated_vcd_sc.cpp
/usr/share/verilator/include/verilated_vcd_sc.h
/usr/share/verilator/include/verilated_vpi.cpp
/usr/share/verilator/include/verilated_vpi.h
/usr/share/verilator/include/verilatedos.h
/usr/share/verilator/include/vltstd
/usr/share/verilator/include/vltstd/svdpi.h
/usr/share/verilator/include/vltstd/vpi_user.h
/usr/share/verilator/verilator-config-version.cmake
/usr/share/verilator/verilator-config.cmake

References

Summary

In this tutorial we learn how to install verilator on Fedora 34 using yum and dnf.