Packages

trait ChiselSim extends ControlAPI with PeekPokeAPI with SimulatorAPI

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`. */
}
Source
package.scala
See also

chisel3.simulator.scalatest.ChiselSim

Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ChiselSim
  2. SimulatorAPI
  3. PeekPokeAPI
  4. ControlAPI
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class FailedExpectationException[T](observed: T, expected: T, message: String) extends RuntimeException with NoStackTrace with Product with Serializable
    Definition Classes
    PeekPokeAPI
  2. sealed trait SimulationData[T <: Data] extends AnyRef
    Definition Classes
    PeekPokeAPI
  3. implicit final class testableBool extends SimulationData[Bool]
    Definition Classes
    PeekPokeAPI
  4. implicit class testableClock extends AnyRef
    Definition Classes
    PeekPokeAPI
  5. implicit final class testableData[T <: Data] extends AnyRef
    Definition Classes
    PeekPokeAPI
  6. implicit final class testableSInt extends SimulationData[SInt]
    Definition Classes
    PeekPokeAPI
  7. implicit final class testableUInt extends SimulationData[UInt]
    Definition Classes
    PeekPokeAPI

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from ChiselSim toany2stringadd[ChiselSim] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ChiselSim, B)
    Implicit
    This member is added by an implicit conversion from ChiselSim toArrowAssoc[ChiselSim] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def disableWaves(): Unit

    Enable waveform dumping

    Enable waveform dumping

    This control function will disable waveforms from the moment it is applied. A simulator must be compiled with waveform dumping support for this to have an effect.

    Example usage:

    disableWaves()
    Definition Classes
    ControlAPI
  9. def enableWaves(): Unit

    Enable waveform dumping

    Enable waveform dumping

    This control function will enable waveforms from the moment it is applied. A simulator must be compiled with waveform dumping support for this to have an effect.

    Example usage:

    enableWaves()
    Definition Classes
    ControlAPI
  10. def ensuring(cond: (ChiselSim) => Boolean, msg: => Any): ChiselSim
    Implicit
    This member is added by an implicit conversion from ChiselSim toEnsuring[ChiselSim] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: (ChiselSim) => Boolean): ChiselSim
    Implicit
    This member is added by an implicit conversion from ChiselSim toEnsuring[ChiselSim] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean, msg: => Any): ChiselSim
    Implicit
    This member is added by an implicit conversion from ChiselSim toEnsuring[ChiselSim] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean): ChiselSim
    Implicit
    This member is added by an implicit conversion from ChiselSim toEnsuring[ChiselSim] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def simulate[T <: Module](module: => T, chiselOpts: Array[String] = Array.empty, firtoolOpts: Array[String] = Array.empty, settings: Settings[T] = Settings.default[T], additionalResetCycles: Int = 0, subdirectory: Option[String] = None)(stimulus: (T) => Unit)(implicit hasSimulator: HasSimulator, testingDirectory: HasTestingDirectory, chiselOptsModifications: ChiselOptionsModifications, firtoolOptsModifications: FirtoolOptionsModifications, commonSettingsModifications: CommonSettingsModifications, backendSettingsModifications: BackendSettingsModifications): Unit

    Simulate a Module using a standard initialization procedure.

    Simulate a Module using a standard initialization procedure.

    For details of the initialization procedure see ResetProcedure.

    module

    the Chisel module to generate

    chiselOpts

    command line options to pass to Chisel

    firtoolOpts

    command line options to pass to firtool

    settings

    ChiselSim-related settings used for simulation

    additionalResetCycles

    a number of _additional_ cycles to assert reset for

    subdirectory

    an optional subdirectory for the test. This will be a subdirectory under what is provided by testingDirectory.

    stimulus

    directed stimulus to use

    testingDirectory

    a type class implementation that can be used to change the behavior of where files will be created

    Definition Classes
    SimulatorAPI
    Note

    Take care when passing chiselOpts. The following options are set by default and if you set incompatible options, the simulation will fail.

  24. def simulateRaw[T <: RawModule](module: => T, chiselOpts: Array[String] = Array.empty, firtoolOpts: Array[String] = Array.empty, settings: Settings[T] = Settings.defaultRaw[T], subdirectory: Option[String] = None)(stimulus: (T) => Unit)(implicit hasSimulator: HasSimulator, testingDirectory: HasTestingDirectory, chiselOptsModifications: ChiselOptionsModifications, firtoolOptsModifications: FirtoolOptionsModifications, commonSettingsModifications: CommonSettingsModifications, backendSettingsModifications: BackendSettingsModifications): Unit

    Simulate a RawModule without any initialization procedure.

    Simulate a RawModule without any initialization procedure.

    Use of this method is not advised when simulate can be used instead. This method may cause problems with certain simulators as it is up to the user to ensure that race conditions will not exist during the time zero and reset procedure.

    module

    the Chisel module to generate

    chiselOpts

    command line options to pass to Chisel

    firtoolOpts

    command line options to pass to firtool

    settings

    ChiselSim-related settings used for simulation

    subdirectory

    an optional subdirectory for the test. This will be a subdirectory under what is provided by testingDirectory.

    stimulus

    directed stimulus to use

    testingDirectory

    a type class implementation that can be used to change the behavior of where files will be created

    Definition Classes
    SimulatorAPI
    Note

    Take care when passing chiselOpts. The following options are set by default and if you set incompatible options, the simulation will fail.

  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. object FailedExpectationException extends Serializable
    Definition Classes
    PeekPokeAPI

Deprecated Value Members

  1. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from ChiselSim toStringFormat[ChiselSim] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  2. def [B](y: B): (ChiselSim, B)
    Implicit
    This member is added by an implicit conversion from ChiselSim toArrowAssoc[ChiselSim] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from SimulatorAPI

Inherited from PeekPokeAPI

Inherited from ControlAPI

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromChiselSim to any2stringadd[ChiselSim]

Inherited by implicit conversion StringFormat fromChiselSim to StringFormat[ChiselSim]

Inherited by implicit conversion Ensuring fromChiselSim to Ensuring[ChiselSim]

Inherited by implicit conversion ArrowAssoc fromChiselSim to ArrowAssoc[ChiselSim]

Ungrouped