package misc
- Alphabetic
- Public
- Protected
Type Members
- trait AddressMapping extends AnyRef
- trait BusSlaveFactory extends Area
Bus slave factory is a tool that provide an abstract and smooth way to define register bank
- class BusSlaveFactoryAddressWrapper extends BusSlaveFactory
- case class BusSlaveFactoryConfig(wordEndianness: Endianness = LITTLE) extends Product with Serializable
Configuration of the bus Slave Factory
Configuration of the bus Slave Factory
- wordEndianness
Endianness for the multiWrite or multiRead operations
- trait BusSlaveFactoryDelayed extends BusSlaveFactory
BusSlaveFactoryDelayed captures each primitives (BusSlaveFactoryElement) into a data-model
BusSlaveFactoryDelayed captures each primitives (BusSlaveFactoryElement) into a data-model
class Apb3SlaveFactory(bus : Apb3) extends BusSlaveFactoryDelayed{ override def build(): Unit = { ... } override def busDataWidth: Int = bus.config.dataWidth }
Example: - trait BusSlaveFactoryElement extends AnyRef
Base element
- case class BusSlaveFactoryNonStopWrite(that: Data, bitOffset: Int, documentation: String) extends BusSlaveFactoryElement with Product with Serializable
Ask to constantly drive that with the data bus bitOffset specify where that get bits from the request
- case class BusSlaveFactoryOnReadAtAddress(address: AddressMapping, haltSensitive: Boolean, documentation: String, doThat: () => Unit) extends BusSlaveFactoryElement with Product with Serializable
Ask to execute doThat when a read access is done on address
- case class BusSlaveFactoryOnWriteAtAddress(address: AddressMapping, haltSensitive: Boolean, documentation: String, doThat: () => Unit) extends BusSlaveFactoryElement with Product with Serializable
Ask to execute doThat when a write access is done on address
- case class BusSlaveFactoryRead(that: Data, address: AddressMapping, bitOffset: Int, documentation: String) extends BusSlaveFactoryElement with Product with Serializable
Ask to make that readable when an access is done on address bitOffset specify where that is placed on the answer
- case class BusSlaveFactoryWrite(that: Data, address: AddressMapping, bitOffset: Int, documentation: String) extends BusSlaveFactoryElement with Product with Serializable
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 - case class MaskMapping(base: BigInt, mask: BigInt) extends AddressMapping with Product with Serializable
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
- case class SingleMapping(address: BigInt) extends AddressMapping with Product with Serializable
- case class SizeMapping(base: BigInt, size: BigInt) extends AddressMapping with Product with Serializable
Value Members
- object AddressMapping
- object AllMapping extends AddressMapping
- object DefaultMapping extends AddressMapping
- object SizeMapping extends Serializable