240 lines
14 KiB
ReStructuredText
240 lines
14 KiB
ReStructuredText
.. Copyright 2003-2025 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 Krzysztof Bieganski, John Coiner, Duane Galbi, Geza Lore,
|
|
Ryszard Rozak, Yutetsu Takatsukasa, Paul Wasson, 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>`_, and `Antmicro Ltd
|
|
<https://antmicro.com>`_.
|
|
|
|
Previous major corporate sponsors of Verilator, by providing significant
|
|
contributions of time or funds include: Antmicro Ltd., Atmel Corporation,
|
|
Compaq Corporation, Digital Equipment Corporation, Embecosm Ltd., Fractile
|
|
Ltd., Hicamp Systems, Intel Corporation, Marvell Inc., Mindspeed
|
|
Technologies Inc., MicroTune Inc., picoChip Designs Ltd., Sun Microsystems
|
|
Inc., Nauticus Networks Inc., SiCortex Inc, Shunyao CAD, and Western
|
|
Digital Inc.
|
|
|
|
The contributors of major functionality are: Jeremy Bennett, Krzysztof
|
|
Bieganski, Byron Bradley, Lane Brooks, John Coiner, Duane Galbi, Arkadiusz
|
|
Kozdra, Geza Lore, Todd Strader, Yutetsu Takatsukasa, Stefan Wallentowitz,
|
|
Paul Wasson, Jie Xu, and Wilson Snyder.
|
|
|
|
Some of the people who have provided ideas, and feedback for Verilator
|
|
include:
|
|
|
|
Gilberto Abram, David Addison, Joey Ah-kiow, Thomas Dybdahl Ahle, Tariq B.
|
|
Ahmad, Thomas Aldrian, Omar Alkhatib, Amal Araweelo Almis, Nikana
|
|
Anastasiadis, John David Anglin, Frederic Antonin, Hans Van Antwerpen, Vasu
|
|
Arasanipalai, Jens Arm, Rohan Arshid, Valentin Atepalikhin, Philip Axer,
|
|
Gökçe Aydos, Chris Bachhuber, Filip Badáň, Adam Bagley, Sharad Bagri, James
|
|
Bailey, Robert Balas, Marco Balboni, Matthew Ballance, Ricardo Barbedo,
|
|
Andrew Bardsley, Ilya Barkov, Matthew Barr, Geoff Barrett, Kaleb Barrett,
|
|
Daniel Bates, Julius Baxter, Jeremy Bennett, Michael Berman, Jean
|
|
Berniolles, Victor Besyakov, Narayan Bhagavatula, Moinak Bhattacharyya,
|
|
Kritik Bhimani, David Biancolin, Krzysztof Bieganski, Artur Bieniek,
|
|
Michael Bikovitsky, David Binderman, Piotr Binkowski, Peter Birch, Johan
|
|
Björk, David Black, Tymoteusz Blazejczyk, Scott Bleiweiss, Joel Bodenmann,
|
|
David van der Bokke, Daniel Bone, Guy Bonneau, Pierre-Yves Le Borgne,
|
|
Krzysztof Boroński, Gregg Bouchard, Christopher Boumenot, Paul
|
|
Bowen-Huggett, Nick Bowler, Byron Bradley, Bryan Brady, Maarten De
|
|
Braekeleer, Liam Braun, Charlie Brej, Nick Brereton, J Briquet, Lane
|
|
Brooks, John Brownlee, KC Buckenmaier, Gijs Burghoorn, Jeff Bush, Lawrence
|
|
Butcher, Tony Bybell, Congcong Cai, Iru Cai, Ted Campbell, Anthony Campos,
|
|
Chris Candler, Lauren Carlson, Gregory Carver, Donal Casey, Sebastien Van
|
|
Cauwenberghe, Alex Chadwick, Greg Chadwick, Marcel Chang, Aliaksei
|
|
Chapyzhenka, Chih-Mao Chen, Guokai Chen, Kefa Chen, Terry Chen, Yangyu
|
|
Chen, Yi-Chung Chen, Yurii Cherkasov, Hennadii Chernyshchyk, Enzo Chi,
|
|
Bartłomiej Chmiel, Sergey Chusov, Robert A. Clark, Ryan Clarke, Allan
|
|
Cochrane, John Coiner, Luca Colagrande, Keith Colbert, Quentin Corradi,
|
|
Nassim Corteggiani, Gianfranco Costamagna, February Cozzocrea, Sean Cross,
|
|
George Cuan, RJ Cunningham, Michal Czyz, Joe DErrico, Jim Dai, Lukasz
|
|
Dalek, Laurens van Dam, Gunter Dannoritzer, Ashutosh Das, Julian Daube,
|
|
Greg Davill, Bernard Deadman, Peter Debacker, Josse Van Delm, John Demme,
|
|
Mike Denio, John Deroo, Philip Derrick, Aadi Desai, John Dickol, Ruben
|
|
Diez, Danny Ding, Jacko Dirks, Ivan Djordjevic, Brad Dobbie, Paul Donahue,
|
|
Jonathon Donaldson, Anthony Donlon, Caleb Donovick, Larry Doolittle,
|
|
Leendert van Doorn, Sebastian Dressler, Connor Driscoll, Jonathan Drolet,
|
|
Jose Drowne, Justin Yao Du, Maciej Dudek, Alex Duller, Jeff Dutton, Tomas
|
|
Dzetkulic, Usuario Eda, Charles Eddleston, Chandan Egbert, Joe Eiler, Ahmed
|
|
El-Mahmoudy, Trevor Elbourne, Schuyler Eldridge, Ahmed Elzeftawi, Mats
|
|
Engstrom, Augustin Fabre, Robert Farrell, Julien Faucher, Olivier Faure,
|
|
Sergey Fedorov, Eugene Feinberg, Eugen Fekete, Fabrizio Ferrandi, Adrian
|
|
Fiergolski, Udi Finkelstein, Brian Flachs, Bill Flynn, Andrea Foletto,
|
|
Maxim Fonarev, Alex Forencich, Aurelien Francillon, Marco Frank, Bob
|
|
Fredieu, Manuel Freiberger, Stephane Gagnon, Duane Galbi, Mostafa Gamal,
|
|
Vito Gamberini, Mateusz Gancarz, Mostafa Garnal, Benjamin Gartner,
|
|
Christian Gelinek, Richard E George, Peter Gerst, Glen Gibb, Michael
|
|
Gielda, Barbara Gigerl, Nimrod Gileadi, Shankar Giri, Dan Gisselquist,
|
|
Szymon Gizler, Petr Gladkikh, Sam Gladstone, Mariusz Glebocki, Embedded Go,
|
|
Andrew Goessling, Emil Goh, Amir Gonnen, Chitlesh Goorah, Tomasz
|
|
Gorochowik, Kai Gossner, Toshiki Goto, Tarik Graba, Sergi Granell, Al
|
|
Grant, Nathan Graybeal, Alexander Grobman, Dominick Grochowina, Qian Gu,
|
|
Karol Gugala, Xuan Guo, Prabhat Gupta, Oscar Gustafsson, Deniz Güzel, Driss
|
|
Hafdi, Abdul Hameed, Neil Hamilton, Ali Hammoud, James Hanlon, Tang Haojin,
|
|
Øyvind Harboe, Jannis Harder, David Harris, Junji Hashimoto, Thomas
|
|
Hawkins, Mitch Hayenga, Christian Hecken, Harald Heckmann, Robin Heinemann,
|
|
Robert Henry, Stephen Henry, Sebastian Hesselbarth, David Hewson, Jamey
|
|
Hicks, Joel Holdsworth, Andrew Holme, Peter Holmes, Hiroki Honda, Steve
|
|
Hoover, Alex Hornung, Pierre-Henri Horrein, David Horton, Peter Horvath,
|
|
Jae Hossell, Kuoping Hsu, Shou-Li Hsu, Teng Huang, Steven Hugg, Alan
|
|
Hunter, James Hutchinson, Tim Hutt, Ehab Ibrahim, Edgar E. Iglesias, Shahid
|
|
Ikram, Jamie Iles, Ondrej Ille, Ron K. Irvine, Fuad Ismail, Vighnesh Iyer,
|
|
Ben Jackson, Daniel Jacques, Shareef Jalloq, Marlon James, Krzysztof
|
|
Jankowski, Moubarak Jeje, Tobias Jensen, Eyck Jentzsch, HyungKi Jeong,
|
|
Iztok Jeras, Pawel Jewstafjew, Aditya Ranjan Jha, Xie Jiacheng, Alexandre
|
|
Joannou, James Johnson, Christophe Joly, Justin Jones, William D. Jones,
|
|
Kees Jongenburger, Abe Jordan, Larry Darryl Lee Jr., Franck Jullien, James
|
|
Jung, Yoshitomo KANEDA, Mike Kagen, Arthur Kahlich, Kaalia Kahn, G-A.
|
|
Kamendje, Guy-Armand Kamendje, Vasu Kandadi, Kanad Kanhere, Patricio
|
|
Kaplan, Pieter Kapsenberg, Rafal Kapuscik, Ralf Karge, Per Karlsson, Dan
|
|
Katz, Sol Katzman, Amirreza Kazemi, Ian Kennedy, Ami Keren, Fabian
|
|
Keßler-Schulz, John Khoo, Michael Killough, Sun Kim, Jonathan Kimmitt, Olof
|
|
Kindgren, Kevin Kiningham, Cameron Kirk, Dan Kirkham, Aleksander Kiryk,
|
|
Sobhan Klnv, Gernot Koch, Jack Koenig, Soon Koh, Nathan Kohagen, Pawel
|
|
Kojma, Steve Kolecki, Brett Koonce, Will Korteland, Andrei Kostovski,
|
|
Wojciech Koszek, Varun Koyyalagunta, Arkadiusz Kozdra, Markus Krause, David
|
|
Kravitz, Natan Kreimer, Adam Krolnik, Roland Kruse, Jan Kubalek, Mahesh
|
|
Kumashikar, Andreas Kuster, Sergey Kvachonok, Charles Eric LaForest, Kevin
|
|
Laeufer, Ed Lander, Steve Lang, Pierre Laroche, Stephane Laurent, Walter
|
|
Lavino, Christian Leber, David Ledger, Alex Lee, Larry Lee, Yoda Lee,
|
|
Michaël Lefebvre, Dag Lem, Igor Lesik, Brian Li, John Li, Kay Li, Zixi Li,
|
|
Davide Libenzi, Matt Liberty, Nandor Licker, Eivind Liland, Ícaro Lima,
|
|
Jian Nan Lin, Kevin Lin, Yu-Sheng Lin, Charlie Lind, Andrew Ling, Jens
|
|
Yuechao Liu, Jiuyang Liu, Joey Liu, Paul Liu, Derek Lockhart, Jake Longo,
|
|
Geza Lore, Arthur Low, Jose Loyola, Stefan Ludwig, Martin Lueker-Boden, Dan
|
|
Lussier, Konstantin Lübeck, Fred Ma, Liwei Ma, Duraid Madina, Oleh
|
|
Maksymenko, Alexander Mann, Affe Mao, Rémi Marche, Julien Margetts, Chick
|
|
Markley, Alexis Marquet, Mark Marshall, Alfonso Martinez, Unai
|
|
Martinez-Corral, Adrien Le Masle, Yves Mathieu, Vladimir Matveyenko,
|
|
Patrick Maupin, Stan Mayer, Jordan McConnon, Conor McCullough, Jason
|
|
McMullan, Elliot Mednick, Yuan Mei, Andy Meier, Luiza de Melo, Rodrigo A.
|
|
Melo, Benjamin Menküc, Niraj Menon, Jake Merdich, David Metz, Wim Michiels,
|
|
Miodrag Milanović, Darryl Miles, Kevin Millis, Andrew Miloradovsky, David
|
|
Moberg, Wai Sum Mong, Peter Monsson, Anthony Moore, Sean Moore, Javier
|
|
Mora, Rodrigo Batista de Moraes, Stuart Morris, Dennis Muhlestein, John
|
|
Murphy, Matt Myers, Nathan Myers, Richard Myers, Alex Mykyta, Shivaram
|
|
Mysore, Eric Müller, Dimitris Nalbantis, Jitesh Nayak, Peter Nelson, Yuri
|
|
Nenakhov, Felix Neumärker, Bob Newgard, Cong Van Nguyen, Trung Nguyen,
|
|
Rachit Nigam, Toru Niina, Paul Nitza, Yossi Nivin, Pete Nixon, Lisa Noack,
|
|
Mark Nodine, Petr Nohavica, Michael Nolan, Andrew Nolte, Mateusz
|
|
Nurczyński, Joseph Nwabueze, Kevin Nygaard, Thomas O'Keeffe, Kuba Ober,
|
|
Krzysztof Obłonczek, Danny Oler, Andreas Olofsson, Baltazar Ortiz,
|
|
Aleksander Osman, Don Owen, Tim Paine, Deepa Palaniappan, James Pallister,
|
|
Vassilis Papaefstathiou, Sanggyu Park, Brad Parker, Risto Pejašinović, Seth
|
|
Pellegrino, Joel Peltonen, Morten Borup Petersen, Dan Petrisko, Thanh Tung
|
|
Pham, Wesley Piard, Maciej Piechotka, David Pierce, Cody Piersall,
|
|
T. Platz, Michael Platzer, Dominic Plunkett, Nolan Poe, Tuomas Poikela,
|
|
George Polack, David Poole, Michael Popoloski, Roman Popov, Aylon Chaim
|
|
Porat, Oron Port, Rich Porter, Rick Porter, Stefan Post, Niranjan Prabhu,
|
|
Damien Pretet, Harald Pretl, Bill Pringlemeir, Usha Priyadharshini, Mark
|
|
Jackson Pulver, Prateek Puri, Nikolay Puzanov, Han Qi, Jiacheng Qian,
|
|
Marshal Qiao, Raynard Qiao, Yujia Qiao, Jasen Qin, Frank Qiu, Nandu Raj,
|
|
Kamil Rakoczy, Danilo Ramos, Drew Ranck, Chris Randall, Anton Rapp, Josh
|
|
Redford, Odd Magne Reitan, Frédéric Requin, Wajahat Riaz, Dustin Richmond,
|
|
Samuel Riedel, Alberto Del Rio, Eric Rippey, Narcis Rodas, Oleg Rodionov,
|
|
Ludwig Rogiers, Paul Rolfe, Michail Rontionov, Arjen Roodselaar, Arthur
|
|
Rosa, Tobias Rosenkranz, Yernagula Roshit, Diego Roux, Ryszard Rozak, Dan
|
|
Ruelas-Petrisko, Luca Rufer, Huang Rui, Graham Rushton, Jan Egil Ruud,
|
|
Denis Rystsov, Pawel Sagan, Robert Sammelson, Adrian Sampson, John
|
|
Sanguinetti, Josep Sans, Dave Sargeant, Luca Sasselli, Philippe Sauter,
|
|
Martin Scharrer, Parker Schless, Martin Schmidt, Jonathan Schröter, Julie
|
|
Schwartz, Galen Seitz, Sam Shahrestani, Joseph Shaker, Mark Shaw, Salman
|
|
Sheikh, Zhou Shen, Zhouyi Shen, Hao Shi, James Shi, Michael Shinkarovsky,
|
|
Rafael Shirakawa, Jeffrey Short, S Shuba, Fan Shupei, Ethan Sifferman,
|
|
Anderson Ignacio da Silva, Rodney Sinclair, Ameya Vikram Singh, Sanjay
|
|
Singh, Frans Skarman, Nate Slager, Steven Slatter, Mladen Slijepcevic,
|
|
Brian Small, Garrett Smith, Gus Smith, Rachel Smith, Tim Snyder, Maciej
|
|
Sobkowski, Stan Sokorac, Alex Solomatnikov, Flavien Solt, Wei Song, Trefor
|
|
Southwell, Martin Stadler, Art Stamness, David Stanford, Krzysztof
|
|
Starecki, Baruch Sterin, John Stevenson, Pete Stevenson, Patrick Stewart,
|
|
Rob Stoddard, Tood Strader, Jean-Nicolas Strauss, John Stroebel, Ray
|
|
Strouble, Matt Stroud, Sven Stucki, Howard Su, Udaya Raj Subedi, Emerson
|
|
Suguimoto, Gene Sullivan, Qingyao Sun, Renga Sundararajan, Kuba
|
|
Sunderland-Ober, Gustav Svensk, Rupert Swarbrick, Jevin Sweval, Paul
|
|
Swirhun, Krzysztof Sychla, Shinya T-Y, Yutetsu Takatsukasa, Thierry Tambe,
|
|
Jesse Taube, Drew Taussig, Christopher Taylor, David Taylor, Greg Taylor,
|
|
Michael Bedford Taylor, Jose Tejada, Sören Tempel, Peter Tengstrand, Wesley
|
|
Terpstra, Rui Terra, Stefan Thiede, Justin Thiel, Gary Thomas, Ian
|
|
Thompson, Kevin Thompson, Mike Thyer, Jerry Tianchen, Hans Tichelaar, Tudor
|
|
Timi, Viktor Tomov, Steve Tong, Topa Topino, Àlex Torregrosa, Topa Tota,
|
|
Michael Tresidder, Lenny Truong, David Turner, Neil Turton, Hideto Ueno,
|
|
Ethan Uppal, Mike Urbach, Joel Vandergriendt, Srini Vemuri, Srinivasan
|
|
Venkataramanan, Yuri Victorovich, Ivan Vnučec, Andrew Voznytsa, Bogdan
|
|
Vukobratovic, Holger Waechtler, Justin Wagner, Philipp Wagner, Stefan
|
|
Wallentowitz, Johannes Walter, CY Wang, Chuxuan Wang, Shawn Wang, Yilou
|
|
Wang, Zhanglei Wang, Jakub Wasilewski, Paul Wasson, Greg Waters, Thomas
|
|
Watts, Eugene Weber, John Wehle, Tianrui Wei, Yin Weijie, David Welch,
|
|
Thomas J Whatson, Martin Whitaker, Marco Widmer, Leon Wildman, Daniel S.
|
|
Wilkerson, Daniel Wilkerson, Gerald Williams, Trevor Williams, Don
|
|
Williamson, Jan Van Winkel, Jeff Winston, Max Wipfli, Joshua Wise, Clifford
|
|
Wolf, Johan Wouters, Paul Wright, Tobias Wölfel, Domenic Wüthrich, Junyi
|
|
Xi, Ding Xiaoliang, Liu Xiaoyi, Jie Xu, Jinyan Xu, Mandy Xu, Pengcheng Xu,
|
|
Shanshan Xu, Yan Xu, Yinan Xu, Felix Yan, Zhen Yan, Jiaxun Yang, Luke Yang,
|
|
Su Yang, Amir Yazdanbakhsh, Law Heng Yi, Ibrahim Burak Yorulmaz, Chentai
|
|
(Seven) Yuan, Florian Zaruba, Igor Zaworski, Mat Zeno, Keyi Zhang, Xi
|
|
Zhang, Alex Zhou, Huanghuang Zhou, Yike Zhou, Jiamin Zhu, Ryan Ziegler, Lan
|
|
Zongwei.
|
|
|
|
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.
|