diff --git a/viz_submission/index.html b/viz_submission/index.html new file mode 100644 index 0000000..754a9a9 --- /dev/null +++ b/viz_submission/index.html @@ -0,0 +1,512 @@ + + + + + +Dyad CMOS Showcase + + + +
+
Dyad · ModelingToolkit · acausal simulation
+

CMOS Building Blocks, End to End

+

A long-channel EKV MOSFET pair drives a two-stage Miller op-amp, which in turn becomes a + self-running relaxation oscillator. Every curve below is real simulation output from the + compiled Dyad models — no idealized equations, no fitted overlays.

+
+
+
Op-amp open-loop gain
+
Output swing (5 V rail)
+
Oscillator frequency
+
EKV
Single-expression FET model
+
+
+
+ +
+ + +
+
01

The MOSFET models

+

+ NMOS and PMOS use the charge-based EKV formulation: one smooth + expression spans weak, moderate and strong inversion — no operating-region branches. The + output family shows clean saturation; the transfer curves show the continuous + sub-threshold-to-strong transition, with the p-channel scaled by its lower transconductance. +

+
+
+

NMOS output characteristics

+
Drain current vs VDS, stepped gate bias — the classic saturation family
+
+
+
+

Transfer characteristic +

+
ID vs gate drive at VDS = 1 V — NMOS vs PMOS
+
+
+
+
+ NMOS KP = 200 µA/V² + PMOS KP = 70 µA/V² + VT0 = 0.4 V + L = 1 µm + Wright-ω inversion of the EKV charge equation keeps the model finite across the whole + floating-point range. +
+
+ + +
+
02

Two-stage CMOS op-amp

+

+ An NMOS differential pair with a PMOS mirror load feeds a common-source second stage, Miller + compensated. Sized for near-zero systematic offset, it reaches ~90 dB of open-loop gain + and swings nearly rail to rail. Closed as a unity-gain follower it tracks its input to a + fraction of a millivolt. +

+
+
+

Circuit schematic

+
The exact topology of the simulated CMOSOpAmp Dyad component — eight EKV FETs, one resistor, two capacitors, self-biased from the rails
+
+ NMOS + PMOS + node A (stage-1 output) +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VDD + VSS + in − + in + + out + M3 + M4 + M6 + 2 W + M1 + M2 + M5 + M7 + M8 + Rb 220 kΩ + Cc 2 pF + Cl 1 pF + A + + INPUT STAGE + SECOND STAGE + BIAS + +
+ M1/M2 form the differential pair on M5's tail current, loaded by the M3/M4 mirror; stage-1 + output is node A. M6 (sized 2 W for zero systematic offset) drives the output against + the M7 sink, Miller-compensated by Cc. Rb through diode-connected M8 + sets the reference that M5 and M7 mirror — the amplifier biases itself from the rails. + Bulk connections (NMOS→VSS, PMOS→VDD) are omitted for clarity. +
+
+
+

Open-loop transfer (VTC)

+
Output vs differential input — the steep crossover is the DC gain
+
+
+
+

Unity-gain follower tracking

+
Output follows a 50 kHz input about mid-rail
+
+
+
+
+ + +
+
03

Relaxation oscillator

+

+ With positive feedback the op-amp becomes a Schmitt-trigger comparator; an RC on the + inverting input charges and discharges between the trip points, so the loop has no stable + DC state and free-runs. The square-wave output and the exponential capacitor ramp are shown + together — the ramp turns around exactly at the Schmitt thresholds. +

+
+
+

Output square wave & timing-capacitor ramp

+
±2.5 V split supply — free-running, self-starting
+
+ Output (square wave) + Timing cap VC + Schmitt thresholds +
+
+
+
+
+ f ≈ 9.4 kHz + T ≈ 106 µs + β = R₂/(R₁+R₂) ≈ 0.25 + Measured period sits within ~5% of the ideal 2·R·C·ln((1+β)/(1−β)), the gap being the + finite comparator switching speed. +
+
+
+ + + + + + +