CsrTopConfig class
Definition for a top level module containing CSR blocks.
This class is also where the choice to instantiate any conditional blocks should take place.
Constructors
- CsrTopConfig({required String name, required int blockOffsetWidth})
- Construct a new top level configuration.
Properties
- blockOffsetWidth → int
-
Address bits dedicated to the individual registers.
final
-
blocks
→ List<
CsrBlockConfig> -
Blocks in this module.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- name → String
-
Name for the top module.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clone(
) → CsrTopConfig - Deep clone method.
-
getBlockByAddr(
int addr) → CsrBlockConfig -
Accessor to the config of a particular register block
within the module by relative address
addr
. -
getBlockByName(
String name) → CsrBlockConfig -
Accessor to the config of a particular register block
within the module 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 across all blocks. This is based on the maximum block base address. Note that we independently validate the block offset width relative to the base addresses so we can trust the simpler analysis here.
-
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 register top module.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited