Page MenuHomeSolus

Update verilator to 5.002
ClosedPublic

Authored by davidjharder on Nov 4 2022, 4:30 PM.

Details

Summary

Summarized Changelog

  • Require C++20 for the new --timing features. Upgrading to a C++20 or newer compiler is strongly recommended.
  • Support the Active and NBA scheduling regions as defined by the SystemVerilog standard (IEEE 1800-2017 chapter 4). This means all generated clocks are now simulated correctly.
  • Support timing controls (delays, event controls in any location, wait statements) and forks. This may require adding --timing or --no-timing. See docs for details.
  • Introduce a new combinational logic optimizer (DFG), that can yield significant performance improvements on some designs.
  • Add --binary option as alias of --main --exe --build --timing.
  • For designs where C++ was only used to make a simple no-I/O testbench, we recommend abandoning that C++, and instead letting Verilator build it with --binary (or --main).

Full changelog here

Test Plan
  • Run example c++ execution

Diff Detail

Repository
R4609 verilator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

davidjharder created this revision.Nov 4 2022, 4:30 PM
davidjharder requested review of this revision.Nov 4 2022, 4:30 PM
davidjharder edited the summary of this revision. (Show Details)Nov 4 2022, 4:31 PM
davidjharder edited the summary of this revision. (Show Details)
algent accepted this revision.Nov 4 2022, 4:53 PM
algent added a subscriber: algent.

LGTM, thanks!

This revision is now accepted and ready to land.Nov 4 2022, 4:53 PM
This revision was automatically updated to reflect the committed changes.