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 this.config,
}) : dataWidth = config.width,
hasRead = config.isBackdoorReadable,
hasWrite = config.isBackdoorWritable {
if (hasRead) {
setPorts([
Csr(config),
], [
CsrBackdoorPortGroup.read,
]);
}
if (hasWrite) {
setPorts([
Logic.port('${config.name}_wrEn'),
Logic.port('${config.name}_wrData', dataWidth),
], [
CsrBackdoorPortGroup.write,
]);
}
}