chisel3.simulator

Members list

Type members

Classlikes

sealed class AnySimulatedModule

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class SimulatedModule[T]
sealed trait AnyTestableData[T <: Data]

Attributes

Source
PeekPokeAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait PeekPokable[T]
class TestableData[T]
class TestableRecord[T]
class TestableVec[T]
trait TestableElement[T]
class TestableBool
class TestableEnum[T]
class TestableSInt
class TestableUInt
Show all
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.

Attributes

Companion
object
Source
OptionsModifications.scala
Supertypes
trait (Array[String]) => Array[String]
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
OptionsModifications.scala
Supertypes
class Object
trait Matchable
class Any
Self type

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`. */
}

Attributes

See also

chisel3.simulator.scalatest.ChiselSim

Source
package.scala
Supertypes
trait SimulatorAPI
trait PeekPokeAPI
trait ControlAPI
class Object
trait Matchable
class Any
Show all
implicit class ChiselSimulation(simulation: Simulation)

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
implicit class ChiselWorkspace(workspace: Workspace)

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
trait ControlAPI

Attributes

Source
ControlAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait ChiselSim
final class ElaboratedModule[T]

An opaque class that can be passed to Simulation.run to get access to a SimulatedModule in the simulation body.

An opaque class that can be passed to Simulation.run to get access to a SimulatedModule in the simulation body.

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any

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.

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.

Attributes

Example
import chisel3.simulator.EphemeralSimulator._
...
simulate(new MyChiselModule()) { module => ... }
Source
EphemeralSimulator.scala
Supertypes
trait PeekPokeAPI
class Object
trait Matchable
class Any
Self type
object Exceptions

Attributes

Source
Simulator.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Exceptions.type
case class FailedExpectationException[T <: Serializable](observed: T, expected: T, message: String) extends RuntimeException, PeekPokeApiException

Exception thrown when an expectation fails.

Exception thrown when an expectation fails.

Value parameters

expected

the expected value

message

the message to display

observed

the observed value

Attributes

Companion
object
Source
PeekPokeAPI.scala
Supertypes
trait Product
trait Equals
trait NoStackTrace
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Source
PeekPokeAPI.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
trait FirtoolOptionsModifications extends (Array[String]) => Array[String]

Changes that ChiselSim should make to firtool command line options

Changes that ChiselSim should make to firtool command line options

This follows a type class pattern with a low-priority default of identity.

Attributes

Companion
object
Source
OptionsModifications.scala
Supertypes
trait (Array[String]) => Array[String]
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
OptionsModifications.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait HasSimulator

Type class for providing a simulator.

Type class for providing a simulator.

Attributes

Companion
object
Source
HasSimulator.scala
Supertypes
class Object
trait Matchable
class Any
object HasSimulator

Type class implementations of HasSimulator.

Type class implementations of HasSimulator.

Attributes

Companion
trait
Source
HasSimulator.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object LayerControl

Utilities for enabling and disabling Chisel layers

Utilities for enabling and disabling Chisel layers

Attributes

Source
LayerControl.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object MacroText

This object implements an enumeration of classes that can be used to generate macros for use in Settings.

This object implements an enumeration of classes that can be used to generate macros for use in Settings.

Attributes

Source
Settings.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MacroText.type
trait PeekPokable[T <: Data] extends Peekable[T], Pokable[T], AnyTestableData[T]

Attributes

Source
PeekPokeAPI.scala
Supertypes
trait AnyTestableData[T]
trait Pokable[T]
trait Peekable[T]
class Object
trait Matchable
class Any
Show all
Known subtypes
class TestableData[T]
class TestableRecord[T]
class TestableVec[T]
trait TestableElement[T]
class TestableBool
class TestableEnum[T]
class TestableSInt
class TestableUInt
Show all
object PeekPokeAPI

Attributes

Companion
trait
Source
PeekPokeAPI.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait PeekPokeAPI

Attributes

Companion
object
Source
PeekPokeAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait PeekPokeApiException extends NoStackTrace

Attributes

Source
PeekPokeAPI.scala
Supertypes
trait NoStackTrace
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Peekable[T <: Data]

Attributes

Source
PeekPokeAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait PeekPokable[T]
class TestableData[T]
class TestableRecord[T]
class TestableVec[T]
trait TestableElement[T]
class TestableBool
class TestableEnum[T]
class TestableSInt
class TestableUInt
Show all
trait Pokable[T <: Data]

Attributes

Source
PeekPokeAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait PeekPokable[T]
class TestableData[T]
class TestableRecord[T]
class TestableVec[T]
trait TestableElement[T]
class TestableBool
class TestableEnum[T]
class TestableSInt
class TestableUInt
Show all
final class Randomization(val registers: Boolean, val memories: Boolean, val delay: Option[Int], val randomValue: Option[String])

A description of how a Chisel circuit should be randomized

A description of how a Chisel circuit should be randomized

Value parameters

delay

an optional delay value to apply to the randomization. This will cause the randomization to be applied this many Verilog time units after the simulation starts.

memories

if true, randomize the initial state of memories

registers

if true, randomize the initial state of registers

Attributes

Throws
IllegalArgumentException

if register and memory randomization are both disabled and delay or randomValue are non-empty

Companion
object
Source
Randomization.scala
Supertypes
class Object
trait Matchable
class Any
object Randomization

Attributes

Companion
class
Source
Randomization.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class Settings[A <: RawModule]

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.

Value parameters

assertVerboseCond

a condition that guards the printing of assert messages created from circt_chisel_ifelsefatal intrinsics

enableWavesAtTimeZero

enable waveform dumping at time zero. This requires a simulator capable of dumping waves.

layerControl

determines which chisel3.layer.Layers should be

libraries

Names of libraries to include in simulation. Use this to provide implementations for DPI functions, for example. The simulator will resolve these libraries to concrete files using the CHISELSIM_LIBS environment variable and chiselsim.libraries Java property.

libraryPaths

Paths to libraries to include in simulation. Use this to provide implementations for DPI functions, for example.

plusArgs

Verilog $value$plusargs or $test$plusargs to set at simulation runtime.

printfCond

a condition that guards printing of chisel3.printfs

randomization

random initialization settings to use

stopCond

a condition that guards terminating the simulation (via $fatal) for asserts created from circt_chisel_ifelsefatal intrinsics enabled during Verilog elaboration.

Attributes

Companion
object
Source
Settings.scala
Supertypes
class Object
trait Matchable
class Any
object Settings

This object contains factories of Settings.

This object contains factories of Settings.

Attributes

Companion
class
Source
Settings.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Settings.type
final class SimulatedModule[T] extends AnySimulatedModule

A class that enables using a Chisel module to control an svsim.Simulation.

A class that enables using a Chisel module to control an svsim.Simulation.

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Source
Simulator.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Simulator

Attributes

Companion
trait
Source
Simulator.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Simulator.type
trait Simulator[T <: Backend]

Attributes

Companion
object
Source
Simulator.scala
Supertypes
class Object
trait Matchable
class Any
trait SimulatorAPI

Attributes

Source
SimulatorAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait ChiselSim
sealed trait TestableAggregate[T <: Aggregate] extends PeekPokable[T]

Attributes

Source
PeekPokeAPI.scala
Supertypes
trait PeekPokable[T]
trait AnyTestableData[T]
trait Pokable[T]
trait Peekable[T]
class Object
trait Matchable
class Any
Show all
Known subtypes
class TestableRecord[T]
class TestableVec[T]
sealed trait TestableElement[T <: Element] extends PeekPokable[T]

Attributes

Source
PeekPokeAPI.scala
Supertypes
trait PeekPokable[T]
trait AnyTestableData[T]
trait Pokable[T]
trait Peekable[T]
class Object
trait Matchable
class Any
Show all
Known subtypes
case class UninitializedElementException(message: String)(implicit sourceInfo: SourceInfo) extends RuntimeException, PeekPokeApiException

Attributes

Source
PeekPokeAPI.scala
Supertypes
trait Product
trait Equals
trait NoStackTrace
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Implicits

Implicits

final implicit def ChiselSimulation(simulation: Simulation): ChiselSimulation

Attributes

Source
package.scala
final implicit def ChiselWorkspace(workspace: Workspace): ChiselWorkspace

Attributes

Source
package.scala