package simulator
- Alphabetic
- By Inheritance
- simulator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed class AnySimulatedModule extends AnyRef
- trait ChiselOptionsModifications extends (Array[String]) => Array[String]
Changes that ChiselSim should make to Chisel command line options
Changes that ChiselSim should make to Chisel command line options
This follows a type class pattern with a low-priority default of identity.
- trait ChiselSim extends ControlAPI with PeekPokeAPI with SimulatorAPI
A trait that provides the minimal set of ChiselSim APIs.
A trait that provides the minimal set of ChiselSim APIs.
Example usage:
import chisel3.simulator.ChiselSim class Foo extends ChiselSim { /** This has access to all ChiselSim APIs like `simulate`, `peek`, and `poke`. */ }
- implicit class ChiselSimulation extends AnyRef
- implicit class ChiselWorkspace extends AnyRef
- trait ControlAPI extends AnyRef
- final class ElaboratedModule[T] extends AnyRef
An opaque class that can be passed to
Simulation.run
to get access to aSimulatedModule
in the simulation body. - trait FirtoolOptionsModifications extends (Array[String]) => Array[String]
Changes that ChiselSim should make to
firtool
command line optionsChanges that ChiselSim should make to
firtool
command line optionsThis follows a type class pattern with a low-priority default of identity.
- trait HasSimulator extends AnyRef
Type class for providing a simulator.
- trait PeekPokeAPI extends AnyRef
- final class Randomization extends AnyRef
A description of how a Chisel circuit should be randomized
A description of how a Chisel circuit should be randomized
- Exceptions thrown
IllegalArgumentException
if register and memory randomization are both disabled and delay or randomValue are non-empty
- final class Settings[A <: RawModule] extends AnyRef
Settings for controlling ChiselSim simulations
Settings for controlling ChiselSim simulations
These setings are only intended to be associated with Chisel, FIRRTL, and FIRRTL's Verilog ABI and not to do with lower-level control of the FIRRTL compilation itself or the Verilog compilation and simulation.
- final class SimulatedModule[T] extends AnySimulatedModule
A class that enables using a Chisel module to control an
svsim.Simulation
. - trait Simulator[T <: Backend] extends AnyRef
- trait SimulatorAPI extends AnyRef
Value Members
- object ChiselOptionsModifications
- object EphemeralSimulator extends PeekPokeAPI
Provides a simple API for "ephemeral" invocations (where you don't care about the artifacts after the invocation completes) to simulate Chisel modules.
Provides a simple API for "ephemeral" invocations (where you don't care about the artifacts after the invocation completes) to simulate Chisel modules. To keep things really simple,
EphemeralSimulator
simulations can only be controlled using the peek/poke API, which provides enough control while hiding some of the lower-level svsim complexity.import chisel3.simulator.EphemeralSimulator._ ... simulate(new MyChiselModule()) { module => ... }
Example: - object Exceptions
- object FirtoolOptionsModifications
- object HasSimulator
Type class implementations of HasSimulator.
- object LayerControl
Utilities for enabling and disabling Chisel layers
- object MacroText
This object implements an enumeration of classes that can be used to generate macros for use in Settings.
- object PeekPokeAPI extends PeekPokeAPI
- object Randomization
- object Settings
This object contains factories of Settings.
- object Simulator
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
, andReg
, the abstract typesBits
,Aggregate
, andData
, and the aggregate typesBundle
andVec
.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.