object Cli
ChiselSim command line interface traits that can be added to Scalatest tests
- Source
- Cli.scala
- Alphabetic
- By Inheritance
- Cli
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait ChiselOpts extends AnyRef
Adds
-DchiselOpts=<space-delimited-chisel-options>
Adds
-DchiselOpts=<space-delimited-chisel-options>
This allows for extra options to be passed directly to Chisel elaboration. Options are space-delimited. To pass multiple options use single quotes, e.g.:
-DchiselOpts='-foo -bar'
- trait EmitFsdb extends AnyRef
Adds
-DemitFsdb=[1,true]
Adds
-DemitFsdb=[1,true]
This causes a simulation to dump an FSDB wave starting at time zero. Finer grained control can be achieved with chisel3.simulator.ControlAPI.disableWaves and chisel3.simulator.ControlAPI.enableWaves.
If the simulator does not support FSDB waves, then using this option will throw an IllegalArgumentException when the option is used.
- trait EmitVcd extends AnyRef
Adds
-DemitVcd=[1,true]
Adds
-DemitVcd=[1,true]
This causes a simulation to dump a VCD wave starting at time zero. Finer grained control can be achieved with chisel3.simulator.ControlAPI.disableWaves and chisel3.simulator.ControlAPI.enableWaves.
- trait EmitVpd extends AnyRef
Adds
-DemitVpd=[1,true]
Adds
-DemitVpd=[1,true]
This causes a simulation to dump a VPD wave starting at time zero. Finer grained control can be achieved with chisel3.simulator.ControlAPI.disableWaves and chisel3.simulator.ControlAPI.enableWaves.
If the simulator does not support VPD waves, then using this option will throw an IllegalArgumentException when the option is used.
- trait FirtoolOpts extends AnyRef
Adds
-DfirtoolOpts=<space-delimited-firtool-options>
Adds
-DfirtoolOpts=<space-delimited-firtool-options>
This allows for extra options to be passed directly to
firtool
. Options are space-delimited. To pass multiple options use single quotes, e.g.:-DfirtoolOpts='-foo -bar'
- trait Scale extends AnyRef
Adds
-Dscale=<double>
Adds
-Dscale=<double>
This adds an option which can be used to control the "scaling factor" of the test. This option can be used by the test author to "scale" the test to make it longer or shorter.
This is inteded to be used with randomized testing or some testing which does not have a natural end point or an end point which may be dependent on execution context. E.g., you can use this to make a test which runs for briefly in a pre-merge Continuous Integration (CI) flow, but runs for much longer in nightly CI.
Note that the interpretation of the "scaling factor" is test dependent. In order to document this and help end users, this trait has an abstract member
scaleHelpText
which must be overridden to document what the scale affects in the test. E.g., if the scale is used to lengthen a test, a test author could write:override protected def scaleHelpText = "scales the runtime of a test"
While this adds the low-level
scale
option. A user of this should use the member functions that this trait adds, e.d.,scaled
. - trait Simulator extends AnyRef
Adds
-Dsimulator
to choose the simulator at runtime.Adds
-Dsimulator
to choose the simulator at runtime.This trait adds an option for controlling the simulator at runtime.
If a user wants to add more simulators or simulators with different options, they should override the
cliSimulatorMap
with their chosen simulators.If a user wants to change the default simulator, they should override
defaultCliSimulator
. Making this aNone
will require the user to always specify a simulator, i.e., there is no default.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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()
- 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()
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.