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
- Alphabetic
- By Inheritance
- ChiselSim
- ChiselSim
- SimulatorAPI
- PeekPokeAPI
- ControlAPI
- TestingDirectory
- FirtoolOpts
- EmitVcd
- ChiselOpts
- HasCliOptions
- HasConfigMap
- TestSuiteMixin
- SuiteMixin
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- case class FailedExpectationException[T](observed: T, expected: T, message: String) extends RuntimeException with NoStackTrace with Product with Serializable
- Definition Classes
- PeekPokeAPI
- sealed trait SimulationData[T <: Data] extends AnyRef
- Definition Classes
- PeekPokeAPI
- implicit final class testableBool extends SimulationData[Bool]
- Definition Classes
- PeekPokeAPI
- implicit class testableClock extends AnyRef
- Definition Classes
- PeekPokeAPI
- implicit final class testableData[T <: Data] extends AnyRef
- Definition Classes
- PeekPokeAPI
- implicit final class testableSInt extends SimulationData[SInt]
- Definition Classes
- PeekPokeAPI
- implicit final class testableUInt extends SimulationData[UInt]
- Definition Classes
- PeekPokeAPI
Abstract Value Members
- abstract def expectedTestCount(filter: Filter): Int
- Definition Classes
- SuiteMixin
- abstract def nestedSuites: IndexedSeq[Suite]
- Definition Classes
- SuiteMixin
- abstract def rerunner: Option[String]
- Definition Classes
- SuiteMixin
- abstract def run(testName: Option[String], args: Args): Status
- Definition Classes
- SuiteMixin
- abstract def runNestedSuites(args: Args): Status
- Attributes
- protected
- Definition Classes
- SuiteMixin
- abstract def runTest(testName: String, args: Args): Status
- Attributes
- protected
- Definition Classes
- SuiteMixin
- abstract def runTests(testName: Option[String], args: Args): Status
- Attributes
- protected
- Definition Classes
- SuiteMixin
- abstract def suiteId: String
- Definition Classes
- SuiteMixin
- abstract def suiteName: String
- Definition Classes
- SuiteMixin
- abstract def tags: Map[String, Set[String]]
- Definition Classes
- SuiteMixin
- abstract def testDataFor(testName: String, theConfigMap: ConfigMap): TestData
- Definition Classes
- SuiteMixin
- abstract def testNames: Set[String]
- Definition Classes
- SuiteMixin
- 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
- object FailedExpectationException extends Serializable
- Definition Classes
- PeekPokeAPI
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (ChiselSim, B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def addOption(option: CliOption[_]): Unit
- Definition Classes
- HasCliOptions
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit def backendSettingsModifications: BackendSettingsModifications
- Definition Classes
- HasCliOptions
- 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
- implicit def chiselOptionsModifications: ChiselOptionsModifications
- Definition Classes
- HasCliOptions
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit def commonSettingsModifications: CommonSettingsModifications
- Definition Classes
- HasCliOptions
- 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
- 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
- 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
- def ensuring(cond: (ChiselSim) => Boolean, msg: => Any): ChiselSim
- def ensuring(cond: (ChiselSim) => Boolean): ChiselSim
- def ensuring(cond: Boolean, msg: => Any): ChiselSim
- def ensuring(cond: Boolean): ChiselSim
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- implicit def firtoolOptionsModifications: FirtoolOptionsModifications
- Definition Classes
- HasCliOptions
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def getOption[A](name: String): Option[A]
- Definition Classes
- HasCliOptions
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- 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.
- 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.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withFixture(test: (ChiselSim.this)#NoArgTest): Outcome
- Definition Classes
- TestingDirectory → TestSuiteMixin
Deprecated Value Members
- 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 ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- 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.
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.