Package

spinal.lib.bus

misc

Permalink

package misc

Visibility
  1. Public
  2. All

Type Members

  1. trait AddressMapping extends AnyRef

    Permalink
  2. trait AddressTransformer extends AnyRef

    Permalink

    Model a transformation on a address, typicaly, an address decoder may apply an offset to each of its outputs

  3. trait BusSlaveFactory extends Area

    Permalink

    Bus slave factory is a tool that provide an abstract and smooth way to define register bank

  4. class BusSlaveFactoryAddressWrapper extends BusSlaveFactory

    Permalink
  5. case class BusSlaveFactoryConfig(wordEndianness: Endianness = LITTLE) extends Product with Serializable

    Permalink

    Configuration of the bus Slave Factory

    Configuration of the bus Slave Factory

    wordEndianness

    Endianness for the multiWrite or multiRead operations

  6. trait BusSlaveFactoryDelayed extends BusSlaveFactory

    Permalink

    BusSlaveFactoryDelayed captures each primitives (BusSlaveFactoryElement) into a data-model

    BusSlaveFactoryDelayed captures each primitives (BusSlaveFactoryElement) into a data-model

    Example:
    1. class Apb3SlaveFactory(bus : Apb3) extends BusSlaveFactoryDelayed{
          override def build(): Unit = { ... }
          override def busDataWidth: Int = bus.config.dataWidth
       }
  7. trait BusSlaveFactoryElement extends AnyRef

    Permalink

    Base element

  8. case class BusSlaveFactoryNonStopWrite(that: Data, bitOffset: Int, documentation: String) extends BusSlaveFactoryElement with Product with Serializable

    Permalink

    Ask to constantly drive that with the data bus bitOffset specify where that get bits from the request

  9. case class BusSlaveFactoryOnReadAtAddress(address: AddressMapping, haltSensitive: Boolean, documentation: String, doThat: () ⇒ Unit) extends BusSlaveFactoryElement with Product with Serializable

    Permalink

    Ask to execute doThat when a read access is done on address

  10. case class BusSlaveFactoryOnWriteAtAddress(address: AddressMapping, haltSensitive: Boolean, documentation: String, doThat: () ⇒ Unit) extends BusSlaveFactoryElement with Product with Serializable

    Permalink

    Ask to execute doThat when a write access is done on address

  11. case class BusSlaveFactoryRead(that: Data, address: AddressMapping, bitOffset: Int, documentation: String) extends BusSlaveFactoryElement with Product with Serializable

    Permalink

    Ask to make that readable when an access is done on address bitOffset specify where that is placed on the answer

  12. case class BusSlaveFactoryWrite(that: Data, address: AddressMapping, bitOffset: Int, documentation: String) extends BusSlaveFactoryElement with Product with Serializable

    Permalink

    Ask to make that writable when a access is done on address.

    Ask to make that writable when a access is done on address. bitOffset specify where that get bits from the request

  13. case class InterleavedMapping(mapping: AddressMapping, blockSize: Int, ratio: Int, sel: Int) extends AddressMapping with Product with Serializable

    Permalink
  14. case class InterleaverTransformer(blockSize: Int, ratio: Int, sel: Int) extends AddressTransformer with Product with Serializable

    Permalink
  15. case class InvertMapping(inv: AddressMapping) extends AddressMapping with Product with Serializable

    Permalink
  16. case class MaskMapping(base: BigInt, mask: BigInt) extends AddressMapping with Product with Serializable

    Permalink

    Creates an address mapping using a bit mask.

    Creates an address mapping using a bit mask.

    MaskMapping(0x0000, 0x8000) => matches 0x0000-0x8000 MaskMapping(0x40, 0xF0) => matches 0x40 - 0x4F

    base

    Address offset to use. Must be inside the mask

    mask

    Bit mask applied to the address before the check

  17. case class OffsetTransformer(offset: BigInt) extends AddressTransformer with Product with Serializable

    Permalink

    offset

    For instance, if a slave is mapped at address 0x100 of a master => offset = 0x100

  18. case class OrMapping(conds: Seq[AddressMapping]) extends AddressMapping with Product with Serializable

    Permalink
  19. case class SingleMapping(address: BigInt) extends AddressMapping with Product with Serializable

    Permalink
  20. case class SizeMapping(base: BigInt, size: BigInt) extends AddressMapping with Product with Serializable

    Permalink
  21. case class SizeMappingInterleaved(base: BigInt, size: BigInt, blockSize: Int, pattern: Seq[Boolean]) extends AddressMapping with Product with Serializable

    Permalink
  22. case class UnmaskMapping(base: BigInt, mask: BigInt) extends AddressMapping with Product with Serializable

    Permalink

Value Members

  1. object AddressMapping

    Permalink
  2. object AllMapping extends AddressMapping

    Permalink
  3. object DefaultMapping extends AddressMapping

    Permalink
  4. object NeverMapping extends AddressMapping

    Permalink
  5. object SizeMapping extends Serializable

    Permalink

Ungrouped