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. implicit class SimUnionElementPimper[T <: Data] extends AnyRef

    Permalink
  25. class SimVerilatorPhase extends PhaseNetlist

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

    Permalink
  27. 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, ghdlFlags: GhdlFlags = GhdlFlags()) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  28. 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
  29. class SpinalSimBackendSel extends AnyRef

    Permalink
  30. 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/$TEST", _waveFilePrefix: String = null, _ghdlFlags: GhdlFlags = GhdlFlags()) extends Product with Serializable

    Permalink

    SpinalSim configuration

  31. 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
  32. 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
  33. class SpinalVpiBackendConfig[T <: Component] extends AnyRef

    Permalink
  34. 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
  35. 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 SimUnionElementPimper

    Permalink
  10. object SimWorkspace

    Permalink

    Simulation Workspace

  11. object SpinalGhdlBackend

    Permalink
  12. object SpinalIVerilogBackend

    Permalink
  13. object SpinalSimBackendSel

    Permalink
  14. object SpinalVCSBackend

    Permalink
  15. object SpinalVerilatorBackend

    Permalink
  16. object SpinalVerilatorSim

    Permalink
  17. object SpinalVpiBackend

    Permalink
  18. object SpinalXSimBackend

    Permalink
  19. object TracingOff extends SpinalTag

    Permalink
  20. def currentTestName(): String

    Permalink
  21. def currentTestPath(): String

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

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

    Permalink
  24. def disableSimWave(): Unit

    Permalink
  25. def enableSimWave(): Unit

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

    Permalink

    Fork

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

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

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

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

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

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

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

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

    Permalink
  35. def getForbiddenRandom(): AtomicLong

    Permalink
  36. def hzToLong(hz: HertzNumber): Long

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

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

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

    Permalink

    Set a BigInt value to a BaseType

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

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

    Permalink

    Set a long value to a BaseType

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

    Permalink
  43. def simDeltaCycle(): Long

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

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

    Permalink
  46. def simSuccess(): Nothing

    Permalink

    Success/Failure simulation

  47. def simThread: SimThread

    Permalink
  48. def simTime(): Long

    Permalink

    Return the current simulation time

  49. def sleep(time: TimeNumber): Unit

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

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

    Permalink

    Sleep / WaitUntil

  52. def sm: SimManager

    Permalink
  53. def timePrecision: BigDecimal

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

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