BerkeleyHCI/PolymorphicBlocks

Mixins for links and ports

Opened this issue · 0 comments

Very half-baked idea!

Example application: adding a noise figure to AnalogLink ports and having noise-aware analog devices propagate noise figures. For example, characterizing the noise on the SMU through the measurement chain.

Example application worked out:

  • The noise chain is initialized at the measurement input with zero noise
  • Opamps that are noise-aware might:
    • On analog inputs that don't support noise: either: materialize zero noise, or don't generate a noise output
    • Add the input noise to the device noise to the output
    • Wrappers (eg, Diffamp) would need to account (somehow) for how it transforms noise - possibly by adapting the input and output noise parameters
  • Opamps that are not noise aware would ignore noise on the input ports (they break the noise chain)
    • Wrappers should be smart about propagating noise ... somehow?

Need to figure out how this interacts with the compiler dependency-graph (when generators know when ports are noise-aware). This makes structural port definitions that were previously static more dynamic, much like port-arrays.