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