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.
- Annotations
Constructors
-
CsrTopConfig({required String name, required int blockSize, required List<
CsrBlockConfig> blocks}) - Construct a new top level configuration.
Properties
-
blocks
→ List<
CsrBlockConfig> -
Blocks in this module.
final
- blockSize → int
-
Default number of addresses in each block's address space.
final
- hashCode → int
-
The hash code for this object.
no setter
- name → String
-
Name of the configuration.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
blockOffsetWidthForBlock(
CsrBlockConfig block) → int -
Returns the number of address offset bits needed to index within
block, derived from the effective block size. -
blockSizeForBlock(
CsrBlockConfig block) → int -
Returns the effective block size for
block. -
clone(
{String? name, int? blockSize, List< CsrBlockConfig> ? blocks}) → 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 size 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
Operators
-
operator ==(
Object other) → bool - The equality operator.