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. abstract class RandomizableBitVector extends AnyRef

    Permalink
    Attributes
    protected
  2. implicit class SimAFixPimper extends AnyRef

    Permalink
  3. implicit class SimArrayBufferPimper[T] extends AnyRef

    Permalink
  4. implicit class SimBaseTypePimper extends AnyRef

    Permalink

    Add implicit function to BaseType for simulation

  5. implicit class SimBigIntPimper extends AnyRef

    Permalink

    Add implicit function to BigInt

  6. implicit class SimBitVectorPimper extends AnyRef

    Permalink

    Add implicit function to BitVector

  7. implicit class SimBitsPimper extends RandomizableBitVector

    Permalink

    Add implicit function to Bits

  8. implicit class SimBoolPimper extends AnyRef

    Permalink

    Add implicit function to Bool

  9. implicit class SimClockDomainHandlePimper extends SimClockDomainPimper

    Permalink
  10. implicit class SimClockDomainPimper extends AnyRef

    Permalink

    Add implicit function to ClockDomain

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

    Permalink

    Run simulation

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

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

    Permalink

    Add implicit function to Data

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

    Permalink

    Add implicit function to Enum

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

    Permalink

    Add implicit function to UFix/SFix/AFix

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

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

    Permalink
  18. implicit class SimSFixPimper extends SimFix[SFix]

    Permalink
  19. implicit class SimSIntPimper extends RandomizableBitVector

    Permalink

    Add implicit function to SInt

  20. implicit class SimSeqPimper[T] extends AnyRef

    Permalink
  21. implicit class SimUFixPimper extends SimFix[UFix]

    Permalink
  22. implicit class SimUIntPimper extends RandomizableBitVector

    Permalink

    Add implicit function to UInt

  23. class SimVerilatorPhase extends PhaseNetlist

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

    Permalink
  25. 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, timePrecision: TimeNumber = null) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  26. 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, timePrecision: TimeNumber = null) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  27. class SpinalSimBackendSel extends AnyRef

    Permalink
  28. 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](), _xilinxDevice: String = "xc7vx485tffg1157-1", _simScript: String = null, _timePrecision: TimeNumber = null, _timeScale: TimeNumber = null) extends Product with Serializable

    Permalink

    SpinalSim configuration

  29. 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, timePrecision: TimeNumber = null, simSetupFile: String = null, envSetup: () ⇒ Unit = null, vcsFlags: VCSFlags = 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
  30. 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, timePrecision: TimeNumber = null) extends Product with Serializable

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

    Permalink
  32. 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, xilinxDevice: String, simScript: String, simulatorFlags: ArrayBuffer[String] = ArrayBuffer[String](), timePrecision: TimeNumber = null) extends Product with Serializable

    Permalink
  33. class SwapTagPhase extends PhaseNetlist

    Permalink

    Swap all oldTag with newTag

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: TimeNumber)(body: ⇒ Unit): Unit

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

    Permalink
  21. def disableSimWave(): Unit

    Permalink
  22. def enableSimWave(): Unit

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

    Permalink

    Fork

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

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

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

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

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

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

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

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

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

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

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

    Permalink

    Set a BigInt value to a BaseType

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

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

    Permalink

    Set a long value to a BaseType

  37. def simDeltaCycle(): Long

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

    Permalink
  39. def simSuccess(): Nothing

    Permalink

    Success/Failure simulation

  40. def simThread: SimThread

    Permalink
  41. def simTime(): Long

    Permalink

    Return the current simulation time

  42. def sleep(cycles: Double): Unit

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

    Permalink

    Sleep / WaitUntil

  44. def timeToLong(time: TimeNumber): Long

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