Axi5TransportInterface constructor
Constructor.
Implementation
Axi5TransportInterface({
required super.prefix,
required super.main,
this.useCrediting = false,
this.sharedCredits = false,
this.numRp = 0,
}) {
setPorts([
if (!useCrediting) Logic.port('${prefix}READY'),
if (useCrediting && numRp > 0) Logic.port('${prefix}CRDT', numRp),
if (useCrediting && sharedCredits) Logic.port('${prefix}CRDTSH')
], [
if (main) PairDirection.fromConsumer else PairDirection.fromProvider,
]);
setPorts([
if (useCrediting) Logic.port('${prefix}PENDING'),
if (useCrediting && numRp > 0) Logic.port('${prefix}RP', log2Ceil(numRp)),
if (useCrediting && sharedCredits) Logic.port('${prefix}SHAREDCRD')
], [
if (main) PairDirection.fromProvider else PairDirection.fromConsumer,
]);
}