package sim
Simulation package
- Alphabetic
- By Inheritance
- sim
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- implicit class SimArrayBufferPimper[T] extends AnyRef
-
implicit
class
SimBaseTypePimper extends AnyRef
Add implicit function to BaseType for simulation
-
implicit
class
SimBitVectorPimper extends AnyRef
Add implicit function to BitVector
-
implicit
class
SimBitsPimper extends AnyRef
Add implicit function to Bits
-
implicit
class
SimBoolPimper extends AnyRef
Add implicit function to Bool
- implicit class SimClockDomainHandlePimper extends SimClockDomainPimper
-
implicit
class
SimClockDomainPimper extends AnyRef
Add implicit function to ClockDomain
-
abstract
class
SimCompiled[T <: Component] extends AnyRef
Run simulation
-
case class
SimConfigLegacy[T <: Component](_rtlGen: Option[() ⇒ T] = None, _spinalConfig: SpinalConfig = SpinalConfig(), _spinalReport: Option[SpinalReport[T]] = None) extends Product with Serializable
Legacy simulation configuration
-
implicit
class
SimDataPimper[T <: Data] extends AnyRef
Add implicit function to Data
-
implicit
class
SimEnumPimper[T <: SpinalEnum] extends AnyRef
Add implicit function to Enum
- implicit class SimMemPimper[T <: Data] extends AnyRef
- case class SimMutex() extends Product with Serializable
-
implicit
class
SimSIntPimper extends AnyRef
Add implicit function to SInt
- implicit class SimSeqPimper[T] extends AnyRef
-
implicit
class
SimUIntPimper extends AnyRef
Add implicit function to UInt
- implicit class SimpComponentPimper[T <: Component] extends AnyRef
- case class SpinalGhdlBackendConfig[T <: Component](rtl: SpinalReport[T], waveFormat: WaveFormat = WaveFormat.NONE, workspacePath: String = "./", workspaceName: String = null, wavePath: String = null, wavePrefix: String = null, waveDepth: Int = 0, optimisationLevel: Int = 2, simulatorFlags: ArrayBuffer[String] = ArrayBuffer[String](), usePluginsCache: Boolean = true, pluginsCachePath: String = "./simWorkspace/.pluginsCachePath", enableLogging: Boolean = false) extends SpinalVpiBackendConfig[T] with Product with Serializable
- case class SpinalIVerilogBackendConfig[T <: Component](rtl: SpinalReport[T], waveFormat: WaveFormat = WaveFormat.NONE, workspacePath: String = "./", workspaceName: String = null, wavePath: String = null, wavePrefix: String = null, waveDepth: Int = 0, optimisationLevel: Int = 2, simulatorFlags: ArrayBuffer[String] = ArrayBuffer[String](), usePluginsCache: Boolean = true, pluginsCachePath: String = "./simWorkspace/.pluginsCachePath", enableLogging: Boolean = false) extends SpinalVpiBackendConfig[T] with Product with Serializable
- class SpinalSimBackendSel extends AnyRef
-
case class
SpinalSimConfig(_workspacePath: String = ..., _workspaceName: String = null, _waveDepth: Int = 0, _spinalConfig: SpinalConfig = SpinalConfig(), _optimisationLevel: Int = 0, _simulatorFlags: ArrayBuffer[String] = ArrayBuffer[String](), _additionalRtlPath: ArrayBuffer[String] = ArrayBuffer[String](), _additionalIncludeDir: ArrayBuffer[String] = ArrayBuffer[String](), _waveFormat: WaveFormat = WaveFormat.NONE, _backend: SpinalSimBackendSel = SpinalSimBackendSel.VERILATOR, _withCoverage: Boolean = false, _maxCacheEntries: Int = 100, _cachePath: String = null, _disableCache: Boolean = false, _withLogging: Boolean = false) extends Product with Serializable
SpinalSim configuration
- case class SpinalVerilatorBackendConfig[T <: Component](rtl: SpinalReport[T], waveFormat: WaveFormat = WaveFormat.NONE, maxCacheEntries: Int = 100, cachePath: String = null, workspacePath: String = "./", workspaceName: String = null, vcdPath: String = null, vcdPrefix: String = null, waveDepth: Int = 0, optimisationLevel: Int = 2, simulatorFlags: ArrayBuffer[String] = ArrayBuffer[String](), withCoverage: Boolean) extends Product with Serializable
- class SpinalVpiBackendConfig[T <: Component] extends AnyRef
-
class
SwapTagPhase extends PhaseNetlist
Swap all oldTag with newTag
Value Members
- def SimConfig: SpinalSimConfig
- def delayed(delay: Long)(body: ⇒ Unit): Unit
- def disableSimWave(): Unit
- def enableSimWave(): Unit
-
def
fork(body: ⇒ Unit): SimThread
Fork
- def forkJoin(bodys: () ⇒ Unit*): Unit
- def forkSensitive(trigger: ⇒ Any)(block: ⇒ Unit): Unit
- def forkSensitive(triggers: Data)(block: ⇒ Unit): Unit
- def forkSensitive(block: ⇒ Unit): Unit
- def forkSensitive2(triggers: Data*)(block: ⇒ Unit): Unit
- def forkSensitiveWhile(block: ⇒ Boolean): Unit
- def forkSimSporadicWave(captures: Seq[(Double, Double)], enableTime: Double = 1e-7, disableTime: Double = 1e-4, timeUnit: Double = 1e12): Unit
- def getBigInt[T <: Data](mem: Mem[T], address: Long): BigInt
- def onSimEnd(body: ⇒ Unit): Unit
- def periodicaly(delay: Long)(body: ⇒ Unit): Unit
-
def
setBigInt(bt: BaseType, value: BigInt): Unit
Set a BigInt value to a BaseType
- def setBigInt[T <: Data](mem: Mem[T], address: Long, data: BigInt): Unit
-
def
setLong(bt: BaseType, value: Long): Unit
Set a long value to a BaseType
- def simDeltaCycle(): Long
- def simFailure(message: String = ""): Nothing
-
def
simSuccess(): Nothing
Success/Failure simulation
- def simThread: SimThread
-
def
simTime(): Long
Return the current simulation time
- def sleep(cycles: Double): Unit
-
def
sleep(cycles: Long): Unit
Sleep / WaitUntil
- def waitUntil(cond: ⇒ Boolean): Unit
-
object
DoClock
Generate a clock
-
object
DoReset
Execute a reset sequence
-
object
ForkClock
Fork the DoClock
-
object
SimPublic extends SpinalTag
Tag SimPublic
-
object
SimSpeedPrinter
Print the simulation speed
- object SimStatics
-
object
SimTimeout
Create a Timeout for the simulation
-
object
SimWorkspace
Simulation Workspace
- object SpinalGhdlBackend
- object SpinalIVerilogBackend
- object SpinalSimBackendSel
- object SpinalVerilatorBackend
- object SpinalVerilatorSim
- object SpinalVpiBackend
- object TracingOff extends SpinalTag
Deprecated Value Members
-
def
SimConfig[T <: Component](rtl: SpinalReport[T]): SimConfigLegacy[T]
- Annotations
- @deprecated
- Deprecated
(Since version ???) Use SimConfig.???.compile(new Dut) instead
-
def
SimConfig[T <: Component](rtl: ⇒ T): SimConfigLegacy[T]
- Annotations
- @deprecated
- Deprecated
(Since version ???) Use SimConfig.???.compile(new Dut) instead