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. class CoreSimManager extends SimManager

    Permalink
  2. abstract class RandomizableBitVector extends AnyRef

    Permalink
    Attributes
    protected
  3. implicit class SimAFixPimper extends AnyRef

    Permalink
  4. implicit class SimArrayBufferPimper[T] extends AnyRef

    Permalink
  5. implicit class SimBaseTypePimper extends AnyRef

    Permalink

    Add implicit function to BaseType for simulation

  6. implicit class SimBigIntPimper extends AnyRef

    Permalink

    Add implicit function to BigInt

  7. implicit class SimBitVectorPimper extends AnyRef

    Permalink

    Add implicit function to BitVector

  8. implicit class SimBitsPimper extends RandomizableBitVector

    Permalink

    Add implicit function to Bits

  9. implicit class SimBoolPimper extends AnyRef

    Permalink

    Add implicit function to Bool

  10. implicit class SimClockDomainHandlePimper extends SimClockDomainPimper

    Permalink
  11. implicit class SimClockDomainPimper extends AnyRef

    Permalink

    Add implicit function to ClockDomain

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

    Permalink

    Run simulation

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

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

    Permalink

    Add implicit function to Data

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

    Permalink

    Add implicit function to Enum

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

    Permalink

    Add implicit function to UFix/SFix/AFix

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

    Permalink
  18. case class SimMutex(randomized: Boolean = false) extends Product with Serializable

    Permalink
  19. implicit class SimSFixPimper extends SimFix[SFix]

    Permalink
  20. implicit class SimSIntPimper extends RandomizableBitVector

    Permalink

    Add implicit function to SInt

  21. implicit class SimSeqPimper[T] extends AnyRef

    Permalink
  22. implicit class SimUFixPimper extends SimFix[UFix]

    Permalink
  23. implicit class SimUIntPimper extends RandomizableBitVector

    Permalink

    Add implicit function to UInt

  24. class SimVerilatorPhase extends PhaseNetlist

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

    Permalink
  26. 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](), runFlags: 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. 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](), runFlags: 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
  28. class SpinalSimBackendSel extends AnyRef

    Permalink
  29. case class SpinalSimConfig(_workspacePath: String = ..., _workspaceName: String = null, _waveDepth: Int = 0, _spinalConfig: SpinalConfig = SpinalConfig(), _optimisationLevel: Int = 0, _simulatorFlags: ArrayBuffer[String] = ArrayBuffer[String](), _runFlags: 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, _testPath: String = "$WORKSPACE/$COMPILED") extends Product with Serializable

    Permalink

    SpinalSim configuration

  30. 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](), runFlags: 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: ArrayBuffer[String] = ArrayBuffer[String](), elaborateFlags: ArrayBuffer[String] = ArrayBuffer[String](), vcsCC: Option[String] = None, vcsLd: Option[String] = None) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  31. 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, testPath: String) extends Product with Serializable

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

    Permalink
  33. 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
  34. 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 currentTestName(): String

    Permalink
  20. def currentTestPath(): String

    Permalink
  21. def delayed(delay: TimeNumber)(body: ⇒ Unit): Unit

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

    Permalink
  23. def disableSimWave(): Unit

    Permalink
  24. def enableSimWave(): Unit

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

    Permalink

    Fork

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

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

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

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

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

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

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

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

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

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

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

    Permalink

    Set a BigInt value to a BaseType

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

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

    Permalink

    Set a long value to a BaseType

  39. def simCompiled: SimCompiled[_ <: Component]

    Permalink
  40. def simDeltaCycle(): Long

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

    Permalink
  42. def simRandom(implicit simManager: SimManager = sm): Random

    Permalink
  43. def simSuccess(): Nothing

    Permalink

    Success/Failure simulation

  44. def simThread: SimThread

    Permalink
  45. def simTime(): Long

    Permalink

    Return the current simulation time

  46. def sleep(time: TimeNumber): Unit

    Permalink
  47. def sleep(cycles: Double): Unit

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

    Permalink

    Sleep / WaitUntil

  49. def sm: SimManager

    Permalink
  50. def timeToLong(time: TimeNumber): Long

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