NELIX Silicon Lab Docs Launch Silicon Lab Launch Silicon Lab

Icarus Verilog

The simulator behind the Simulate stage: what it does, its version here, and its common messages.

EngineerStudent 1 min read · Updated 2026-10-05

On this page In this labWhat it supportsCommon messagesWhat a simulator does not check

Icarus Verilog is an open-source simulator. It compiles your SystemVerilog and runs it, so the design's behaviour can be observed without building hardware.

In this lab#

Version12.0
Used byThe Simulate stage, nelix test
Language modeSystemVerilog 2012 (the starter's Makefile passes -g2012)
Driven bycocotb
WaveformWritten in FST format to sim_build/top.fst

You do not run Icarus directly. nelix test runs make WAVES=1, and the project's Makefile starts Icarus with cocotb.

What it supports#

Icarus supports a large part of SystemVerilog, and not all of it. The lab's RTL coding standard lists the constructs that work in Icarus and in both synthesis tools.

Common messages#

MessageMeaningFix
rtl/top.sv:12: syntax errorThe code at that line is not validLook at that line and the one before it. A missing ; or end is reported on the following line
Unknown module type: fooA module named foo is used and not definedCheck the spelling. A design here is one file, so the module must be in rtl/top.sv
Unable to bind wire/reg/memory 'x'A signal is used and not declaredDeclare it, or fix the spelling
error: ... is not a valid l-valueAn assignment to something that cannot be assigned, such as an inputCheck the port's direction
A width warningThe two sides of an assignment differ in widthSize the result on purpose

What a simulator does not check#

It runs the design as written. It does not tell you whether the design can be synthesized, whether it meets timing, or whether it is correct in cases the test never tries.

Related

  • cocotbThe Python test framework behind every test in the lab, and the version-specific details that matter.
  • Compilation and top-module errorsThe design will not compile, or the tools cannot find the module named top.

Something unclear or missing? Send feedbackSign in and use Feedback to tell us.