• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H05-Dec-2021-557453

bin/H03-May-2022-1,651979

ci/H05-Dec-2021-2,5662,051

docs/H03-May-2022-10,1006,933

examples/H05-Dec-2021-2,2411,278

include/H05-Dec-2021-29,40621,665

nodist/H03-May-2022-1,7331,214

src/H03-May-2022-111,30483,098

test_regress/H03-May-2022-204,415146,671

.clang-formatH A D05-Dec-20213.1 KiB111110

.clang-tidyH A D05-Dec-20211.5 KiB109

.codacy.ymlH A D05-Dec-2021112 76

.gitattributesH A D05-Dec-2021186 65

.gitignoreH A D05-Dec-2021449 4342

ArtisticH A D05-Dec-20218.9 KiB198154

ChangesH A D05-Dec-2021130.2 KiB3,7712,646

LICENSEH A D05-Dec-20217.5 KiB166128

Makefile.inH A D03-May-202215.8 KiB493341

README.rstH A D05-Dec-20216.4 KiB155119

codecov.ymlH A D05-Dec-2021835 3934

configure.acH A D05-Dec-202120.4 KiB553496

install-shH A D05-Dec-20215.4 KiB251152

verilator-config-version.cmake.inH A D05-Dec-2021931 2825

verilator-config.cmake.inH A D05-Dec-202115 KiB421358

verilator.pc.inH A D05-Dec-2021298 1412

README.rst

