verilator/docs/guide/contributors.rst

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.