Package

spinal.core

sim

Permalink

package sim

Simulation package

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. sim
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit class SimAFixPimper extends AnyRef

    Permalink
  2. implicit class SimArrayBufferPimper[T] extends AnyRef

    Permalink
  3. implicit class SimBaseTypePimper extends AnyRef

    Permalink

    Add implicit function to BaseType for simulation

  4. implicit class SimBitVectorPimper extends AnyRef

    Permalink

    Add implicit function to BitVector

  5. implicit class SimBitsPimper extends AnyRef

    Permalink

    Add implicit function to Bits

  6. implicit class SimBoolPimper extends AnyRef

    Permalink

    Add implicit function to Bool

  7. implicit class SimClockDomainHandlePimper extends SimClockDomainPimper

    Permalink
  8. implicit class SimClockDomainPimper extends AnyRef

    Permalink

    Add implicit function to ClockDomain

  9. abstract class SimCompiled[T <: Component] extends AnyRef

    Permalink

    Run simulation

  10. case class SimConfigLegacy[T <: Component](_rtlGen: Option[() ⇒ T] = None, _spinalConfig: SpinalConfig = SpinalConfig(), _spinalReport: Option[SpinalReport[T]] = None) extends Product with Serializable

    Permalink

    Legacy simulation configuration

  11. implicit class SimDataPimper[T <: Data] extends AnyRef

    Permalink

    Add implicit function to Data

  12. implicit class SimEnumPimper[T <: SpinalEnum] extends AnyRef

    Permalink

    Add implicit function to Enum

  13. abstract class SimFix[T <: XFix[_, _]] extends AnyRef

    Permalink

    Add implicit function to UFix/SFix/AFix

  14. implicit class SimMemPimper[T <: Data] extends AnyRef

    Permalink
  15. case class SimMutex() extends Product with Serializable

    Permalink
  16. implicit class SimSFixPimper extends SimFix[SFix]

    Permalink
  17. implicit class SimSIntPimper extends AnyRef

    Permalink

    Add implicit function to SInt

  18. implicit class SimSeqPimper[T] extends AnyRef

    Permalink
  19. implicit class SimUFixPimper extends SimFix[UFix]

    Permalink
  20. implicit class SimUIntPimper extends AnyRef

    Permalink

    Add implicit function to UInt

  21. implicit class SimpComponentPimper[T <: Component] extends AnyRef

    Permalink
  22. 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

    Permalink
  23. 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

    Permalink
  24. class SpinalSimBackendSel extends AnyRef

    Permalink
  25. 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, _vcsCC: Option[String] = None, _vcsLd: Option[String] = None, _vcsUserFlags: VCSFlags = VCSFlags(), _vcsSimSetupFile: String = null, _vcsEnvSetup: () ⇒ Unit = null, _xciSourcesPaths: ArrayBuffer[String] = ArrayBuffer[String](), _bdSourcesPaths: ArrayBuffer[String] = ArrayBuffer[String]()) extends Product with Serializable

    Permalink

    SpinalSim configuration

  26. case class SpinalVCSBackendConfig[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, simSetupFile: String = null, envSetup: () ⇒ Unit = null, compileFlags: List[String] = null, elaborateFlags: List[String] = null, runFlags: List[String] = null, vcsCC: Option[String] = None, vcsLd: Option[String] = None) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  27. 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

    Permalink
  28. class SpinalVpiBackendConfig[T <: Component] extends AnyRef

    Permalink
  29. case class SpinalXSimBackendConfig[T <: Component](rtl: SpinalReport[T], xciSourcesPaths: ArrayBuffer[String] = ArrayBuffer[String](), bdSourcesPaths: ArrayBuffer[String] = ArrayBuffer[String](), waveFormat: WaveFormat, workspacePath: String, workspaceName: String, wavePath: String) extends Product with Serializable

    Permalink
  30. class SwapTagPhase extends PhaseNetlist

    Permalink

    Swap all oldTag with newTag

  31. case class VCSFlags(compileFlags: List[String] = List[String](), elaborateFlags: List[String] = List[String](), runFlags: List[String] = List[String]()) extends Product with Serializable

    Permalink

Value Members

  1. object DoClock

    Permalink

    Generate a clock

  2. object DoReset

    Permalink

    Execute a reset sequence

  3. object ForkClock

    Permalink

    Fork the DoClock

  4. def SimConfig: SpinalSimConfig

    Permalink
  5. object SimPublic extends SpinalTag

    Permalink

    Tag SimPublic

  6. object SimSpeedPrinter

    Permalink

    Print the simulation speed

  7. object SimStatics

    Permalink
  8. object SimTimeout

    Permalink

    Create a Timeout for the simulation

  9. object SimWorkspace

    Permalink

    Simulation Workspace

  10. object SpinalGhdlBackend

    Permalink
  11. object SpinalIVerilogBackend

    Permalink
  12. object SpinalSimBackendSel

    Permalink
  13. object SpinalVCSBackend

    Permalink
  14. object SpinalVerilatorBackend

    Permalink
  15. object SpinalVerilatorSim

    Permalink
  16. object SpinalVpiBackend

    Permalink
  17. object SpinalXSimBackend

    Permalink
  18. object TracingOff extends SpinalTag

    Permalink
  19. def delayed(delay: Long)(body: ⇒ Unit): Unit

    Permalink
  20. def disableSimWave(): Unit

    Permalink
  21. def enableSimWave(): Unit

    Permalink
  22. def fork(body: ⇒ Unit): SimThread

    Permalink

    Fork

  23. def forkJoin(bodys: () ⇒ Unit*): Unit

    Permalink
  24. def forkSensitive(trigger: ⇒ Any)(block: ⇒ Unit): Unit

    Permalink
  25. def forkSensitive(triggers: Data)(block: ⇒ Unit): Unit

    Permalink
  26. def forkSensitive(block: ⇒ Unit): Unit

    Permalink
  27. def forkSensitive2(triggers: Data*)(block: ⇒ Unit): Unit

    Permalink
  28. def forkSensitiveWhile(block: ⇒ Boolean): Unit

    Permalink
  29. def forkSimSporadicWave(captures: Seq[(Double, Double)], enableTime: Double = 1e-7, disableTime: Double = 1e-4, timeUnit: Double = 1e12): Unit

    Permalink
  30. def getBigInt[T <: Data](mem: Mem[T], address: Long): BigInt

    Permalink
  31. def onSimEnd(body: ⇒ Unit): Unit

    Permalink
  32. def periodicaly(delay: Long)(body: ⇒ Unit): Unit

    Permalink
  33. def setBigInt(bt: BaseType, value: BigInt): Unit

    Permalink

    Set a BigInt value to a BaseType

  34. def setBigInt[T <: Data](mem: Mem[T], address: Long, data: BigInt): Unit

    Permalink
  35. def setLong(bt: BaseType, value: Long): Unit

    Permalink

    Set a long value to a BaseType

  36. def simDeltaCycle(): Long

    Permalink
  37. def simFailure(message: String = ""): Nothing

    Permalink
  38. def simSuccess(): Nothing

    Permalink

    Success/Failure simulation

  39. def simThread: SimThread

    Permalink
  40. def simTime(): Long

    Permalink

    Return the current simulation time

  41. def sleep(cycles: Double): Unit

    Permalink
  42. def sleep(cycles: Long): Unit

    Permalink

    Sleep / WaitUntil

  43. def waitUntil(cond: ⇒ Boolean): Unit

    Permalink

Deprecated Value Members

  1. def SimConfig[T <: Component](rtl: SpinalReport[T]): SimConfigLegacy[T]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use SimConfig.???.compile(new Dut) instead

  2. def SimConfig[T <: Component](rtl: ⇒ T): SimConfigLegacy[T]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use SimConfig.???.compile(new Dut) instead

Inherited from AnyRef

Inherited from Any

Ungrouped