CsrBackdoorInterface constructor
- required CsrInstanceConfig config,
Constructs a new interface of specified dataWidth and conditionally instantiates read and writes ports based on hasRead and hasWrite.
Implementation
CsrBackdoorInterface({
required CsrInstanceConfig config,
}) : _config = config.clone(),
dataWidth = config.width,
hasRead = config.isBackdoorReadable,
hasWrite = config.isBackdoorWritable {
if (hasRead) {
setPorts([
Csr(_config),
], [
CsrBackdoorPortGroup.read,
]);
}
if (hasWrite) {
setPorts([
Port('${_config.name}_wrEn'),
Port('${_config.name}_wrData', dataWidth),
], [
CsrBackdoorPortGroup.write,
]);
}
}