Packages

c

spinal.lib.bus.amba4.axis.sim

Axi4StreamSlave

case class Axi4StreamSlave(axis: Axi4Stream, clockDomain: ClockDomain) extends Product with Serializable

Simulation slave for the Axi4Stream bus protocol Axi4Stream.

axis

bus slave to drive

clockDomain

clock domain to sample data on

Example:
  1. SimConfig.compile(new Component {
      val io = new Bundle {
        val axisMaster = master(Axi4Stream(Axi4StreamConfig(32)))
      }
      io.axisMaster.assignDontCare
    }).doSim("sample") { dut =>
      val slave = Axi4StreamSlave(dut.io.axisMaster, dut.clockDomain)
      val data = slave.recv()
    }
Note

The current implementation does not buffer unexpected transactions (i.e. bus activity when no recv has been issued). In some race conditions, this may result in incomplete captures due to the first beats being lost. Consider enqueuing a asynchronous request with the callback interface (recvCB) before issuing the triggering action.

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Axi4StreamSlave
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Axi4StreamSlave(axis: Axi4Stream, clockDomain: ClockDomain)

    create a simulation slave with the given bus instance and clock domain

    create a simulation slave with the given bus instance and clock domain

    axis

    bus slave to drive

    clockDomain

    clock domain to sample data on

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val axis: Axi4Stream
  6. val clockDomain: ClockDomain
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. def recv(): List[Byte]

    Receive synchronously a full transaction from the bus.

  15. def recvCB()(callback: (List[Byte]) ⇒ Unit): Unit

    Receive asynchronously; same as recv, but result is delivered in a callback

  16. def reset(): Unit

    Reset bus slave (dropping all pending transactions)

  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped