What is the canonical way to test and simulate Chisel gateware ?

This page summarizes the projects mentioned and recommended in the original post on /r/chisel

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • cocotb

    cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python

  • CocoTB (Python): I like this python test library. It easy to use, lot's of library to test i2c, uart, wishbone, ... And ... it's Python it's easy ! You can use the simulator you want and even switch between several without big problems. But it's slow simulation even with Verilator (beta) as backend.

  • CIC

    Cascaded integrator-comb written in Chisel HDL

  • Verilator (C++): I'm using Verilator with my own C++ classes to speed up simulation. This is the fastest solution by far for simulation time. But writing the testbench is not easy and It seems like we spend our time reinventing the wheel.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • chisel-formal

  • Formal (Yosys-smtbmc/chisel-formal): This is a really different approach to simulation with property checking. I first tryied it on generated verilog, then with chisel-formal module. This is a solution that is not yet mature for Chisel in my opinion.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts