Axi4RequestChannelInterface constructor

Axi4RequestChannelInterface({
  1. required String prefix,
  2. int idWidth = 4,
  3. int userWidth = 4,
  4. int addrWidth = 32,
  5. int lenWidth = 8,
  6. bool useLock = true,
  7. int sizeWidth = 3,
  8. int burstWidth = 2,
  9. int cacheWidth = 4,
  10. int protWidth = 3,
  11. int qosWidth = 4,
  12. int regionWidth = 4,
})

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,
  ]);
}