CsrBlockConfig class
Definition for a coherent block of registers.
Blocks by definition are instantiations of registers and hence require CsrInstanceConfig objects. This class is also where the choice to instantiate any conditional registers should take place.
- Annotations
Constructors
-
CsrBlockConfig({required String name, required int baseAddr, required List<
CsrInstanceConfig> registers, int? blockSize}) - Construct a new block configuration.
Properties
- baseAddr → int
-
Address off of which all register addresses are offset.
final
- blockSize → int?
-
Optional override for the number of addresses in this block's
address space.
final
- hashCode → int
-
The hash code for this object.
no setter
- name → String
-
Name of the configuration.
finalinherited
-
registers
→ List<
CsrInstanceConfig> -
Registers in this block.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clone(
) → CsrBlockConfig - Deep clone method.
-
getRegisterByAddr(
int addr) → CsrInstanceConfig -
Accessor to the config of a particular register
within the block by relative address
addr. -
getRegisterByName(
String name) → CsrInstanceConfig -
Accessor to the config of a particular register
within the block by name
name. -
maxRegWidth(
) → int - Method to determine the maximum register size. This is important for interface data width validation.
-
minAddrBits(
) → int - Method to determine the minimum number of address bits needed to address all registers in the block. This is based on the maximum register address offset.
-
minBlockSize(
) → int - Returns the minimum block size (number of addresses) needed to cover all registers in this block.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool - The equality operator.