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 SimEquiv

    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 SimEquiv

    Permalink

    Add implicit function to Enum

  16. trait SimEquiv extends AnyRef

    Permalink

    Represents the relationship where a SpinalHDL type can be converted to a certain Scala type during simulation and vice-versa.

  17. implicit class SimEquivBitVectorBigIntPimper extends SimEquiv

    Permalink
  18. implicit class SimEquivBitVectorBooleansPimper extends SimEquiv

    Permalink
  19. implicit class SimEquivBitVectorBytesPimper extends SimEquiv

    Permalink
  20. implicit class SimEquivBitVectorLongPimper extends SimEquiv

    Permalink
  21. implicit class SimEquivVecSeqPimper[T <: Data, E] extends SimEquiv

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

    Permalink

    Add implicit function to UFix/SFix/AFix

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

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

    Permalink
  25. implicit class SimSFixPimper extends SimFix[SFix]

    Permalink
  26. implicit class SimSIntPimper extends RandomizableBitVector

    Permalink

    Add implicit function to SInt

  27. implicit class SimSeqPimper[T] extends AnyRef

    Permalink
  28. implicit class SimUFixPimper extends SimFix[UFix]

    Permalink
  29. implicit class SimUIntPimper extends RandomizableBitVector

    Permalink

    Add implicit function to UInt

  30. implicit class SimUnionElementPimper[T <: Data] extends AnyRef

    Permalink
  31. class SimVerilatorPhase extends PhaseNetlist

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

    Permalink
  33. 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(), testPath: String = null) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  34. 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, testPath: String = null) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  35. class SpinalSimBackendSel extends AnyRef

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

  37. 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, testPath: String = null) extends SpinalVpiBackendConfig[T] with Product with Serializable

    Permalink
  38. 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
  39. class SpinalVpiBackendConfig[T <: Component] extends AnyRef

    Permalink
  40. 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
  41. 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 addInputsAssignmentWatch(mod: Module): Unit

    Permalink
  21. def addWatchedSignals(signals: Seq[BaseType]): Unit

    Permalink
  22. def checkInputsAssignmentAfterReset(cd: ClockDomain, stopOnFail: Boolean = false): Unit

    Permalink
  23. def checkWatchedSignalAssigned(): Seq[String]

    Permalink
  24. def currentTestName(): String

    Permalink
  25. def currentTestPath(): String

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

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

    Permalink
  28. def disableSimWave(): Unit

    Permalink
  29. def enableSimWave(): Unit

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

    Permalink

    Fork

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

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

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

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

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

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

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

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

    Permalink
  39. def getForbiddenRandom(): AtomicLong

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

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

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

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

    Permalink

    Set a BigInt value to a BaseType

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

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

    Permalink

    Set a long value to a BaseType

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

    Permalink
  47. def simDeltaCycle(): Long

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

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

    Permalink
  50. def simSuccess(): Nothing

    Permalink

    Success/Failure simulation

  51. def simThread: SimThread

    Permalink
  52. def simTime(): Long

    Permalink

    Return the current simulation time

  53. def sleep(time: TimeNumber): Unit

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

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

    Permalink

    Sleep / WaitUntil

  56. def sm: SimManager

    Permalink
  57. def timePrecision: BigDecimal

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

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