package misc
- Alphabetic
- Public
- All
Type Members
- trait AddressMapping extends AnyRef
-
trait
AddressTransformer extends AnyRef
Model a transformation on a address, typicaly, an address decoder may apply an offset to each of its outputs
-
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 InterleavedMapping(mapping: AddressMapping, blockSize: Int, ratio: Int, sel: Int) extends AddressMapping with Product with Serializable
- case class InterleaverTransformer(blockSize: Int, ratio: Int, sel: Int) extends AddressTransformer with Product with Serializable
- case class InvertMapping(inv: AddressMapping) extends AddressMapping with Product with Serializable
-
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
OffsetTransformer(offset: BigInt) extends AddressTransformer with Product with Serializable
- offset
For instance, if a slave is mapped at address 0x100 of a master => offset = 0x100
- case class OrMapping(conds: Seq[AddressMapping]) extends AddressMapping with Product with Serializable
- case class SingleMapping(address: BigInt) extends AddressMapping with Product with Serializable
- case class SizeMapping(base: BigInt, size: BigInt) extends AddressMapping with Product with Serializable
- case class SizeMappingInterleaved(base: BigInt, size: BigInt, blockSize: Int, pattern: Seq[Boolean]) extends AddressMapping with Product with Serializable
- case class UnmaskMapping(base: BigInt, mask: BigInt) extends AddressMapping with Product with Serializable
Value Members
- object AddressMapping
- object AllMapping extends AddressMapping
- object DefaultMapping extends AddressMapping
- object NeverMapping extends AddressMapping
- object SizeMapping extends Serializable