Axi4RequestChannelInterface constructor
Constructor.
Implementation
Axi4RequestChannelInterface({
required super.prefix,
super.idWidth = 4,
super.userWidth = 4,
this.addrWidth = 32,
this.lenWidth = 8,
this.useLock = true,
this.sizeWidth = 3,
this.burstWidth = 2,
this.cacheWidth = 4,
this.protWidth = 3,
this.qosWidth = 4,
this.regionWidth = 4,
}) : super(main: true) {
_validateParameters();
setPorts([
Logic.port('${prefix}ADDR', addrWidth),
if (lenWidth > 0) Logic.port('${prefix}LEN', lenWidth),
if (sizeWidth > 0) Logic.port('${prefix}SIZE', sizeWidth),
if (burstWidth > 0) Logic.port('${prefix}BURST', burstWidth),
if (useLock) Logic.port('${prefix}LOCK'),
if (cacheWidth > 0) Logic.port('${prefix}CACHE', cacheWidth),
Logic.port('${prefix}PROT', protWidth),
if (qosWidth > 0) Logic.port('${prefix}QOS', qosWidth),
if (regionWidth > 0) Logic.port('${prefix}REGION', regionWidth),
], [
PairDirection.fromProvider,
]);
}