Bus slave factory is a tool that provide an abstract and smooth way to define register bank
Configuration of the bus Slave Factory
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 }
Base element
Ask to constantly drive that with the data bus bitOffset specify where that get bits from the request
Ask to execute doThat when a read access is done on address
Ask to execute doThat when a write access is done on address
Ask to make that readable when an access is done on address bitOffset specify where that is placed on the answer
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
Configuration of the bus Slave Factory
Endianness for the multiWrite or multiRead operations