Packages

  • package root

    This is the documentation for 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.

    Definition Classes
    root
  • package chisel3

    This package contains the main chisel3 API.

    This package contains the main chisel3 API.

    Definition Classes
    root
  • package simulator
    Definition Classes
    chisel3
  • package scalatest
    Definition Classes
    simulator
  • ChiselSim
  • Cli
  • HasCliOptions

trait ChiselSim extends HasCliOptions with HasConfigMap with ChiselOpts with EmitVcd with FirtoolOpts with TestingDirectory with simulator.ChiselSim

A trait that provides ChiselSim APIs and integration with Scalatest.

Example usage:

import chisel3.simulator.scalatestChiselSim
import org.scalatest.funspec.AnyFunSpec
import org.scalatest.matches.should.Matchers

class Foo extends AnyFunSpec with Matchers with ChiselSim {
  /** This has access to all ChiselSim APIs like `simulate`, `peek`, and `poke`. */
}
Self Type
ChiselSim with TestSuite
Source
package.scala
See also

chisel3.simulator.ChiselSim

Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ChiselSim
  2. ChiselSim
  3. SimulatorAPI
  4. PeekPokeAPI
  5. ControlAPI
  6. TestingDirectory
  7. FirtoolOpts
  8. EmitVcd
  9. ChiselOpts
  10. HasCliOptions
  11. HasConfigMap
  12. TestSuiteMixin
  13. SuiteMixin
  14. AnyRef
  15. 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

Abstract Value Members

  1. abstract def expectedTestCount(filter: Filter): Int
    Definition Classes
    SuiteMixin
  2. abstract def nestedSuites: IndexedSeq[Suite]
    Definition Classes
    SuiteMixin
  3. abstract def rerunner: Option[String]
    Definition Classes
    SuiteMixin
  4. abstract def run(testName: Option[String], args: Args): Status
    Definition Classes
    SuiteMixin
  5. abstract def runNestedSuites(args: Args): Status
    Attributes
    protected
    Definition Classes
    SuiteMixin
  6. abstract def runTest(testName: String, args: Args): Status
    Attributes
    protected
    Definition Classes
    SuiteMixin
  7. abstract def runTests(testName: Option[String], args: Args): Status
    Attributes
    protected
    Definition Classes
    SuiteMixin
  8. abstract def suiteId: String
    Definition Classes
    SuiteMixin
  9. abstract def suiteName: String
    Definition Classes
    SuiteMixin
  10. abstract def tags: Map[String, Set[String]]
    Definition Classes
    SuiteMixin
  11. abstract def testDataFor(testName: String, theConfigMap: ConfigMap): TestData
    Definition Classes
    SuiteMixin
  12. abstract def testNames: Set[String]
    Definition Classes
    SuiteMixin
  13. abstract val styleName: String
    Definition Classes
    SuiteMixin
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1.0) The styleName lifecycle method has been deprecated and will be removed in a future version of ScalaTest with no replacement.

Concrete Value Members

  1. object FailedExpectationException extends Serializable
    Definition Classes
    PeekPokeAPI
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. 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
  5. 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()
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. final def addOption(option: CliOption[_]): Unit
    Definition Classes
    HasCliOptions
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. implicit def backendSettingsModifications: BackendSettingsModifications
    Definition Classes
    HasCliOptions
  10. def buildDir: Path

    Return the name of the root test directory.

    Return the name of the root test directory.

    For different behavior, please override this in your test suite.

    Definition Classes
    TestingDirectory
  11. implicit def chiselOptionsModifications: ChiselOptionsModifications
    Definition Classes
    HasCliOptions
  12. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  13. implicit def commonSettingsModifications: CommonSettingsModifications
    Definition Classes
    HasCliOptions
  14. def configMap: ConfigMap

    Return the config map which contains all command line options passed to Scalatest.

    Return the config map which contains all command line options passed to Scalatest.

    This is only valid during a test. It will be None if used outside a test.

    Definition Classes
    HasConfigMap
    Exceptions thrown

    RuntimeException if called outside a Scalatest test

  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  23. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  24. implicit def firtoolOptionsModifications: FirtoolOptionsModifications
    Definition Classes
    HasCliOptions
  25. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. final def getOption[A](name: String): Option[A]
    Definition Classes
    HasCliOptions
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. implicit final def implementation: HasTestingDirectory

    Implementaton of HasTestingDirectory which sets up the test directory for you based on settings which make sense in Scalatest.

    Implementaton of HasTestingDirectory which sets up the test directory for you based on settings which make sense in Scalatest.

    Definition Classes
    TestingDirectory
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. 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.

  34. 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.

  35. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  36. def toString(): String
    Definition Classes
    AnyRef → Any
  37. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  40. def withFixture(test: (ChiselSim.this)#NoArgTest): Outcome
    Definition Classes
    TestingDirectory → TestSuiteMixin

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 simulator.ChiselSim

Inherited from SimulatorAPI

Inherited from PeekPokeAPI

Inherited from ControlAPI

Inherited from TestingDirectory

Inherited from FirtoolOpts

Inherited from EmitVcd

Inherited from ChiselOpts

Inherited from HasCliOptions

Inherited from HasConfigMap

Inherited from TestSuiteMixin

Inherited from SuiteMixin

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