Fredrik chats with Wilson Snyder about Verilator, chip design, performance, and open hardware.
This episode is a bit of a follow-up to episode 389 where Robert Wikander talked - in Swedish - about verification of circuit designs. Afterward, Robert mentioned that we should really ask Wilson Snyder to talk about Verilator, and here we are! Wilson works with CPU and other hardware design, and is one of the lead developers of Verilator. When you design hardware, hardware description languages come in handy - you use them to describe hardware precisely. Then you can generate runnable code simulating the hardware, and run batteries of tests against it without needing to manufacture physical hardware.
Verilator is one tool for turning code in the Verilog hardware description language into C++ or Systemc. The major competing tools are more on the interpreter side - which means that Verilator usually has a performance advantage. Oh, and it’s GPL licensed as well. As we discuss, Verilator doesn’t actually support all of Verilog, but that’s being worked on. And increased performance in itself is a clear goal of both research and concrete improvements.
We also discuss a bit what might come out hardware-wise in the future. Wilson predicts DPUs - data-offload units, basically - will become even more of a thing than today.
The second part of the discussion is focused on Verilator itself - how it’s built, designed, and developed. People with knowledge of compilers will feel right at home inside the Verilator source code.
Thank you Cloudnet for sponsoring our VPS!
Comments, questions or tips? We are @kodsnack, @tobiashieta, @oferlund and @bjoreman on Twitter, have a page on Facebook and can be emailed at [email protected] if you want to write longer. We read everything we receive.
If you enjoy Kodsnack we would love a review in iTunes! You can also support the podcast by buying us a coffee (or two!) through Ko-fi.
Links
Wilson Snyder
Robert Wikander - appeared in episode 389 (in Swedish)
Digital equipment
Verilator
Hardware verification
Synthesis - converting the language used into hardware gates
Emacs
Linus - yes, Torvalds
GPL 2
GPL 3
Compiler
Interpreter
CHIPS alliance
Duane Galbi got Verilator open sourced
Tarball
Systemc
EDA - Electronic design automation
Cadence
Synopsys - provides synthesis tools
Git
RISC-V
Open cores
FPGA
Open source ARM and MIPS cores
Standard cell
DSP
Amiga
ML
GPUs
DPUs
Parsing
Lexing
Verilator on Github
Verilator’s Github issues
UVM - Universal verification methodology
veripool.org
Titles
An open source tool that could do verification
It started as a hobby
It has a life of its own
Into actual hardware gates
Matching the languages
A good escape story
It’s bascially a compiler
Open source hardware design
The performance to generate the next CPU
Innovation feedback cycles
Download a core
Always a little bit of a focus
My real job is CPU design