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.
Constructors
- CsrBlockConfig({required String name, required int baseAddr})
- Construct a new block configuration.
Properties
- baseAddr → int
-
Address off of which all register addresses are offset.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- name → String
-
Name for the block.
final
-
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.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
validate(
) → void - Method to validate the configuration of a single register block.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited