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, bool asyncReset = false})
Construct a new top level configuration.

Properties

asyncReset → bool
Indicates whether the reset signal driving all registers in this module should be treated as an asynchronous reset.
no setter
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, bool? asyncReset}) → 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 highest address reachable in any block (its base address plus its effective size).
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.