1.. Github doesn't render images unless absolute URL
2.. Do not know of a conditional tag, "only: github" nor "github display" works
3
4.. image:: https://img.shields.io/badge/License-LGPL%20v3-blue.svg
5    :target: https://www.gnu.org/licenses/lgpl-3.0]
6.. image:: https://img.shields.io/badge/License-Artistic%202.0-0298c3.svg
7    :target: https://opensource.org/licenses/Artistic-2.0
8.. image:: https://repology.org/badge/tiny-repos/verilator.svg?header=distro%20packages
9    :target: https://repology.org/project/verilator/versions
10.. image:: https://api.codacy.com/project/badge/Grade/fa78caa433c84a4ab9049c43e9debc6f
11    :target: https://www.codacy.com/gh/verilator/verilator
12.. image:: https://codecov.io/gh/verilator/verilator/branch/master/graph/badge.svg
13    :target: https://codecov.io/gh/verilator/verilator
14.. image:: https://github.com/verilator/verilator/workflows/build/badge.svg
15    :target: https://github.com/verilator/verilator/actions?query=workflow%3Abuild
16
17
18Welcome to Verilator
19====================
20
21.. list-table::
22
23   * - **Welcome to Verilator, the fastest Verilog/SystemVerilog simulator.**
24        * Accepts synthesizable Verilog or SystemVerilog
25        * Performs lint code-quality checks
26        * Compiles into multithreaded C++, or SystemC
27        * Creates XML to front-end your own tools
28     - |Logo|
29   * - |verilator multithreaded performance|
30     - **Fast**
31        * Outperforms many commercial simulators
32        * Single- and multi-threaded output models
33   * - **Widely Used**
34        * Wide industry and academic deployment
35        * Out-of-the-box support from Arm, and RISC-V vendor IP
36     - |verilator usage|
37   * - |verilator community|
38     - **Community Driven & Openly Licensed**
39        * Guided by the `CHIPS Alliance`_ and `Linux Foundation`_
40        * Open, and free as in both speech and beer
41        * More simulation for your verification budget
42   * - **Commercial Support Available**
43        * Commercial support contracts
44        * Design support contracts
45        * Enhancement contracts
46     - |verilator support|
47
48
49What Verilator Does
50===================
51
52Verilator is invoked with parameters similar to GCC or Synopsys's VCS.  It
53"Verilates" the specified Verilog or SystemVerilog code by reading it,
54performing lint checks, and optionally inserting assertion checks and
55coverage-analysis points. It outputs single- or multi-threaded .cpp and .h
56files, the "Verilated" code.
57
58The user writes a little C++/SystemC wrapper file, which instantiates the
59"Verilated" model of the user's top level module. These C++/SystemC files
60are then compiled by a C++ compiler (gcc/clang/MSVC++). The resulting
61executable performs the design simulation. Verilator also supports linking
62its generated libraries, optionally encrypted, into other simulators.
63
64Verilator may not be the best choice if you are expecting a full featured
65replacement for NC-Verilog, VCS or another commercial Verilog simulator, or
66if you are looking for a behavioral Verilog simulator e.g. for a quick
67class project (we recommend `Icarus Verilog`_ for this.) However, if you
68are looking for a path to migrate SystemVerilog to C++ or SystemC, or your
69team is comfortable writing just a touch of C++ code, Verilator is the tool
70for you.
71
72
73Performance
74===========
75
76Verilator does not simply convert Verilog HDL to C++ or SystemC. Rather,
77Verilator compiles your code into a much faster optimized and optionally
78thread-partitioned model, which is in turn wrapped inside a C++/SystemC
79module. The results are a compiled Verilog model that executes even on a
80single-thread over 10x faster than standalone SystemC, and on a single
81thread is about 100 times faster than interpreted Verilog simulators such
82as `Icarus Verilog`_. Another 2-10x speedup might be gained from
83multithreading (yielding 200-1000x total over interpreted simulators).
84
85Verilator has typically similar or better performance versus the
86closed-source Verilog simulators (Carbon Design Systems Carbonator,
87Modelsim, Cadence Incisive/NC-Verilog, Synopsys VCS, VTOC, and Pragmatic
88CVer/CVC). But, Verilator is open-sourced, so you can spend on computes
89rather than licenses. Thus Verilator gives you the best cycles/dollar.
90
91Installation & Documentation
92============================
93
94For more information:
95
96- `Verilator installation and package directory structure
97  <https://verilator.org/install>`_
98
99- `Verilator manual (HTML) <https://verilator.org/verilator_doc.html>`_,
100  or `Verilator manual (PDF) <https://verilator.org/verilator_doc.pdf>`_
101
102- `Subscribe to verilator announcements
103  <https://github.com/verilator/verilator-announce>`_
104
105- `Verilator forum <https://verilator.org/forum>`_
106
107- `Verilator issues <https://verilator.org/issues>`_
108
109
110Support
111=======
112
113Verilator is a community project, guided by the `CHIPS Alliance`_ under the
114`Linux Foundation`_.
115
116We appreciate and welcome your contributions in whatever form; please see
117`Contributing to Verilator
118<https://github.com/verilator/verilator/blob/master/docs/CONTRIBUTING.rst>`_.
119Thanks to our `Contributors and Sponsors
120<https://verilator.org/guide/latest/contributors.html>`_.
121
122Verilator also supports and encourages commercial support models and
123organizations; please see `Verilator Commercial Support
124<https://verilator.org/verilator_commercial_support>`_.
125
126
127Related Projects
128================
129
130- `GTKwave <http://gtkwave.sourceforge.net/>`_ - Waveform viewer for
131  Verilator traces.
132
133- `Icarus Verilog`_ - Icarus is a full featured interpreted Verilog
134  simulator. If Verilator does not support your needs, perhaps Icarus may.
135
136
137Open License
138============
139
140Verilator is Copyright 2003-2021 by Wilson Snyder. (Report bugs to
141`Verilator Issues <https://verilator.org/issues>`_.)
142
143Verilator is free software; you can redistribute it and/or modify it under
144the terms of either the GNU Lesser General Public License Version 3 or the
145Perl Artistic License Version 2.0. See the documentation for more details.
146
147.. _CHIPS Alliance: https://chipsalliance.org
148.. _Icarus Verilog: http://iverilog.icarus.com
149.. _Linux Foundation: https://www.linuxfoundation.org
150.. |Logo| image:: https://www.veripool.org/img/verilator_256_200_min.png
151.. |verilator multithreaded performance| image:: https://www.veripool.org/img/verilator_multithreaded_performance_bg-min.png
152.. |verilator usage| image:: https://www.veripool.org/img/verilator_usage_400x200-min.png
153.. |verilator community| image:: https://www.veripool.org/img/verilator_community_400x125-min.png
154.. |verilator support| image:: https://www.veripool.org/img/verilator_support_400x125-min.png
155