LtiLrChannelInterface constructor
- required LtiLrChannelConfig config,
- int vcCount = 1,
- bool debugMixInEnable = false,
- bool idMixInEnable = false,
- bool userMixInEnable = false,
Constructor.
Implementation
LtiLrChannelInterface({
required LtiLrChannelConfig config,
super.vcCount = 1,
this.debugMixInEnable = false,
this.idMixInEnable = false,
this.userMixInEnable = false,
}) : userWidth = config.userWidth,
idWidth = config.idWidth,
useIdUnq = false,
addrWidth = config.addrWidth,
protWidth = 0,
rmeSupport = false,
instPrivPresent = false,
pasWidth = config.pasWidth,
loopWidth = config.loopWidth,
tracePresent = false,
respWidth = 3,
useBusy = false,
mpamWidth = config.mpamWidth,
mecIdWidth = config.mecIdWidth,
ctagWidth = config.ctagWidth,
super(
prefix: 'LR',
main: false,
) {
setPorts([
Logic.port('${prefix}ADDR', addrWidth),
Logic.port('${prefix}CTAG', ctagWidth),
Logic.port('${prefix}ATTR', 4),
Logic.port('${prefix}HWATTR', 4),
if (mpamWidth > 0) Logic.port('${prefix}MPAM', mpamWidth),
if (mecIdWidth > 0) Logic.port('${prefix}MECID', mecIdWidth),
Logic.port('${prefix}SIZE', 6),
], [
PairDirection.fromConsumer,
]);
makeResponsePorts();
makeProtPorts();
if (userMixInEnable) {
makeUserPorts();
}
if (idMixInEnable) {
makeIdPorts();
}
if (debugMixInEnable) {
makeDebugPorts();
}
}