You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor Analog ports for compositional passive (#463)
First step and example plan for #114, to move single-circuit ports to a
compositional instead of inheritance model. This changes AnalogSink,
AnalogSource to have an internal `net` sub-port, which is the actual
net.
Introduces an infrastructural HasPassivePort, which effectively fulfills
the same function as (inheritance-based) CirucitPort, but with
composition.
Footprints implicitly understand HasPassivePort and automatically
connect the internal net.
For netlister net naming, the interior net name of ports is pruned out.
Refactors all the adapt_to(Analog*) to create the fully-defined Analog*
port in the wrapper, then connect its net to the internal passive-typed
port. The leftover adapt_to(Analog*) cases are adapting within a block
(eg, to connect to a peer-level sub-block) and cannot be removed. This
probably forms the new recommended practice.
Future PRs:
- Refactor other single-circuit ports
- Migrate uses to get rid of adapt_to
- Remove netlister blocks (NetBlock, CircuitPort, CircuitLink,
CircuitPortBridge) and refactor use sites
- Fully make Passive replace CircuitPort
0 commit comments