intel / rohd

The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.
https://intel.github.io/rohd-website
BSD 3-Clause "New" or "Revised" License
374 stars 67 forks source link

`PairInterface` should enable receiving/driving all sub-interfaces as well #433

Open mkorbel1 opened 11 months ago

mkorbel1 commented 11 months ago

Motivation

When you add a sub-interface to a PairInterface, then if you ever use receiveAll or driveAll, it won't apply to all the subInterfaces. It would be nice if it did (maybe optionally?).

Desired solution

Something sort of like this:

  void receiveOther(PairInterface other, Iterable<PairDirection> tags) {
    super.receiveOther(other, tags);
    subInterfaces.forEach((subIntfName, subIntf) {
      subIntf.receiveOther(other.subInterfaces[subIntfName]!, tags);
    });
  }

Alternatives considered

No response

Additional details

No response