chisel

This is the documentation for Chisel.

== Package structure ==

The chisel3 package presents the public API of Chisel. It contains the concrete core types `UInt`, `SInt`, `Bool`, `Clock`, and `Reg`, the abstract types `Bits`, `Aggregate`, and `Data`, and the aggregate types `Bundle` and `Vec`.

The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.

Utility objects and methods are found in the `util` package.

The `testers` package defines the basic interface for chisel testers.

Attributes

Members list

Packages

package chisel3

This package contains the main chisel3 API.

This package contains the main chisel3 API.

Attributes

package chiseltest

ChiselTest Compatibility Layer for Chisel 7

ChiselTest Compatibility Layer for Chisel 7

This package provides a drop-in replacement for the ChiselTest library that was removed in Chisel 7. It preserves the familiar ChiselTest API while delegating to Chisel 7's ChiselSim underneath.

Usage:

import chiseltest._
import org.scalatest.flatspec.AnyFlatSpec

class MyTest extends AnyFlatSpec with ChiselScalatestTester {
 it should "work" in {
   test(new MyModule) { dut =>
     dut.io.in.poke(42.U)
     dut.clock.step()
     dut.io.out.expect(42.U)
   }
 }
}

Key Components:

  • testableData, testableUInt, testableBoolExt: Implicit conversions for poke/peek/expect
  • testableClock: Clock stepping and control
  • DecoupledIOOps: Utilities for Decoupled interface testing
  • ChiselScalatestTester: ScalaTest integration trait

See README.md for detailed documentation.

Attributes

package circt
package firrtl
package logger
package svsim