RegisterFile constructor

RegisterFile(
  1. Logic clk,
  2. Logic reset,
  3. List<DataPortInterface> writePorts,
  4. List<DataPortInterface> readPorts, {
  5. int numEntries = 8,
  6. String name = 'rf',
  7. bool reserveName = false,
  8. bool reserveDefinitionName = false,
  9. String? definitionName,
  10. dynamic resetValue,
})

Constructs a new RF.

MaskedDataPortInterfaces are supported on writePorts, but not on readPorts.

The resetValue follows the semantics of ResettableEntries.

Implementation

RegisterFile(super.clk, super.reset, super.writePorts, super.readPorts,
    {this.numEntries = 8,
    super.name = 'rf',
    super.reserveName,
    super.reserveDefinitionName,
    String? definitionName,
    dynamic resetValue})
    : super(
          definitionName: definitionName ??
              'RegisterFile_WP${writePorts.length}'
                  '_RP${readPorts.length}_E$numEntries') {
  _resetValues = makeResetValues(resetValue,
      numEntries: numEntries, entryWidth: dataWidth);
  _buildLogic();
}