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

Type Members

  1. abstract class RandomizableBitVector extends AnyRef
    Attributes
    protected
  2. implicit class SimAFixPimper extends AnyRef
  3. implicit class SimArrayBufferPimper[T] extends AnyRef
  4. implicit class SimBaseTypePimper extends AnyRef

    Add implicit function to BaseType for simulation

  5. implicit class SimBigIntPimper extends AnyRef

    Add implicit function to BigInt

  6. implicit class SimBitVectorPimper extends AnyRef

    Add implicit function to BitVector

  7. implicit class SimBitsPimper extends RandomizableBitVector

    Add implicit function to Bits

  8. implicit class SimBoolPimper extends AnyRef

    Add implicit function to Bool

  9. implicit class SimClockDomainHandlePimper extends SimClockDomainPimper
  10. implicit class SimClockDomainPimper extends AnyRef

    Add implicit function to ClockDomain

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

    Run simulation

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

    Legacy simulation configuration

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

    Add implicit function to Data

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

    Add implicit function to Enum

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

    Add implicit function to UFix/SFix/AFix

  16. implicit class SimMemPimper[T <: Data] extends AnyRef
  17. case class SimMutex(randomized: Boolean = false) extends Product with Serializable
  18. implicit class SimSFixPimper extends SimFix[SFix]
  19. implicit class SimSIntPimper extends RandomizableBitVector

    Add implicit function to SInt

  20. implicit class SimSeqPimper[T] extends AnyRef
  21. implicit class SimUFixPimper extends SimFix[UFix]
  22. implicit class SimUIntPimper extends RandomizableBitVector

    Add implicit function to UInt

  23. class SimVerilatorPhase extends PhaseNetlist
  24. implicit class SimpComponentPimper[T <: Component] extends AnyRef
  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](), 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
  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](), 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
  27. class SpinalSimBackendSel extends AnyRef
  28. case class SpinalSimConfig(_workspacePath: String = System.getenv().getOrDefault("SPINALSIM_WORKSPACE","./simWorkspace"), _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) extends Product with Serializable

    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](), 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
  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
  31. class SpinalVpiBackendConfig[T <: Component] extends AnyRef
  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
  33. class SwapTagPhase extends PhaseNetlist

    Swap all oldTag with newTag

Value Members

  1. def SimConfig: SpinalSimConfig
  2. def currentTestName(): String
  3. def delayed(delay: TimeNumber)(body: => Unit): Unit
  4. def delayed(delay: Long)(body: => Unit): Unit
  5. def disableSimWave(): Unit
  6. def enableSimWave(): Unit
  7. def fork(body: => Unit): SimThread

    Fork

  8. def forkJoin(bodys: () => Unit*): Unit
  9. def forkSensitive(trigger: => Any)(block: => Unit): Unit
  10. def forkSensitive(triggers: Data)(block: => Unit): Unit
  11. def forkSensitive(block: => Unit): Unit
  12. def forkSensitive2(triggers: Data*)(block: => Unit): Unit
  13. def forkSensitiveWhile(block: => Boolean): Unit
  14. def forkSimSporadicWave(captures: Seq[(Double, Double)], enableTime: Double = 1e-7, disableTime: Double = 1e-4, timeUnit: Double = 1e12): Unit
  15. def getBigInt[T <: Data](mem: Mem[T], address: Long): BigInt
  16. def onSimEnd(body: => Unit): Unit
  17. def periodicaly(delay: Long)(body: => Unit): Unit
  18. def setBigInt(bt: BaseType, value: BigInt): Unit

    Set a BigInt value to a BaseType

  19. def setBigInt[T <: Data](mem: Mem[T], address: Long, data: BigInt): Unit
  20. def setLong(bt: BaseType, value: Long): Unit

    Set a long value to a BaseType

  21. def simDeltaCycle(): Long
  22. def simFailure(message: String = ""): Nothing
  23. def simRandom(implicit simManager: SimManager = sm): Random
  24. def simSuccess(): Nothing

    Success/Failure simulation

  25. def simThread: SimThread
  26. def simTime(): Long

    Return the current simulation time

  27. def sleep(time: TimeNumber): Unit
  28. def sleep(cycles: Double): Unit
  29. def sleep(cycles: Long): Unit

    Sleep / WaitUntil

  30. def sm: SimManager
  31. def timeToLong(time: TimeNumber): Long
  32. def waitUntil(cond: => Boolean): Unit
  33. object DoClock

    Generate a clock

  34. object DoReset

    Execute a reset sequence

  35. object ForkClock

    Fork the DoClock

  36. object SimPublic extends SpinalTag

    Tag SimPublic

  37. object SimSpeedPrinter

    Print the simulation speed

  38. object SimStatics
  39. object SimTimeout

    Create a Timeout for the simulation

  40. object SimWorkspace

    Simulation Workspace

  41. object SpinalGhdlBackend
  42. object SpinalIVerilogBackend
  43. object SpinalSimBackendSel
  44. object SpinalVCSBackend
  45. object SpinalVerilatorBackend
  46. object SpinalVerilatorSim
  47. object SpinalVpiBackend
  48. object SpinalXSimBackend
  49. object TracingOff extends SpinalTag

Deprecated Value Members

  1. def SimConfig[T <: Component](rtl: SpinalReport[T]): SimConfigLegacy[T]
    Annotations
    @deprecated
    Deprecated

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

  2. def SimConfig[T <: Component](rtl: => T): SimConfigLegacy[T]
    Annotations
    @deprecated
    Deprecated

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

Inherited from AnyRef

Inherited from Any

Ungrouped