forked from github/verilator
174 lines
9.3 KiB
ReStructuredText
174 lines
9.3 KiB
ReStructuredText
.. Copyright 2003-2023 by Wilson Snyder.
|
|
.. SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
|
|
|
************************
|
|
Contributors and Origins
|
|
************************
|
|
|
|
Authors
|
|
=======
|
|
|
|
When possible, please instead report bugs at `Verilator Issues
|
|
<https://verilator.org/issues>`_.
|
|
|
|
The primary author is Wilson Snyder <wsnyder@wsnyder.org>.
|
|
|
|
Major concepts by Paul Wasson, Duane Galbi, John Coiner, Geza Lore, Yutetsu
|
|
Takatsukasa, and Jie Xu.
|
|
|
|
|
|
Contributors
|
|
============
|
|
|
|
Many people have provided ideas and other assistance with Verilator.
|
|
|
|
Verilator is receiving significant development support from the `CHIPS
|
|
Alliance <https://chipsalliance.org>`_, `Antmicro Ltd
|
|
<https://antmicro.com>`_ and `Shunyao CAD <https://shunyaocad.com>`_.
|
|
|
|
Previous major corporate sponsors of Verilator, by providing significant
|
|
contributions of time or funds include: Atmel Corporation, Cavium
|
|
Inc., Compaq Corporation, Digital Equipment Corporation, Embecosm Ltd.,
|
|
Hicamp Systems, Intel Corporation, Mindspeed Technologies Inc., MicroTune
|
|
Inc., picoChip Designs Ltd., Sun Microsystems Inc., Nauticus Networks Inc.,
|
|
SiCortex Inc, and Shunyao CAD.
|
|
|
|
The contributors of major functionality are: Krzysztof
|
|
Bieganski, Byron Bradley, Jeremy Bennett, Lane Brooks, John Coiner, Duane
|
|
Galbi, Geza Lore, Todd Strader, Stefan Wallentowitz, Paul Wasson, Jie Xu,
|
|
and Wilson Snyder. Major testers included Jeff Dutton, Jonathon Donaldson,
|
|
Ralf Karge, David Hewson, Iztok Jeras, Wim Michiels, Alex Solomatnikov,
|
|
Sebastien Van Cauwenberghe, Gene Weber, and Clifford Wolf.
|
|
|
|
Some of the people who have provided ideas, and feedback for Verilator
|
|
include:
|
|
|
|
David Addison, Tariq B. Ahmad, Nikana Anastasiadis, Vasu Arasanipalai, Jens
|
|
Arm, Sharad Bagri, Matthew Ballance, Andrew Bardsley, Matthew Barr, Geoff
|
|
Barrett, Kaleb Barrett, Julius Baxter, Jeremy Bennett, Michael Berman, Jean
|
|
Berniolles, Victor Besyakov, Moinak Bhattacharyya, Krzysztof Bieganski,
|
|
David Binderman, Piotr Binkowski, Johan Bjork, David Black, Tymoteusz
|
|
Blazejczyk, Daniel Bone, Gregg Bouchard, Christopher Boumenot, Nick Bowler,
|
|
Byron Bradley, Bryan Brady, Maarten De Braekeleer, Charlie Brej, J Briquet,
|
|
Lane Brooks, John Brownlee, Jeff Bush, Lawrence Butcher, Tony Bybell, Iru
|
|
Cai, Ted Campbell, Chris Candler, Lauren Carlson, Donal Casey, Alex
|
|
Chadwick, Marcel Chang, Aliaksei Chapyzhenka, Guokai Chen, Terry Chen,
|
|
Yi-Chung Chen, Enzo Chi, Robert A. Clark, Ryan Clarke, Allan Cochrane, John
|
|
Coiner, Keith Colbert, Gianfranco Costamagna, Sean Cross, George Cuan, Joe
|
|
DErrico, Lukasz Dalek, Gunter Dannoritzer, Ashutosh Das, Bernard Deadman,
|
|
John Demme, Mike Denio, John Deroo, Philip Derrick, John Dickol, Ruben
|
|
Diez, Danny Ding, Jacko Dirks, Ivan Djordjevic, Jonathon Donaldson, Larry
|
|
Doolittle, Sebastian Dressler, Jonathan Drolet, Alex Duller, Jeff Dutton,
|
|
Tomas Dzetkulic, Usuario Eda, Charles Eddleston, Chandan Egbert, Joe Eiler,
|
|
Ahmed El-Mahmoudy, Trevor Elbourne, Mats Engstrom, Robert Farrell, Eugen
|
|
Fekete, Fabrizio Ferrandi, Udi Finkelstein, Brian Flachs, Bill Flynn,
|
|
Andrea Foletto, Bob Fredieu, Duane Galbi, Mostafa Gamal, Benjamin Gartner,
|
|
Christian Gelinek, Richard E George, Peter Gerst, Glen Gibb, Michael
|
|
Gielda, Barbara Gigerl, Shankar Giri, Dan Gisselquist, Petr Gladkikh, Sam
|
|
Gladstone, Mariusz Glebocki, Andrew Goessling, Amir Gonnen, Chitlesh
|
|
Goorah, Tomasz Gorochowik, Kai Gossner, Sergi Granell, Al Grant, Nathan
|
|
Graybeal, Alexander Grobman, Graham Rushton, Xuan Guo, Driss Hafdi, Neil
|
|
Hamilton, James Hanlon, Oyvind Harboe, Jannis Harder, Junji Hashimoto,
|
|
Thomas Hawkins, Mitch Hayenga, Harald Heckmann, Robert Henry, Stephen
|
|
Henry, David Hewson, Jamey Hicks, Joel Holdsworth, Andrew Holme, Hiroki
|
|
Honda, Alex Hornung, Pierre-Henri Horrein, David Horton, Peter Horvath, Jae
|
|
Hossell, Kuoping Hsu, Teng Huang, Steven Hugg, Alan Hunter, James
|
|
Hutchinson, Ehab Ibrahim, Edgar E. Iglesias, Jamie Iles, Vighnesh Iyer, Ben
|
|
Jackson, Shareef Jalloq, Marlon James, Krzysztof Jankowski, HyungKi Jeong,
|
|
Iztok Jeras, Alexandre Joannou, James Johnson, Christophe Joly, Franck
|
|
Jullien, James Jung, Mike Kagen, Arthur Kahlich, Kaalia Kahn, Guy-Armand
|
|
Kamendje, Vasu Kandadi, Kanad Kanhere, Patricio Kaplan, Pieter Kapsenberg,
|
|
Rafal Kapuscik, Ralf Karge, Per Karlsson, Dan Katz, Sol Katzman, Ian
|
|
Kennedy, Michael Killough, Sun Kim, Jonathan Kimmitt, Olof Kindgren, Kevin
|
|
Kiningham, Dan Kirkham, Aleksander Kiryk, Sobhan Klnv, Gernot Koch, Jack
|
|
Koenig, Soon Koh, Nathan Kohagen, Steve Kolecki, Brett Koonce, Will
|
|
Korteland, Wojciech Koszek, Varun Koyyalagunta, Arkadiusz Kozdra, Markus
|
|
Krause, David Kravitz, Roland Kruse, Andreas Kuster, Sergey Kvachonok,
|
|
Charles Eric LaForest, Ed Lander, Steve Lang, Stephane Laurent, Walter
|
|
Lavino, Christian Leber, Larry Lee, Yoda Lee, Michaël Lefebvre, Igor Lesik,
|
|
John Li, Eivind Liland, Yu Sheng Lin, Charlie Lind, Andrew Ling, Jiuyang
|
|
Liu, Paul Liu, Derek Lockhart, Jake Longo, Geza Lore, Arthur Low, Stefan
|
|
Ludwig, Dan Lussier, Fred Ma, Duraid Madina, Affe Mao, Julien Margetts,
|
|
Mark Marshall, Alfonso Martinez, Unai Martinez-Corral, Adrien Le Masle,
|
|
Yves Mathieu, Patrick Maupin, Conor McCullough, Jason McMullan, Elliot
|
|
Mednick, David Metz, Wim Michiels, Miodrag Milanovic, Kevin Millis, Wai Sum
|
|
Mong, Peter Monsson, Sean Moore, Dennis Muhlestein, John Murphy, Matt
|
|
Myers, Nathan Myers, Richard Myers, Dimitris Nalbantis, Peter Nelson, Bob
|
|
Newgard, Rachit Nigam, Paul Nitza, Yossi Nivin, Pete Nixon, Lisa Noack,
|
|
Mark Nodine, Kuba Ober, Andreas Olofsson, Baltazar Ortiz, Aleksander Osman,
|
|
Don Owen, James Pallister, Vassilis Papaefstathiou, Brad Parker, Morten
|
|
Borup Petersen, Dan Petrisko, Maciej Piechotka, David Pierce, Cody
|
|
Piersall, Michael Platzer, Dominic Plunkett, David Poole, Mike Popoloski,
|
|
Roman Popov, Rich Porter, Stefan Post, Niranjan Prabhu, Damien Pretet, Usha
|
|
Priyadharshini, Mark Jackson Pulver, Prateek Puri, Marshal Qiao, Nandu Raj,
|
|
Kamil Rakoczy, Danilo Ramos, Drew Ranck, Chris Randall, Anton Rapp, Josh
|
|
Redford, Odd Magne Reitan, Frederic Requin, Dustin Richmond, Samuel Riedel,
|
|
Alberto Del Rio, Eric Rippey, Oleg Rodionov, Ludwig Rogiers, Paul Rolfe,
|
|
Arjen Roodselaar, Tobias Rosenkranz, Ryszard Rozak, Huang Rui, Graham
|
|
Rushton, Jan Egil Ruud, Denis Rystsov, John Sanguinetti, Martin Schmidt,
|
|
Julie Schwartz, Galen Seitz, Joseph Shaker, Salman Sheikh, Hao Shi, Mike
|
|
Shinkarovsky, Rafael Shirakawa, Jeffrey Short, Fan Shupei, Anderson Ignacio
|
|
da Silva, Rodney Sinclair, Ameya Vikram Singh, Steven Slatter, Mladen
|
|
Slijepcevic, Brian Small, Garrett Smith, Tim Snyder, Wilson Snyder, Maciej
|
|
Sobkowski, Stan Sokorac, Alex Solomatnikov, Flavien Solt, Wei Song, Trefor
|
|
Southwell, Martin Stadler, Art Stamness, David Stanford, John Stevenson,
|
|
Pete Stevenson, Patrick Stewart, Rob Stoddard, Todd Strader, John Stroebel,
|
|
Sven Stucki, Howard Su, Emerson Suguimoto, Gene Sullivan, Qingyao Sun,
|
|
Renga Sundararajan, Gustav Svensk, Rupert Swarbrick, Yutetsu Takatsukasa,
|
|
Thierry Tambe, Drew Taussig, Jose Tejada, Peter Tengstrand, Wesley
|
|
Terpstra, Rui Terra, Stefan Thiede, Gary Thomas, Ian Thompson, Kevin
|
|
Thompson, Mike Thyer, Hans Tichelaar, Viktor Tomov, Steve Tong, Topa
|
|
Topino, Alex Torregrosa, Michael Tresidder, David Turner, Neil Turton, Mike
|
|
Urbach, Hans Van Antwerpen, Sebastien Van Cauwenberghe, Laurens van Dam,
|
|
Leendert van Doorn, Cong Van Nguyen, Jan Van Winkel, Srini Vemuri, Yuri
|
|
Victorovich, Bogdan Vukobratovic, Holger Waechtler, Philipp Wagner, Stefan
|
|
Wallentowitz, Shawn Wang, Zhanglei Wang, Paul Wasson, Greg Waters, Thomas
|
|
Watts, Eugene Weber, David Welch, Thomas J Whatson, Martin Whitaker, Marco
|
|
Widmer, Leon Wildman, Daniel Wilkerson, Gerald Williams, Trevor Williams,
|
|
Jeff Winston, Joshua Wise, Clifford Wolf, Tobias Wolfel, Johan Wouters,
|
|
Paul Wright, Junyi Xi, Ding Xiaoliang, Jie Xu, Mandy Xu, Yinan Xu, Luke
|
|
Yang, Amir Yazdanbakhsh, Keyi Zhang, and Xi Zhang.
|
|
|
|
Thanks to them, and all those we've missed mentioning above, and to those
|
|
whom have wished to remain anonymous.
|
|
|
|
|
|
Historical Origins
|
|
==================
|
|
|
|
Verilator was conceived in 1994 by Paul Wasson at the Core Logic Group at
|
|
Digital Equipment Corporation. The Verilog code that was converted to C
|
|
was then merged with a C-based CPU model of the Alpha processor and
|
|
simulated in a C-based environment called CCLI.
|
|
|
|
In 1995 Verilator started being used for Multimedia and Network Processor
|
|
development inside Digital. Duane Galbi took over the active development
|
|
of Verilator, and added several performance enhancements, and CCLI was
|
|
still being used as the shell.
|
|
|
|
In 1998, through the efforts of existing DECies, mainly Duane Galbi,
|
|
Digital graciously agreed to release the source code. (Subject to the code
|
|
not being resold, which is compatible with the GNU Public License.)
|
|
|
|
In 2001, Wilson Snyder took the kit, added a SystemC mode, and called
|
|
it Verilator2. This was the first packaged public release.
|
|
|
|
In 2002, Wilson Snyder created Verilator 3.000 by rewriting Verilator from
|
|
scratch in C++. This added many optimizations, yielding about a 2-5x
|
|
performance gain.
|
|
|
|
In 2009, major SystemVerilog and DPI language support was added.
|
|
|
|
In 2018, Verilator 4.000 was released with multithreaded support.
|
|
|
|
In 2019, Verilator joined the `CHIPS Alliance
|
|
<https://chipsalliance.org>`_.
|
|
|
|
In 2022, Verilator 5.000 was released with IEEE scheduling semantics,
|
|
fork/join, delay handling, DFG performance optimizations, and other
|
|
improvements.
|
|
|
|
Currently, various language features and performance enhancements are added
|
|
as the need arises, focusing on completing Universal Verification
|
|
Methodology (UVM, IEEE 1800.2-2017) support.
|